@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
/* NDKA / EDITORIAL RE-DIRECTION — a deliberate synthesis of clean agency structure,
   oversized editorial typography, real portfolio imagery, and expressive poster systems. */
:root{
  --ink:#11110f;--ink2:#24231f;--cream:#f4f1eb;--paper:#fffefa;
  --copper:#f5675d;--copper2:#ff9c7a;--line:rgba(0,0,0,.2);--muted:#525149;
  --shadow:none;--wide:1380px;
  --ed-coral:#ff6f63;--ed-lilac:#d8c9fc;--ed-lemon:#eafa8a;--ed-blue:#3249da;--ed-white:#fffefa;
  --ed-font-display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --ed-font-body:'DM Sans',Arial,Helvetica,sans-serif;
}
html{scroll-behavior:smooth} body{font-family:var(--ed-font-body);color:var(--ink);background:var(--cream);line-height:1.55;overflow-x:hidden}
.container{width:min(var(--wide),calc(100% - 74px))}
h1,h2,h3,.serif{font-family:var(--ed-font-display);font-weight:800;letter-spacing:-.025em;line-height:.97}
h1{font-size:clamp(4.8rem,9vw,10rem);max-width:none}h2{font-size:clamp(3.2rem,5.7vw,6.75rem)}h3{font-size:clamp(1.8rem,2.8vw,3rem)}
p{max-width:79ch} .muted{color:#56534d} .eyebrow,.overline,.number,.pw-kicker{font-family:var(--ed-font-body);font-size:.69rem;letter-spacing:.14em;font-weight:800;text-transform:uppercase;color:inherit}
.btn,.btn:visited{border-radius:0;background:var(--ink);border:2px solid var(--ink);color:#fff;font-family:var(--ed-font-body);font-size:.75rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;min-height:54px;padding:15px 21px;box-shadow:none}
.btn:hover{background:var(--ed-coral);border-color:var(--ed-coral);color:#111;transform:translateY(-2px)}
.btn.line{background:transparent;color:var(--ink)}.btn.line:hover{background:var(--ink);color:white}
.btn.light,.btn.light:visited{background:var(--ed-white);color:var(--ink);border-color:var(--ed-white)}
.btn.light:hover{background:var(--ed-lilac);border-color:var(--ed-lilac)}
.inline-link{color:var(--ink);font-weight:800;text-decoration-color:var(--ed-coral);text-underline-offset:6px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2549e9;outline-offset:4px}
.site-header{background:rgba(255,254,250,.97);border-bottom:1px solid var(--ink);backdrop-filter:blur(16px);position:sticky;top:0;z-index:100}
.head-inner{min-height:84px;gap:20px}.wordmark{font-family:var(--ed-font-display);font-weight:900;font-size:2.7rem;letter-spacing:-.035em;line-height:.7}
.wordmark span{font:800 .57rem var(--ed-font-body);letter-spacing:.16em;line-height:1.2;margin-left:12px;color:#68635c;vertical-align:middle}
.nav{gap:clamp(12px,2vw,29px)}.nav a{font-family:var(--ed-font-body);font-size:.72rem;letter-spacing:.075em;text-transform:uppercase;font-weight:800;text-decoration:none;white-space:nowrap}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--ed-coral);text-decoration-thickness:3px;text-underline-offset:10px}
.nav a.btn,.nav a.btn:visited{background:var(--ed-coral);color:var(--ink);border:2px solid var(--ed-coral);padding:13px 16px;font-size:.71rem;min-height:46px}
.nav a.btn:hover{background:var(--ink);color:var(--ed-white);border-color:var(--ink);text-decoration:none}
.mobile-menu{font-family:var(--ed-font-display);font-size:1.6rem;color:var(--ink);cursor:pointer}
.footer{background:#101010;color:var(--ed-white);padding:72px 0 48px;border-top:10px solid var(--ed-coral);position:relative}
.footer-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:45px}
.footer-grid::before{content:'PEOPLE  BEFORE  PRODUCTS.';font-family:var(--ed-font-display);font-size:clamp(3.8rem,10vw,11rem);font-weight:900;letter-spacing:-.04em;line-height:.82;grid-column:1/-1;margin-bottom:28px;max-width:100%;overflow-wrap:anywhere}
.footer a,.footer p{color:#f3f0ea}.footer p{font-size:.8rem;line-height:1.65}.footer nav{justify-content:flex-end;gap:12px 21px}.footer nav a{font-size:.74rem;text-transform:uppercase;font-weight:700;letter-spacing:.07em;text-decoration:none}.footer nav a:hover{text-decoration:underline;text-underline-offset:5px}
.footer .wordmark{font-size:3rem;color:var(--ed-white)!important}
/* Reusable editorial pieces */
.ed-kicker{font-family:var(--ed-font-body);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.ed-kicker .ed-square{display:inline-block;width:10px;height:10px;background:var(--ed-coral);margin-right:9px}
.ed-mini{font-family:var(--ed-font-body);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;line-height:1.35}
.ed-display{font-family:var(--ed-font-display);font-size:clamp(4.6rem,10.4vw,11.5rem);font-weight:900;letter-spacing:-.035em;line-height:.79;margin:0;text-transform:uppercase}
.ed-display em{font-style:normal;color:var(--ed-coral)}
.ed-coral{color:var(--ed-coral)}.ed-lilac{color:var(--ed-lilac)}
.ed-jump{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ink);color:#fff;font-size:1.2rem;border-radius:50%;margin-left:9px;font-family:Arial,sans-serif;line-height:1}
.ed-button{display:inline-flex;gap:25px;align-items:center;justify-content:space-between;border:2px solid #131311;text-decoration:none;font-size:.74rem;letter-spacing:.08em;font-weight:800;text-transform:uppercase;line-height:1.1;min-height:58px;padding:18px 21px;transition:background .2s ease,color .2s ease,transform .2s ease}
.ed-button:hover{transform:translateY(-3px)}.ed-button--dark{background:var(--ink);color:#fff}.ed-button--dark:hover{background:var(--ed-coral);color:var(--ink)}.ed-button--clear{background:transparent;color:var(--ink)}.ed-button--clear:hover{background:var(--ink);color:#fff}.ed-button--coral{background:var(--ed-coral);color:#111}.ed-button--coral:hover{background:var(--ed-lilac)}
/* 01 HOME — editorial masthead */
.ed-home-masthead{background:var(--ed-white);padding:32px 0 38px;overflow:hidden}
.ed-masthead-meta{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:2px solid var(--ink);padding-bottom:17px}
.ed-masthead-grid{display:grid;grid-template-columns: minmax(0,1.2fr) minmax(310px,.8fr);gap:clamp(28px,4vw,68px);padding-top:45px;align-items:stretch}
.ed-hero-copy{display:flex;flex-direction:column;min-width:0}.ed-hero-copy h1{font-family:var(--ed-font-display);font-size:clamp(6rem,10.4vw,11.8rem);line-height:.79;letter-spacing:-.042em;text-transform:uppercase;font-weight:900;max-width:none;margin:45px 0 34px}
.ed-hero-copy h1 span{color:var(--ed-coral)}.ed-hero-copy h1 .ed-word-underline{color:var(--ink);background:linear-gradient(transparent 79%,var(--ed-lilac) 79%)}
.ed-hero-bottom{margin-top:auto;display:grid;grid-template-columns: minmax(0,1fr) auto;gap:25px;align-items:end}
.ed-hero-bottom p{font-size:clamp(1.03rem,1.5vw,1.22rem);font-weight:600;line-height:1.5;max-width:480px;margin:0}
.ed-hero-bottom .ed-link-round{width:83px;height:83px;border:2px solid #111;border-radius:50%;display:grid;place-items:center;font-size:2.15rem;color:#111;text-decoration:none;transition:transform .2s,background .2s}.ed-hero-bottom .ed-link-round:hover{background:var(--ed-lilac);transform:rotate(-45deg)}
.ed-hero-media{display:flex;flex-direction:column;min-width:0}.ed-hero-visual{position:relative;min-height:580px;flex:1;background:var(--ed-lilac);overflow:hidden}
.ed-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;filter:contrast(1.07) saturate(.92)}
.ed-photo-mark{position:absolute;right:-1px;top:0;background:var(--ed-coral);color:var(--ink);font-family:var(--ed-font-display);font-weight:900;font-size:clamp(2.1rem,4.2vw,4.7rem);letter-spacing:-.025em;line-height:.86;padding:18px 20px 20px;max-width:255px;transform:rotate(0deg)}
.ed-photo-bottom{position:absolute;left:0;right:0;bottom:0;padding:14px 17px;display:flex;justify-content:space-between;gap:14px;color:#fff;background:rgba(0,0,0,.83);font-size:.67rem;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
.ed-photo-caption{display:flex;justify-content:space-between;gap:17px;padding-top:12px}
.ed-photo-caption span:last-child{text-align:right}
.ed-running-strip{background:var(--ink);color:#fff;padding:17px 0;border-block:2px solid var(--ink);overflow:hidden}
.ed-running-strip p{margin:0;white-space:nowrap;max-width:none;font-family:var(--ed-font-display);font-size:clamp(1.55rem,3vw,3rem);font-weight:900;letter-spacing:.03em;line-height:1.05;word-spacing:.18em}
.ed-running-strip b{color:var(--ed-coral)}
.ed-lead-in{padding:112px 0 105px;background:var(--ed-lilac)}
.ed-lead-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:5vw;align-items:end}
.ed-lead-grid h2{font-size:clamp(4.3rem,8.1vw,8.9rem);line-height:.85;text-transform:uppercase;margin:15px 0 0;font-weight:900;letter-spacing:-.035em}
.ed-lead-grid h2 span{color:var(--ed-blue)}
.ed-lead-grid p{font-size:1.13rem;font-weight:600;max-width:390px;line-height:1.6}.ed-lead-grid .ed-side-no{font-family:var(--ed-font-display);font-size:5rem;line-height:.9;font-weight:900;margin-bottom:23px}
.ed-work-showcase{background:var(--ed-white);padding:112px 0}
.ed-section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:45px}
.ed-section-head h2{font-size:clamp(4.5rem,8.2vw,9.1rem);line-height:.86;text-transform:uppercase;letter-spacing:-.03em;margin:13px 0 0}
.ed-section-head>p{max-width:380px;font-size:1rem;line-height:1.55;font-weight:600;margin:0}
.ed-feature-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.ed-feature{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;min-width:0;transition:transform .2s}
.ed-feature:hover{transform:translateY(-5px)}
.ed-feature:nth-child(1){grid-column:span 5}.ed-feature:nth-child(2){grid-column:span 7}.ed-feature:nth-child(3){grid-column:span 12}
.ed-feature-art{position:relative;min-height:390px;overflow:hidden;background:var(--ed-lilac)}
.ed-feature:nth-child(3) .ed-feature-art{min-height:330px}
.ed-feature-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .35s}
.ed-feature:hover img{transform:scale(1.05)}
.ed-feature-art--core{background:var(--ed-coral);padding:25px;display:flex;flex-direction:column;justify-content:space-between}
.ed-feature-art--core .ed-giant{font:900 clamp(9.5rem,17vw,20rem)/.75 var(--ed-font-display);letter-spacing:-.055em;color:var(--ink)}
.ed-feature-art--core .ed-poster-note{font:900 clamp(1.8rem,3vw,3.9rem)/.9 var(--ed-font-display);letter-spacing:-.03em;text-transform:uppercase}
.ed-feature-art--centennial{background:var(--ed-lemon);display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:30px;padding:20px 30px}
.ed-feature-art--centennial img{position:relative;height:auto;max-height:275px;object-fit:contain;max-width:100%;background:transparent}
.ed-feature-art--centennial .ed-poster-note{font:900 clamp(2.2rem,4.6vw,5.6rem)/.86 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.035em}
.ed-feature-corner{position:absolute;top:13px;left:13px;z-index:2;background:#111;color:white;padding:9px 11px;font-size:.65rem;letter-spacing:.1em;font-weight:800;text-transform:uppercase}
.ed-feature-foot{border-top:2px solid var(--ink);display:grid;grid-template-columns:1fr auto;align-items:start;gap:18px;padding:20px 0 5px}
.ed-feature-foot h3{font:900 clamp(2.5rem,3.9vw,4.7rem)/.94 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.035em;margin:2px 0 9px}
.ed-feature-foot p{font-size:.8rem;letter-spacing:.07em;font-weight:700;text-transform:uppercase;margin:0}
.ed-feature-foot span{font-size:2rem}
.ed-section-end{margin-top:46px;text-align:right}
.ed-services{padding:115px 0 124px;background:var(--ed-lemon)}
.ed-services .ed-section-head{align-items:end}.ed-services .ed-section-head h2{font-size:clamp(4.2rem,8.9vw,10rem)}
.ed-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--ink);gap:0}
.ed-offer{background:var(--ed-white);display:flex;flex-direction:column;padding:26px 27px 30px;min-height:435px;border-right:2px solid var(--ink)}.ed-offer:last-child{border-right:0}.ed-offer:nth-child(2){background:var(--ed-lilac)}
.ed-offer-number{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #111;padding-bottom:16px;margin-bottom:29px}
.ed-offer h3{font:900 clamp(3rem,4vw,4.9rem)/.86 var(--ed-font-display);letter-spacing:-.03em;text-transform:uppercase;margin:0 0 20px}
.ed-offer p{font-size:.91rem;line-height:1.6}.ed-offer .ed-cost{font:900 clamp(4.5rem,6.2vw,7rem)/.85 var(--ed-font-display);letter-spacing:-.035em;margin-top:auto;margin-bottom:18px}
.ed-offer .ed-button{align-self:stretch}
.ed-method{padding:120px 0;background:#111;color:var(--ed-white)}
.ed-method .ed-section-head h2{color:var(--ed-white)}.ed-method .ed-section-head>p{color:#dedcd7}
.ed-method-row{display:grid;grid-template-columns:100px 1.15fr 1.15fr 40px;gap:24px;align-items:center;border-top:1px solid #62625b;min-height:110px;padding:15px 0}
.ed-method-row:last-child{border-bottom:1px solid #62625b}.ed-method-row strong{font:900 clamp(2.5rem,4.7vw,5.8rem)/.9 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.025em}.ed-method-row span{font-family:var(--ed-font-display);font-weight:900;font-size:2.5rem;color:var(--ed-coral)}.ed-method-row p{font-size:.92rem;line-height:1.5;margin:0;color:#e2dfd8}.ed-method-row .ed-arrow{text-align:right;color:var(--ed-lilac);font-size:1.5rem}
.ed-home-cta{background:var(--ed-coral);padding:120px 0 125px}
.ed-home-cta h2{font:900 clamp(5rem,12vw,13rem)/.8 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.04em;margin:24px 0 45px;max-width:1200px}
.ed-home-cta h2 em{font-style:normal;color:var(--ed-white)}
.ed-home-cta-row{display:flex;justify-content:space-between;align-items:end;gap:30px}.ed-home-cta-row p{max-width:580px;font-weight:700;font-size:1.2rem}
/* 02 WORK — editorial art direction, original content intact */
.pw-hero{background:var(--ed-white);color:var(--ink);padding:39px 0 65px;border-bottom:2px solid var(--ink)}
.pw-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(25px,5vw,75px);align-items:stretch}
.pw-hero h1{font:900 clamp(5.2rem,9vw,10.7rem)/.8 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.038em;margin:65px 0 33px}
.pw-hero h1 em{font-style:normal;color:var(--ed-blue)}
.pw-hero .pw-lede{font:600 clamp(.97rem,1.4vw,1.1rem)/1.57 var(--ed-font-body);color:var(--ink);max-width:690px}
.pw-kicker-light{color:var(--ink)}
.pw-hero .pw-actions{margin-top:35px}
.pw-hero .pw-actions .btn.light{background:var(--ink);color:#fff;border-color:var(--ink)}
.pw-hero .pw-actions .btn.light:hover{background:var(--ed-coral);color:var(--ink);border-color:var(--ed-coral)}
.pw-hero .pw-actions .pw-btn-outline{color:var(--ink)!important;border-color:var(--ink)!important}
.pw-hero-aside{height:auto;min-height:610px;background:var(--ed-coral);color:var(--ink);display:flex;flex-direction:column;padding:0;overflow:hidden;position:relative;border:0;box-shadow:none}
.pw-hero-aside:before{content:'';display:block;flex:1;min-height:400px;background:url('/assets/editorial/community-team.webp') center 43% /cover no-repeat;filter:saturate(.93)}
.pw-hero-aside>span:first-child{position:absolute;left:0;top:0;background:var(--ink);color:#fff;padding:12px 16px;font:800 .67rem var(--ed-font-body);letter-spacing:.12em;z-index:2}
.pw-hero-aside-typography{position:relative;display:flex;flex-direction:row;gap:4px;flex-wrap:wrap;align-items:end;justify-content:space-between;padding:14px 18px;background:var(--ed-lilac);font-family:var(--ed-font-display);font-weight:900;font-size:clamp(1.6rem,2.55vw,3.3rem);line-height:.92;text-transform:uppercase;letter-spacing:-.018em}
.pw-hero-aside-typography strong{font-weight:900;color:var(--ink)}.pw-hero-aside-typography span{color:var(--ink)}
.pw-hero-aside>span:last-child{padding:12px 17px;background:var(--ink);color:#fff;font-size:.72rem;letter-spacing:.1em;font-weight:800;text-transform:uppercase;margin:0}
.pw-proof{background:var(--ink);color:var(--ed-white);padding:85px 0 95px}
.pw-proof .pw-kicker{color:var(--ed-lilac)}
.pw-proof h2{color:var(--ed-white);font:900 clamp(3.9rem,6.1vw,7rem)/.87 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.035em;max-width:1000px}
.pw-proof-intro{color:#dddcd7;font-size:1rem;line-height:1.6}
.pw-proof-grid{gap:0;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #77776d;margin-top:37px}
.pw-proof-grid>div{padding:25px 24px 30px 0;border-right:1px solid #77776d;margin:0}
.pw-proof-grid>div:not(:first-child){padding-left:25px}
.pw-proof-grid>div:last-child{border-right:0}
.pw-proof-grid strong{font:900 clamp(3.6rem,6.5vw,7.2rem)/.89 var(--ed-font-display);letter-spacing:-.03em;color:var(--ed-coral)}
.pw-proof-grid span{color:var(--ed-white);font-size:.84rem;line-height:1.5}
.pw-feature-section{padding:110px 0 105px;background:var(--ed-white)}
.pw-section-intro h2{font:900 clamp(4.4rem,7vw,8.5rem)/.86 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.035em}
.pw-section-intro p{font-weight:600;font-size:1rem;max-width:760px}
.pw-featured-story{padding:36px 0 50px;gap:36px;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);border-top:2px solid var(--ink)}
.pw-featured-story:nth-child(even) .pw-featured-visual{order:1}
.pw-featured-story:nth-child(even) .pw-featured-copy{order:2}
.pw-featured-visual .pw-thumbnail{aspect-ratio:1.28;min-height:390px;border:none}
.pw-featured-story:nth-child(1) .pw-featured-visual .pw-thumbnail{background:var(--ed-coral)}
.pw-featured-story:nth-child(2) .pw-featured-visual .pw-thumbnail{background:var(--ed-lilac)}
.pw-featured-story:nth-child(3) .pw-featured-visual .pw-thumbnail{background:var(--ed-lemon)}
.pw-featured-visual .pw-thumbnail-type:after,.pw-thumbnail-type:after{display:none}
.pw-featured-visual .pw-thumbnail-type strong{font:900 clamp(10rem,16vw,18rem)/.73 var(--ed-font-display);letter-spacing:-.05em;color:var(--ink)}
.pw-featured-visual .pw-thumbnail-type .pw-thumb-sub{font:900 clamp(2.2rem,3.3vw,4.4rem)/.9 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.02em;color:var(--ink);opacity:1}
.pw-featured-visual .pw-thumbnail-type .pw-thumb-label{color:var(--ink);opacity:1}
.pw-featured-visual .pw-media-tag,.pw-media-tag{background:#111;color:#fff;letter-spacing:.12em;border-radius:0}
.pw-featured-copy{padding:9px 0}
.pw-featured-copy h3{font:900 clamp(3.1rem,4.2vw,5.1rem)/.91 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.025em}
.pw-featured-copy .pw-kicker{color:#413d37}.pw-featured-copy p{color:#383631;line-height:1.65;font-size:.92rem}
.pw-featured-result{background:var(--ed-lilac);border:0;padding:15px 17px;margin:25px 0 19px}
.pw-featured-result span{font-size:.66rem;color:#111}.pw-featured-result strong{font:900 clamp(2rem,2.8vw,3.3rem)/.9 var(--ed-font-display);text-transform:uppercase}
.pw-text-link{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration-color:var(--ed-coral);text-decoration-thickness:2px;text-underline-offset:7px}
.pw-gallery-section{background:var(--ed-lilac);padding:104px 0 120px}
.pw-filters{gap:8px;border-bottom:2px solid var(--ink);padding-bottom:22px}
.pw-filter{border:2px solid var(--ink);color:var(--ink);background:transparent;padding:12px 16px;font:800 .66rem var(--ed-font-body);letter-spacing:.07em}
.pw-filter[aria-pressed=true],.pw-filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pw-filter-status{font-size:.77rem;color:#24211d;font-weight:700}
.pw-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pw-project{border:2px solid var(--ink);background:var(--ed-white);box-shadow:7px 7px 0 #111;transition:transform .2s,box-shadow .2s}
.pw-project:hover{transform:translateY(-5px);box-shadow:11px 11px 0 #111}
.pw-project:nth-child(4n+1){background:var(--ed-white)}.pw-project:nth-child(4n+2){background:var(--ed-lemon)}.pw-project:nth-child(4n+3){background:#ffd2c9}.pw-project:nth-child(4n){background:#d7f1ed}
.pw-project-link:hover h3{text-decoration:none}
.pw-thumbnail{background:var(--ed-white);aspect-ratio:1.3;border-bottom:2px solid var(--ink)}
.pw-thumbnail img{object-fit:cover}.pw-thumbnail-type{background:var(--ed-coral)!important;padding:25px 22px;color:var(--ink)}
.pw-project:nth-child(4n+2) .pw-thumbnail-type{background:var(--ed-lemon)!important}.pw-project:nth-child(4n+3) .pw-thumbnail-type{background:var(--ed-lilac)!important}.pw-project:nth-child(4n) .pw-thumbnail-type{background:#89dac7!important}
.pw-thumbnail-type .pw-thumb-label{color:var(--ink);opacity:1}
.pw-thumbnail-type strong{font:900 clamp(5rem,8vw,9rem)/.78 var(--ed-font-display);letter-spacing:-.035em;text-transform:uppercase;color:var(--ink)}
.pw-thumbnail-type .pw-thumb-sub{color:var(--ink);font-size:.83rem;font-weight:800;opacity:1;text-transform:uppercase;max-width:210px}
.pw-project-content{padding:20px 22px 22px}.pw-project-content h3{font:900 clamp(2.35rem,3.1vw,3.9rem)/.94 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.03em;margin:17px 0 13px}
.pw-project-content p{color:#222;font-size:.86rem;line-height:1.5}
.pw-card-meta{color:#23211e;font-size:.61rem}
.pw-card-foot{border-top:1px solid #111;text-transform:uppercase;font-size:.65rem;letter-spacing:.07em}
.pw-card-foot span:last-child{color:#111;background:var(--ed-coral);border-radius:50%;width:32px;height:32px;display:grid;place-items:center}
.pw-more-wrap .btn{background:#111;color:white}
.pw-supporting{background:var(--ed-white);padding:95px 0}.pw-supporting h2{font:900 clamp(3.6rem,6vw,7rem)/.85 var(--ed-font-display);text-transform:uppercase}
.pw-support-grid>div{background:var(--ed-lemon);padding:35px;border-top:2px solid #111}.pw-support-grid>div:nth-child(2){background:var(--ed-coral)}.pw-support-grid h3{font:900 2.8rem/.94 var(--ed-font-display);text-transform:uppercase}
.pw-method{background:#111;padding:108px 0;color:white}.pw-method h2{font:900 clamp(4rem,7vw,8rem)/.87 var(--ed-font-display);text-transform:uppercase}.pw-method-grid>div span{color:var(--ed-coral)}
.pw-cta{background:var(--ed-coral);padding:115px 0;color:#111}.pw-cta h2{font:900 clamp(4.2rem,8vw,9.4rem)/.83 var(--ed-font-display);text-transform:uppercase}.pw-cta h2 em{font-style:normal;color:var(--ed-white)}.pw-cta p{color:#1f1f1f;font-weight:600}
.pw-cta .pw-btn-outline{color:#111!important;border-color:#111!important}
.pw-disclosure{background:#f4f1eb}
/* Individual case studies: full editorial type and image-gallery layouts */
.pw-case-hero{padding:42px 0 78px;background:var(--ed-white);border-bottom:9px solid var(--ed-coral)}
.pw-breadcrumb{font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3f3c37}
.pw-case-hero h1{font:900 clamp(4.5rem,8vw,10.8rem)/.86 var(--ed-font-display);letter-spacing:-.035em;text-transform:uppercase;max-width:1220px}
.pw-case-hero .pw-lede{font:600 1.13rem/1.5 var(--ed-font-body);color:#292620;max-width:740px}
.pw-case-meta{border-top:2px solid var(--ink);grid-template-columns:1fr 1fr 1fr}
.pw-case-meta>span{color:#333}.pw-case-meta strong{color:#1a1917}
.pw-case-main{background:#f5f1e9;padding:102px 0}.pw-case-story section{border-bottom:2px solid #1a1918}
.pw-case-story h2{font:900 clamp(3.6rem,5.1vw,6.5rem)/.9 var(--ed-font-display);text-transform:uppercase}
.pw-case-story p{color:#2c2b28;font-size:1.02rem;line-height:1.78}
.pw-case-aside{top:113px}.pw-case-gallery{gap:17px}.pw-image-frame{background:#fff;border:2px solid #111}.pw-image-frame figcaption{background:#f4f1e9;color:#302d28;font-size:.74rem;font-weight:600}
.pw-case-art{background:var(--ed-lilac)!important;color:#111}
.pw-case-art strong{font:900 clamp(5rem,8vw,8.5rem)/.8 var(--ed-font-display);color:#111}
.pw-case-context{background:var(--ed-lilac);padding:56px 0}.pw-case-context h2{font:900 3.8rem/.88 var(--ed-font-display);text-transform:uppercase}.pw-case-context p{color:#28251f}
.pw-next-case{background:#111;color:#fff}.pw-next-case h2{font:900 clamp(3.3rem,5vw,5.7rem)/.86 var(--ed-font-display);text-transform:uppercase}
/* Supporting service, about, booking, and policy pages */
.page-top{padding:95px 0 85px;background:var(--ed-lilac);border-bottom:3px solid var(--ink)}
.page-top h1{font:900 clamp(4.6rem,8vw,9.5rem)/.84 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.035em}
.page-top p{font-weight:600;color:#28251f;max-width:730px}
.section{padding:96px 0}.section-small{padding:65px 0}.section-white{background:var(--ed-white)}.section-dark{background:#111;color:white}
.section h2,.section-small h2{font:900 clamp(3.5rem,5.7vw,6.5rem)/.9 var(--ed-font-display);text-transform:uppercase;letter-spacing:-.02em}
.section-dark p{color:#f3f1e8}
.offer{background:var(--ed-white);border:2px solid var(--ink);padding:27px 27px 30px;box-shadow:7px 7px 0 #111}
.offer.featured{border:2px solid var(--ink);background:var(--ed-lilac)}
.offer:nth-child(3n){background:#ecfaab}
.offer h3{font:900 clamp(2.6rem,3.8vw,4.5rem)/.9 var(--ed-font-display);text-transform:uppercase}
.offer .price{font:900 clamp(4rem,5.5vw,6rem)/.85 var(--ed-font-display)}
.offer p,.offer ul{color:#333}
.step strong{font:900 2.5rem/.95 var(--ed-font-display);text-transform:uppercase}
.pullquote,.quote blockquote{font:900 clamp(2.4rem,4vw,5rem)/1.03 var(--ed-font-display);text-transform:uppercase}
.quote{background:var(--ed-coral)}
.form-card{box-shadow:9px 9px 0 #111;border:2px solid #111}
input,textarea,select{border:2px solid #111;background:var(--ed-white)}
.notice{background:var(--ed-lemon);border-left:6px solid var(--ink);color:#111}
.callout{background:var(--ed-lilac);border-left:6px solid var(--ink)}
/* Accessibility and intentional motion constraints */
@media (hover:hover){.ed-feature:hover .ed-feature-art img{transform:scale(1.035)}}
@media(max-width:1200px){.ed-hero-copy h1{font-size:clamp(5.4rem,9.9vw,9rem)}.ed-hero-visual{min-height:500px}.pw-hero h1{font-size:clamp(5rem,8.4vw,9rem)}.ed-lead-grid h2{font-size:clamp(4rem,7vw,7.5rem)}}
@media(max-width:1000px){.container{width:min(100% - 44px,930px)}.head-inner{min-height:72px}.nav{gap:14px}.nav a{font-size:.65rem}.wordmark span{display:none}
.ed-masthead-grid{grid-template-columns:1fr .83fr;gap:26px}.ed-hero-copy h1{font-size:clamp(4.5rem,9.5vw,7.7rem)}.ed-hero-visual{min-height:430px}.ed-photo-mark{font-size:clamp(1.6rem,3.5vw,3rem)}
.ed-offer{padding:22px}.ed-feature-foot h3{font-size:clamp(2.3rem,3.4vw,3.8rem)}
.pw-hero-layout{grid-template-columns:1fr .83fr;gap:25px}.pw-hero h1{font-size:clamp(4.5rem,8.3vw,7rem)}.pw-hero-aside{min-height:500px}.pw-hero-aside:before{min-height:340px}
.pw-proof-grid strong{font-size:4.6rem}}
@media(max-width:820px){.container{width:min(100% - 38px,720px)}.mobile-menu{display:block}.nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--ed-white);padding:24px 25px 28px;border-bottom:2px solid #111;box-shadow:0 9px 0 var(--ed-lilac)}.nav.open{display:flex}.nav a{font-size:.83rem;padding:10px 0}.nav a.btn{align-self:stretch;justify-content:center}.wordmark{font-size:2.4rem}
.ed-masthead-grid{grid-template-columns:1fr}.ed-hero-copy h1{font-size:clamp(5.5rem,15vw,10rem);margin:30px 0 33px}.ed-hero-visual{min-height:510px}.ed-hero-media{max-width:none}.ed-hero-bottom{margin-bottom:30px}.ed-hero-media img{object-position:center 44%}
.ed-lead-grid{grid-template-columns:1fr}.ed-lead-grid h2{font-size:clamp(4.4rem,10.4vw,8rem)}.ed-lead-grid .ed-side-no{font-size:4rem}
.ed-feature:nth-child(1),.ed-feature:nth-child(2),.ed-feature:nth-child(3){grid-column:span 12}.ed-feature-art,.ed-feature:nth-child(3) .ed-feature-art{min-height:420px}.ed-feature-art--centennial{grid-template-columns:.8fr 1.2fr}
.ed-offer-grid{grid-template-columns:1fr}.ed-offer{min-height:auto;border-right:0;border-bottom:2px solid #111}.ed-offer:last-child{border-bottom:0}.ed-offer h3{font-size:3.7rem}.ed-offer .ed-cost{margin-top:32px;font-size:6rem}
.ed-method-row{grid-template-columns:50px 1fr;gap:7px 20px}.ed-method-row p{grid-column:2}.ed-method-row .ed-arrow{display:none}
.ed-section-head{flex-direction:column;align-items:start}.ed-section-head h2{font-size:clamp(4.8rem,10vw,8rem)}
.pw-hero-layout{grid-template-columns:1fr}.pw-hero h1{font-size:clamp(5.6rem,12.5vw,9rem);margin:35px 0}.pw-hero-aside{max-width:none;min-height:550px}.pw-hero-aside:before{min-height:410px}
.pw-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-proof-grid>div:nth-child(2){border-right:0}.pw-proof-grid>div:nth-child(3){padding-left:0}.pw-proof-grid strong{font-size:5rem}
.pw-featured-story{grid-template-columns:1fr}.pw-featured-visual{order:initial!important}.pw-featured-copy{order:initial!important}.pw-featured-visual .pw-thumbnail{min-height:380px;aspect-ratio:1.3}.pw-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-case-columns{grid-template-columns:1fr}.pw-case-meta{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr}.footer nav{justify-content:flex-start}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.head-inner{min-height:67px}.nav{top:67px}.wordmark{font-size:2.15rem}
.ed-home-masthead{padding:20px 0 28px}.ed-masthead-meta{align-items:start;flex-wrap:wrap;gap:8px;padding-bottom:11px}.ed-masthead-meta span:last-child{font-size:.6rem}
.ed-masthead-grid{padding-top:24px;gap:24px}.ed-hero-copy h1{font-size:clamp(5.25rem,19vw,8rem);margin:24px 0 24px;letter-spacing:-.04em}.ed-hero-copy h1 span{white-space:nowrap}
.ed-hero-bottom p{font-size:1.02rem}.ed-hero-bottom .ed-link-round{width:65px;height:65px;font-size:1.65rem}
.ed-hero-visual{min-height:360px}.ed-photo-mark{font-size:2.5rem;padding:12px;max-width:155px}.ed-photo-bottom{font-size:.56rem;letter-spacing:.055em}
.ed-photo-caption{gap:14px}.ed-photo-caption span{font-size:.56rem}
.ed-running-strip{padding:12px 0}.ed-running-strip p{font-size:2rem}
.ed-lead-in{padding:75px 0}.ed-lead-grid h2{font-size:clamp(4.4rem,13vw,6.8rem)}.ed-lead-grid p{font-size:1rem}
.ed-work-showcase,.ed-services,.ed-method{padding:80px 0}.ed-section-head{margin-bottom:29px}.ed-section-head h2{font-size:clamp(4.7rem,14vw,7.2rem)}.ed-section-head>p{font-size:.94rem}
.ed-feature-art{min-height:315px}.ed-feature:nth-child(3) .ed-feature-art{min-height:350px}.ed-feature-art--core .ed-giant{font-size:12rem}.ed-feature-art--centennial{grid-template-columns:1fr;gap:10px;padding:26px 17px}.ed-feature-art--centennial img{max-height:185px;width:100%}.ed-feature-art--centennial .ed-poster-note{font-size:3.3rem}.ed-feature-foot h3{font-size:3rem}
.ed-offer{padding:21px}.ed-offer h3{font-size:3.3rem}.ed-offer .ed-cost{font-size:5.5rem}
.ed-method-row{padding:19px 0}.ed-method-row strong{font-size:3rem}.ed-method-row span{font-size:2rem}
.ed-home-cta{padding:77px 0 90px}.ed-home-cta h2{font-size:clamp(5rem,16vw,9rem)}.ed-home-cta-row{align-items:stretch;flex-direction:column}.ed-home-cta-row p{font-size:1rem}
.pw-hero{padding:23px 0 40px}.pw-hero h1{font-size:clamp(4.7rem,15.8vw,7rem)}.pw-hero .pw-lede{font-size:.97rem}.pw-hero-aside{min-height:385px}.pw-hero-aside:before{min-height:260px}.pw-hero-aside-typography{font-size:1.6rem;padding:12px}
.pw-proof{padding:66px 0}.pw-proof h2{font-size:3.7rem}.pw-proof-grid strong{font-size:3.7rem}.pw-proof-grid>div{padding:20px 11px 20px 0!important}.pw-proof-grid>div:nth-child(even){padding-left:11px!important}.pw-proof-grid span{font-size:.72rem}
.pw-feature-section,.pw-gallery-section,.pw-supporting,.pw-method,.pw-cta{padding:76px 0}.pw-section-intro h2{font-size:clamp(4.2rem,13vw,6.8rem)}.pw-featured-visual .pw-thumbnail{min-height:270px}.pw-featured-visual .pw-thumbnail-type strong{font-size:11rem}.pw-featured-copy h3{font-size:3.8rem}
.pw-project-grid{grid-template-columns:1fr}.pw-project{box-shadow:5px 5px 0 #111}.pw-project-content h3{font-size:3.3rem}.pw-thumbnail-type strong{font-size:8rem}
.pw-case-hero{padding:28px 0 56px}.pw-case-hero h1{font-size:clamp(4rem,14.6vw,6.4rem)}.pw-case-meta{grid-template-columns:1fr}.pw-case-main{padding:70px 0}.pw-case-story h2{font-size:clamp(3.5rem,11vw,5rem)}.pw-case-context h2{font-size:3rem}
.page-top{padding:65px 0}.page-top h1{font-size:clamp(4.1rem,14vw,6rem)}.section{padding:68px 0}.section h2,.section-small h2{font-size:clamp(3.2rem,10vw,5rem)}.offer{padding:22px}.offer .price{font-size:5rem}
.footer{padding:58px 0 48px}.footer-grid::before{font-size:clamp(3.8rem,16vw,6.5rem);line-height:.88}.footer p{font-size:.77rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ed-feature,.ed-feature-art img,.ed-button,.pw-project,.pw-thumbnail img{transition:none!important}}
/* Image-first work hero and exact phrase hierarchy */
.pw-hero-aside:before{display:none}
.pw-hero-aside img{display:block;width:100%;height:100%;min-height:365px;object-fit:cover;object-position:center 43%;flex:1}
.pw-hero h1 small{display:block;font:900 clamp(2.7rem,4.6vw,5.4rem)/.94 var(--ed-font-display);letter-spacing:-.025em;color:#111;margin-top:21px}
.pw-hero .pw-kicker-light{color:#111}
@media(max-width:820px){.pw-hero-aside img{min-height:340px}}
@media(max-width:600px){.pw-hero-aside img{min-height:255px}.pw-hero h1 small{font-size:clamp(2.4rem,8vw,4.5rem)}}
/* Layout hardening for narrow screens, long project names, and browser font differences */
.pw-hero-layout,.pw-featured-story,.pw-case-columns,.pw-project-grid{min-width:0}
.pw-hero-layout>*,.pw-featured-story>*,.pw-case-columns>*,.pw-project-grid>*{min-width:0}
.pw-featured-visual,.pw-featured-copy,.pw-featured-result,.pw-thumbnail{max-width:100%;min-width:0}
.pw-featured-copy h3,.pw-featured-result strong,.pw-case-hero h1,.page-top h1{overflow-wrap:break-word}
@media(max-width:600px){
.pw-hero h1{font-size:clamp(4.05rem,13.4vw,5.2rem)}
.pw-hero h1 small{font-size:clamp(2.1rem,7vw,3.2rem)}
.pw-featured-story{grid-template-columns:minmax(0,1fr)}
.pw-featured-copy h3{font-size:clamp(3.1rem,11.5vw,3.7rem)}
.pw-featured-visual .pw-thumbnail{min-width:0;width:100%}
.pw-featured-visual .pw-thumbnail img{max-width:100%;width:100%}
.page-top h1{font-size:clamp(3.3rem,11.5vw,4.2rem)}
.pw-case-hero h1{font-size:clamp(3.3rem,12vw,4.3rem)}
}
@media(max-width:600px){
 .pw-method h2{font-size:clamp(3.15rem,11vw,4.2rem);overflow-wrap:anywhere}
 .pw-gallery-section .pw-project-content h3{font-size:clamp(2.45rem,9.6vw,3rem);overflow-wrap:anywhere}
 .pw-cta h2{font-size:clamp(3.8rem,12vw,5.4rem);overflow-wrap:anywhere}
 .pw-featured-copy h3{overflow-wrap:anywhere}
}
/* Keep the documentary photo's two faces unobstructed, with a compact label near the bottom. */
.ed-photo-mark{top:auto;bottom:52px;right:0;max-width:200px;font-size:clamp(2rem,2.9vw,3.3rem);padding:12px 14px;overflow-wrap:anywhere}
@media(max-width:600px){
 .ed-hero-copy h1>span{display:inline-block;max-width:100%;font-size:clamp(3.9rem,15vw,5.1rem);white-space:nowrap}
 .ed-photo-mark{top:auto;bottom:49px;max-width:140px;font-size:1.95rem;padding:9px 10px;line-height:.86}
 .ed-running-strip p{font-size:1.5rem}
}
@media(max-width:600px){.ed-photo-mark{font-size:1.58rem;max-width:158px;overflow-wrap:normal;white-space:nowrap}}
@media(max-width:600px){
 .intro-grid>*{min-width:0}
 .intro-grid h2,.prose h2,.callout h2,.section .intro-grid h2{font-size:clamp(2.65rem,9vw,3.5rem);overflow-wrap:anywhere}
 .pw-next-case h2,.case-next h2{font-size:clamp(2.3rem,8.4vw,3.3rem);overflow-wrap:anywhere}
 .pw-contact-grid{grid-template-columns:minmax(0,1fr)}
 .pw-contact-grid article{min-width:0}
 .pw-contact-grid h2{font-size:clamp(2rem,8vw,2.8rem);overflow-wrap:anywhere}
 .legal h2,.shell.legal h2{font-size:clamp(2.3rem,8.4vw,3.2rem);overflow-wrap:anywhere}
 .pw-case-art strong{font-size:clamp(4rem,14vw,6rem);overflow-wrap:anywhere}
 .section h2{overflow-wrap:anywhere}
}
