:root{--ink:#271f1a;--warm:#f6e5cb;--paper:#fbf7ef;--accent:#b95d31;--rule:rgba(39,31,26,.27);--serif:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--warm);font-family:var(--serif);-webkit-font-smoothing:antialiased}a{color:inherit}.frame{width:min(100% - 7vw,1640px);margin-inline:auto}.site-header{position:relative;z-index:5}.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:112px;gap:20px;font-size:18px}.nav a{text-decoration:none}.nav a:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.nav-left{display:flex;gap:28px}.wordmark{font-size:21px;font-weight:700;letter-spacing:.015em;white-space:nowrap}.nav-email{text-align:right;white-space:nowrap}.hero{min-height:calc(100svh - 112px);position:relative;display:flex;flex-direction:column;justify-content:center;padding-block:8vw 7vw;overflow:hidden}.hero h1{font-size:clamp(75px,12.1vw,220px);line-height:.89;letter-spacing:-.074em;font-weight:500;margin:0 0 clamp(65px,9vw,140px);white-space:nowrap;position:relative;z-index:1}.question{color:var(--accent)}.hero-copy{font-size:clamp(25px,3.05vw,54px);line-height:1.06;letter-spacing:-.035em;margin:0;max-width:1280px;position:relative;z-index:1}.hero-copy strong{font-weight:700}.hero-art{position:absolute;width:clamp(180px,22vw,390px);aspect-ratio:1;top:10%;right:12%;border-radius:48% 52% 58% 42% / 56% 37% 63% 44%;background:#d27a47;transform:rotate(-21deg);box-shadow:28px 33px 33px rgba(92,49,27,.17);opacity:.93}.hero-art:before{content:"";position:absolute;inset:24%;background:var(--warm);border-radius:50% 45% 53% 47%;transform:rotate(35deg)}.hero-art:after{content:"";position:absolute;inset:8%;border:1px solid rgba(255,243,225,.38);border-radius:inherit}.work-section{background:var(--paper);padding:105px 0 145px}.section-title,.about-copy h2{font-size:clamp(70px,11vw,170px);line-height:.94;letter-spacing:-.07em;font-weight:500;margin:0}.period{color:var(--accent)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(22px,3vw,55px);row-gap:64px;margin-top:90px;align-items:start}.project{text-decoration:none;display:block;min-width:0}.project:nth-child(3n+2){transform:translateY(115px)}.project:nth-child(3n){transform:translateY(230px)}.project-image{aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;position:relative;transition:filter .3s ease}.project-image:before{content:"";position:absolute;width:52%;aspect-ratio:1;border:1px solid currentColor;opacity:.22;transform:rotate(24deg);border-radius:50% 50% 45% 55%}.project-image span{font-size:clamp(72px,10vw,160px);letter-spacing:-.1em;transition:transform .45s ease}.project:hover .project-image span{transform:scale(1.06)}.project p{font-size:20px;margin:17px 0 0}.image-one{background:#d8d4c6;color:#40332d}.image-two{background:#aeb7b0;color:#29352f}.image-three{background:#dcc5ad;color:#65402f}.image-four{background:#b8a9a5;color:#3a2d2f}.image-five{background:#c9cbb8;color:#4b5138}.image-six{background:#c5b7a4;color:#49382b}.about-section{background:var(--warm);padding:140px 0}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(60px,9vw,170px);align-items:center}.about-image{background:#ecd2ae;overflow:hidden;aspect-ratio:4/4.7;display:flex;align-items:flex-end}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center}.about-copy h2{font-size:clamp(70px,9vw,145px);margin-bottom:55px}.about-copy p{font-size:clamp(24px,2.45vw,38px);line-height:1.14;letter-spacing:-.025em;margin:0 0 30px}.site-footer{background:#26211f;color:#f5e7d4;padding:75px 0 44px}.footer-content{display:flex;flex-direction:column;align-items:flex-start;min-height:240px}.footer-email{font-size:clamp(32px,5vw,76px);line-height:1.1;letter-spacing:-.05em;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.footer-email:hover{text-decoration:underline}.footer-links{display:flex;gap:35px;margin-top:48px;font-size:24px}.footer-links a{text-decoration:none}.footer-content small{margin-top:auto;font-size:16px}.case-page{background:var(--paper)}.case-content{padding:80px 0 150px}.back-link{font-size:18px;text-decoration:none}.eyebrow{display:block;margin-top:115px;font-size:16px;letter-spacing:.14em}.case-content h1{font-weight:500;font-size:clamp(70px,10vw,160px);line-height:.95;letter-spacing:-.065em;margin:25px 0 95px}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-block:25px 55px;border-top:1px solid var(--rule);margin:0}.case-meta dt{font-size:18px}.case-meta dd{font-size:28px;margin:12px 0 0}.case-visual{min-height:620px;background:#dac9b3;display:grid;place-items:center;font-size:clamp(30px,5vw,80px);color:#756552}.case-text{max-width:900px;margin:110px auto 0}.case-text section{display:grid;grid-template-columns:240px 1fr;gap:35px;border-top:1px solid var(--rule);padding:28px 0 55px}.case-text h2{font-size:30px;margin:0}.case-text p{font-size:25px;line-height:1.25;margin:0}@media(max-width:1100px){.nav{font-size:15px}.wordmark{font-size:18px}.nav-left{gap:16px}.hero h1{font-size:clamp(70px,12vw,130px)}.hero-copy{font-size:clamp(25px,3.2vw,35px)}.hero-art{right:5%;top:11%}}@media(max-width:700px){.frame{width:min(100% - 40px,560px)}.nav{min-height:96px;grid-template-columns:1fr auto;grid-template-areas:"brand email" "links links";row-gap:10px;font-size:14px;padding:16px 0}.wordmark{grid-area:brand;font-size:16px}.nav-email{grid-area:email;font-size:13px}.nav-left{grid-area:links;gap:23px}.hero{min-height:620px;padding-block:75px 90px;justify-content:flex-end;overflow:visible}.hero h1{font-size:clamp(61px,14vw,108px);white-space:normal;line-height:.88;margin-bottom:75px;max-width:520px}.hero-art{width:165px;top:55px;right:7%;box-shadow:14px 20px 25px rgba(92,49,27,.16)}.hero-copy{font-size:clamp(22px,5.5vw,31px);line-height:1.15}.hero-copy br{display:none}.work-section{padding:78px 0 95px}.section-title{font-size:clamp(68px,16vw,105px)}.work-grid{display:grid;grid-template-columns:1fr;gap:45px;margin-top:52px}.project:nth-child(n){transform:none}.project p{font-size:19px}.project-image span{font-size:clamp(115px,30vw,170px)}.about-section{padding:80px 0}.about-grid{grid-template-columns:1fr;gap:55px}.about-image{aspect-ratio:4/4.4}.about-copy h2{font-size:90px;margin-bottom:28px}.about-copy p{font-size:26px}.site-footer{padding:65px 0 35px}.footer-content{min-height:240px}.footer-email{font-size:clamp(32px,8vw,54px)}.footer-links{font-size:23px;flex-direction:column;gap:12px;margin-top:35px}.case-content{padding:45px 0 90px}.eyebrow{margin-top:70px}.case-content h1{margin-bottom:65px}.case-meta{grid-template-columns:repeat(2,1fr);gap:30px}.case-meta dd{font-size:22px}.case-visual{min-height:400px}.case-text{margin-top:70px}.case-text section{grid-template-columns:1fr;gap:15px}.case-text p{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-image span{transition:none}}

/* Reference-led hero revision */
:root{--ink:#171512;--warm:#fff5e3;--paper:#fffaf1;--accent:#8b6a4a}
.hero{min-height:calc(100svh - 112px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;align-items:center;padding-block:3vw 7vw;overflow:hidden}
.hero h1{grid-column:1/-1;align-self:center;font-size:clamp(92px,12.7vw,235px);line-height:.78;letter-spacing:-.075em;margin:0;white-space:normal;max-width:1380px;z-index:2}
.hero-copy{grid-column:2;grid-row:2;font-size:clamp(25px,2.45vw,43px);line-height:1.08;max-width:690px;margin-left:3vw;z-index:2}
.hero-art{display:block;position:absolute;top:3%;right:-13%;width:clamp(340px,40vw,730px);height:auto;aspect-ratio:auto;background:none;border-radius:0;box-shadow:none;opacity:.86;transform:rotate(-13deg);z-index:0;pointer-events:none}
.hero-art:before,.hero-art:after{content:none}
@media(max-width:1100px){.hero h1{font-size:clamp(82px,12.5vw,150px)}.hero-art{right:-16%;top:5%;width:48vw}.hero-copy{font-size:clamp(25px,2.6vw,34px)}}
@media(max-width:700px){.hero{display:flex;min-height:650px;flex-direction:column;align-items:stretch;justify-content:flex-end;padding-block:165px 75px}.hero h1{font-size:clamp(78px,15.4vw,122px);line-height:.8;margin:0 0 72px;max-width:none}.hero-copy{font-size:clamp(23px,5.8vw,31px);margin:0;max-width:550px}.hero-art{width:270px;top:12px;right:-82px;opacity:.55;transform:rotate(-16deg)}}

/* Golden editorial direction */
:root{--ink:#191712;--warm:#ffe184;--paper:#fff9ed;--accent:#d27958}
.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:calc(100svh - 112px);padding:4vw 0 7vw;overflow:hidden}
.hero h1{align-self:auto;font-size:clamp(100px,12.9vw,245px);line-height:.78;margin:0 0 32px 4.8vw;max-width:1300px;z-index:2}
.hero-copy{align-self:flex-start;font-size:clamp(25px,2.7vw,43px);line-height:1.08;max-width:880px;margin:0 0 0 14vw;z-index:2}
.hero-art{width:clamp(230px,25vw,480px);top:0;right:1%;opacity:1;transform:rotate(-8deg);animation:hero-drift 11s ease-in-out infinite alternate;z-index:1;filter:drop-shadow(14px 25px 16px rgba(124,77,24,.16))}
@keyframes hero-drift{from{transform:translate3d(0,0,0) rotate(-8deg)}to{transform:translate3d(-7px,12px,0) rotate(-5deg)}}
@media(max-width:1100px){.hero h1{font-size:clamp(88px,13vw,160px)}.hero-copy{font-size:clamp(26px,2.9vw,35px);margin-left:10vw}.hero-art{width:32vw;right:-3%;top:6%}}
@media(max-width:700px){.hero{min-height:690px;justify-content:flex-end;padding:145px 0 80px}.hero h1{font-size:clamp(75px,15.4vw,125px);line-height:.82;margin:0 0 42px}.hero-copy{font-size:clamp(23px,5.8vw,31px);margin:0 0 0 5vw}.hero-art{width:210px;right:-58px;top:10px;opacity:.92}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none}}
/* Stronger editorial serif */
:root{--serif:Georgia,"Times New Roman",serif}
.nav,.hero-copy,.section-title,.about-copy,.site-footer,.case-content{font-family:var(--serif)}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(92px,11.8vw,220px);letter-spacing:-.078em;line-height:.83}
.section-title,.about-copy h2,.case-content h1{font-weight:700;letter-spacing:-.065em}
.wordmark{font-weight:700}
@media(max-width:1100px){.hero h1{font-size:clamp(80px,11.7vw,150px)}}
@media(max-width:700px){.hero h1{font-size:clamp(66px,14.4vw,113px);line-height:.85;letter-spacing:-.08em}}

/* Hero composition: headline and sculpture read as one centered unit. */
.nav{font-size:21px;font-weight:700}
.nav-left{gap:34px}
.wordmark{font-size:23px}
.hero{align-items:center;justify-content:center;padding:4vw 0 6vw;gap:38px}
.hero-composition{position:relative;width:min(100%,1320px);margin-inline:auto;padding:42px 0 20px}
.hero h1{position:relative;z-index:2;margin:0;font-size:clamp(92px,11.5vw,215px);line-height:.84;letter-spacing:-.078em;max-width:none}
.hero-art{top:-7%;right:1%;width:clamp(250px,28vw,465px);z-index:1;opacity:1}
.hero-copy{align-self:auto;width:min(100%,1130px);max-width:none;margin:0;font-size:clamp(27px,2.55vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.035em}
@media(max-width:1100px){.nav{font-size:18px}.wordmark{font-size:20px}.hero h1{font-size:clamp(84px,11.5vw,150px)}.hero-art{right:-3%;width:32vw}.hero-copy{font-size:clamp(25px,2.8vw,34px)}}
@media(max-width:700px){.nav{font-size:16px}.wordmark{font-size:17px}.nav-email{font-size:13px}.hero{min-height:660px;gap:30px;padding:95px 0 75px;justify-content:center}.hero-composition{padding:50px 0 10px}.hero h1{font-size:clamp(67px,14.3vw,105px);line-height:.85}.hero-art{width:210px;top:-24%;right:-55px}.hero-copy{font-size:clamp(22px,5.5vw,30px);line-height:1.14;margin:0}.hero-copy br{display:none}}

/* Softer golden study and restrained kinetic details. */
:root{--warm:#fff0b8}
.hero-orb{position:absolute;z-index:1;width:clamp(34px,4.6vw,72px);aspect-ratio:1;left:-4.8%;top:31%;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fffef7 0%,#eee8d8 27%,#b8a993 66%,#756552 100%);box-shadow:12px 22px 17px rgba(106,72,29,.18);animation:orb-float 9s ease-in-out infinite alternate;pointer-events:none}
.hero-art{animation:fold-float 10s ease-in-out infinite alternate;filter:drop-shadow(18px 28px 17px rgba(110,65,25,.22))}
@keyframes fold-float{from{transform:translate3d(0,0,0) rotate(-8deg)}to{transform:translate3d(-10px,16px,0) rotate(-4deg)}}
@keyframes orb-float{from{transform:translate3d(0,0,0)}to{transform:translate3d(4px,-12px,0)}}
@media(max-width:700px){.hero-orb{width:34px;left:0;top:5%}.hero-art{filter:drop-shadow(12px 17px 11px rgba(110,65,25,.2))}}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-orb{animation:none}}

/* Deeper ochre palette, graphic counterweight, visible motion. */
:root{--warm:#e8bf5c;--ink:#171511}
.hero-mark{position:absolute;z-index:1;width:clamp(88px,9vw,142px);height:auto;left:-3%;top:13%;color:#171511;filter:drop-shadow(10px 16px 5px rgba(65,44,17,.16));pointer-events:none;animation:mark-sway 6s ease-in-out infinite alternate}
.hero-art{animation:fold-sway 5.5s ease-in-out infinite alternate;filter:drop-shadow(22px 34px 16px rgba(69,39,18,.3))}
@keyframes fold-sway{from{transform:translate3d(-12px,-10px,0) rotate(-14deg)}to{transform:translate3d(17px,17px,0) rotate(1deg)}}
@keyframes mark-sway{from{transform:translate3d(0,0,0) rotate(-7deg)}to{transform:translate3d(6px,-9px,0) rotate(5deg)}}
@media(max-width:700px){.hero-mark{width:75px;left:0;top:2%}.hero-art{filter:drop-shadow(13px 20px 10px rgba(69,39,18,.28))}}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-mark{animation:none}}

/* One continuous page colour; the work supplies its own imagery and colour. */
:root{--warm:#efce79;--paper:#efce79;--ink:#171511}
body,.work-section,.about-section,.case-page,.site-footer{background:var(--warm);color:var(--ink)}
.site-footer{border-top:1px solid rgba(23,21,17,.32)}
.hero-art{top:-14%;right:-2%;width:clamp(275px,30vw,500px);z-index:1;animation:sculpture-loop 6.5s ease-in-out infinite;will-change:transform;filter:drop-shadow(20px 30px 16px rgba(70,40,18,.25))}
.hero h1{z-index:2}
@keyframes sculpture-loop{0%,100%{transform:translate3d(-11px,-12px,0) rotate(-13deg)}50%{transform:translate3d(18px,17px,0) rotate(3deg)}}
@media(max-width:700px){.hero-art{top:-17%;right:-48px;width:225px}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none;transform:rotate(-5deg)}}

/* Selected continuous background: warm ivory. */
:root{--warm:#E9DDC9;--paper:#E9DDC9}

/* Real animated hero object replaces motion applied to the still image. */
.hero-art{top:-15%;right:-3%;width:clamp(300px,32vw,540px);aspect-ratio:1;object-fit:contain;animation:none;transform:none;filter:none;background:transparent}
@media(max-width:700px){.hero-art{width:240px;top:-21%;right:-60px;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none;transform:none}}

/* The new transparent five-second loop sits within the headline rather than beside it. */
.hero-composition{isolation:isolate}
.hero-art{top:-24%;right:-10%;width:clamp(560px,53vw,790px);z-index:-1;max-width:none}
@media(max-width:1100px){.hero-art{top:-19%;right:-16%;width:65vw}}
@media(max-width:700px){.hero-art{width:420px;top:-24%;right:-105px}}

/* Single-line headline with the animated object floating over its upper edge. */
.hero{gap:24px}
.hero-composition{width:100%;padding:155px 0 0}
.hero h1{font-size:clamp(66px,8.5vw,158px);line-height:.98;letter-spacing:-.075em;white-space:nowrap;z-index:2}
.hero-art{width:clamp(260px,30vw,430px);top:-25px;right:13%;z-index:3}
.hero-copy{width:100%;padding-left:2.5vw;font-size:clamp(27px,2.5vw,40px);font-weight:500;line-height:1.12}
@media(max-width:1100px){.hero-composition{padding-top:140px}.hero h1{font-size:8.6vw}.hero-art{width:34vw;right:8%;top:-5px}.hero-copy{font-size:clamp(25px,3vw,34px)}}
@media(max-width:700px){.hero{min-height:650px;gap:30px;padding:45px 0 75px}.hero-composition{padding:175px 0 0}.hero h1{font-size:clamp(62px,13vw,95px);white-space:normal;line-height:.88}.hero-art{width:260px;top:0;right:-35px}.hero-copy{padding-left:0;font-size:clamp(22px,5.5vw,30px)}}

/* Reference proportions: one dominant line, a compact paragraph below, and air above. */
.hero{align-items:stretch;gap:22px;padding:0 0 8vw}
.hero-composition{padding:0}
.hero h1{font-size:clamp(78px,10.1vw,184px);line-height:.95;letter-spacing:-.078em}
.hero-art{width:clamp(250px,25vw,390px);top:-185px;right:13%;z-index:1}
.hero-copy{width:min(100%,1090px);padding-left:2vw;font-size:clamp(27px,2.7vw,40px);font-weight:400;line-height:1.12}
@media(max-width:1100px){.hero h1{font-size:10vw}.hero-art{width:30vw;top:-135px;right:9%}.hero-copy{font-size:clamp(25px,3vw,34px)}}
@media(max-width:700px){.hero{min-height:650px;gap:30px;padding:45px 0 75px}.hero-composition{padding:175px 0 0}.hero h1{font-size:clamp(62px,13vw,95px);white-space:normal;line-height:.88}.hero-art{width:260px;top:0;right:-35px}.hero-copy{width:100%;padding-left:0;font-size:clamp(22px,5.5vw,30px)}}

/* Let the single-line headline carry the same visual scale as the reference. */
@media(min-width:701px){.hero h1{font-size:clamp(82px,11.25vw,210px);letter-spacing:-.085em}.hero-composition{width:100%}}

/* Match the marked width in the review screenshot. */
@media(min-width:1101px){.hero{gap:43px}.hero h1{font-size:clamp(95px,12.4vw,235px);margin-left:25px;letter-spacing:-.085em}}

/* New editorial direction based on the supplied Hi There! reference. */
:root{--warm:#FDDB6E;--paper:#FDDB6E;--ink:#201c16;--serif:Didot,"Bodoni MT","Times New Roman",serif}
body,.work-section,.about-section,.case-page,.site-footer{background:#FDDB6E;color:var(--ink);font-family:var(--serif)}
.nav{min-height:130px;font-size:clamp(18px,1.48vw,25px);font-weight:400}
.nav-left{gap:clamp(30px,4vw,70px)}
.wordmark{font-size:clamp(26px,2vw,36px);font-weight:400;letter-spacing:-.035em}
.hero{min-height:calc(100svh - 130px);justify-content:center;align-items:stretch;gap:34px;padding:0 0 5vw;overflow:hidden}
.hero-composition{width:100%;padding:0;margin:0}
.hero h1{font-family:var(--serif);font-size:clamp(160px,20vw,370px);font-weight:400;letter-spacing:-.085em;line-height:.82;white-space:nowrap;margin:0;padding:0}
.hero-copy{width:100%;max-width:none;margin:0;padding-left:1.2vw;font-family:var(--serif);font-size:clamp(34px,3.45vw,60px);font-weight:400;line-height:1.08;letter-spacing:-.04em}
@media(min-width:1101px){.hero{gap:34px}.hero h1{font-size:clamp(160px,20vw,370px);margin-left:0;letter-spacing:-.085em}}
@media(max-width:1100px){.nav{font-size:18px}.wordmark{font-size:26px}.hero{min-height:calc(100svh - 120px);gap:35px;padding-bottom:6vw}.hero-composition{padding:0}.hero h1{font-size:20vw;line-height:.85;white-space:nowrap}.hero-copy{font-size:3.5vw;padding-left:1vw}}
@media(max-width:700px){.nav{min-height:110px;font-size:17px;row-gap:14px}.wordmark{font-size:25px}.nav-email{font-size:13px}.hero{min-height:calc(100svh - 110px);gap:40px;padding:55px 0 80px;justify-content:center}.hero-composition{padding:0}.hero h1{font-size:clamp(76px,19vw,145px);line-height:.88;white-space:nowrap}.hero-copy{padding:0;font-size:clamp(27px,6vw,39px);line-height:1.12}.hero-copy br{display:none}}

/* Bodoni Moda has the sharp hairlines and broad display proportions of the reference. */
@font-face{font-family:"Bodoni Moda";src:url("fonts/BodoniModa-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("fonts/BodoniModa-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
:root{--serif:"Bodoni Moda",Didot,"Times New Roman",serif}
.hero h1{font-weight:500;letter-spacing:-.025em}
.hero-copy{letter-spacing:-.025em}
@media(min-width:1101px){.hero h1{font-weight:500;letter-spacing:-.025em}}

/* Playfair's curved, bracketed T matches the supplied close-up more closely. */
@font-face{font-family:"Playfair Display";src:url("fonts/PlayfairDisplay-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("fonts/PlayfairDisplay-Semibold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
:root{--serif:"Playfair Display",Georgia,serif}
.hero h1{font-weight:600;letter-spacing:-.015em}
@media(min-width:1101px){.hero h1{font-weight:600;letter-spacing:-.015em}}

/* More breathing room between the navigation and the editorial headline. */
@media(min-width:1101px){.hero{padding-top:clamp(100px,9vw,155px);padding-bottom:90px;gap:46px}}
@media(min-width:701px) and (max-width:1100px){.hero{padding-top:100px;padding-bottom:80px;gap:42px}}
@media(max-width:700px){.hero{padding-top:110px;gap:44px}}

/* Quiet section marker: a short rule followed by a smaller heading. */
.work-section .section-title{display:flex;align-items:center;gap:clamp(14px,1.8vw,30px);font-size:clamp(38px,5.5vw,85px);line-height:1.05;letter-spacing:-.045em}
.work-section .section-title::before{content:"";display:block;width:clamp(44px,6vw,96px);height:1px;background:currentColor;flex:none}
@media(max-width:700px){.work-section .section-title{font-size:clamp(36px,8vw,53px)}.work-section .section-title::before{width:42px}}

/* Campaign stills supplied by Manolo; equal size and consistent crop. */
.project-image::before{display:none}
.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.freepass-project .project-image img{object-position:66% center}
.project:hover .project-image img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}}

/* Keep the navigation present while moving through the portfolio. */
.site-header{position:sticky;top:0;z-index:100;background:#FDDB6E}
#case-studies,#about{scroll-margin-top:130px}
@media(max-width:700px){#case-studies,#about{scroll-margin-top:110px}}

/* FreePass case study: editorial title, compact details and generous media. */
.freepass-page,.freepass-page .site-footer{background:#FDDB6E;color:var(--ink)}
.freepass-main{padding-bottom:130px}
.freepass-back,.freepass-end{display:inline-block;font-size:18px;text-decoration:none;text-underline-offset:5px}
.freepass-back{margin-top:35px}
.freepass-back:hover,.freepass-end:hover{text-decoration:underline}
.freepass-main h1{font-size:clamp(76px,11.7vw,190px);line-height:.89;letter-spacing:-.065em;font-weight:600;margin:92px 0 75px}
.freepass-intro{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);gap:clamp(60px,8vw,150px);padding:38px 0 95px;border-top:1px solid currentColor}
.freepass-facts{margin:0;display:grid;gap:23px;align-content:start}
.freepass-facts div{max-width:350px}.freepass-facts dt{font:600 16px/1.2 Arial,sans-serif;margin-bottom:6px}.freepass-facts dd{font:400 18px/1.3 Arial,sans-serif;margin:0}
.freepass-lead p{font-size:clamp(35px,3.7vw,63px);font-weight:600;line-height:1.06;letter-spacing:-.04em;margin:0}
.freepass-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,3.5vw,65px);padding-bottom:105px}
.freepass-story section{border-top:1px solid currentColor;padding-top:18px}.freepass-story h2{font-size:26px;margin:0 0 18px}.freepass-story p{font:400 18px/1.45 Arial,sans-serif;margin:0}
.freepass-feature{margin:0 0 115px}.freepass-feature img{display:block;width:100%;height:min(70vw,760px);object-fit:cover;object-position:center 37%}.freepass-feature figcaption,.freepass-video-grid figcaption,.freepass-media-pair figcaption,.freepass-media-caption{font:400 16px/1.3 Arial,sans-serif;margin:13px 0 0}
.freepass-feature.freepass-one-man-band img{height:auto;aspect-ratio:16/9;object-position:center}
.freepass-chapter{padding:40px 0 120px;border-top:1px solid currentColor}.freepass-chapter-heading{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:40px;align-items:start;margin-bottom:55px}.freepass-chapter-heading span{font:600 16px Arial,sans-serif;padding-top:12px}.freepass-chapter-heading h2{font-size:clamp(50px,7vw,105px);line-height:.98;letter-spacing:-.055em;margin:0;font-weight:600}.freepass-chapter-heading p{grid-column:2;font-size:clamp(21px,2vw,30px);line-height:1.22;max-width:780px;margin:25px 0 0}
.freepass-video-grid,.freepass-media-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.2vw,38px)}
.freepass-video-grid figure,.freepass-media-pair figure,.freepass-social figure{margin:0}.freepass-video{position:relative;aspect-ratio:16/9;background:#24201b}.freepass-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.freepass-video-grid figure{margin-bottom:50px}.freepass-media-pair img{display:block;width:100%;height:clamp(300px,40vw,650px);object-fit:contain;background:#d8c495}.freepass-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,38px);margin-top:80px}.freepass-social img{width:100%;height:clamp(220px,26vw,420px);object-fit:contain;background:#e9cd7b;display:block}.freepass-media-caption{margin-top:16px}.freepass-end{margin-top:5px}
@media(max-width:800px){.freepass-main h1{margin:75px 0 55px}.freepass-intro{grid-template-columns:1fr;gap:45px;padding-bottom:70px}.freepass-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.freepass-story{grid-template-columns:1fr;gap:30px;padding-bottom:70px}.freepass-chapter-heading{grid-template-columns:1fr;gap:18px}.freepass-chapter-heading p{grid-column:1;margin-top:0}.freepass-feature{margin-bottom:70px}}
@media(max-width:600px){.freepass-main{padding-bottom:85px}.freepass-main h1{font-size:clamp(60px,15vw,96px);overflow-wrap:anywhere}.freepass-facts{grid-template-columns:1fr}.freepass-lead p{font-size:clamp(34px,8vw,48px)}.freepass-feature img{height:90vw}.freepass-video-grid,.freepass-media-pair{grid-template-columns:1fr}.freepass-social{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.freepass-chapter{padding-bottom:65px}.freepass-video-grid figure{margin-bottom:20px}}

/* Case-study proportions inspired by the compact editorial reference. */
.freepass-main h1{font-size:clamp(54px,5vw,90px);line-height:1;letter-spacing:-.055em;margin:82px 0 75px}
.freepass-story{padding:0 0 60px}
.freepass-story h3{font-size:26px;margin:0 0 18px;line-height:1.1}
.freepass-chapter-heading{margin-bottom:55px}
@media(max-width:600px){.freepass-main h1{font-size:clamp(48px,10vw,70px);margin:65px 0 55px}}

/* Client context and contributions for each campaign. */
.freepass-lead h2{font:600 18px/1.2 Arial,sans-serif;margin:0 0 18px}
.freepass-lead p{font-size:clamp(25px,2.45vw,39px);line-height:1.17;font-weight:500;letter-spacing:-.025em}
.freepass-story{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(45px,6vw,110px);row-gap:38px}
@media(max-width:800px){.freepass-story{grid-template-columns:1fr}}
.soccerjack-feature img{object-fit:contain;background:#c88c60}
.inner-child-case-film{grid-template-columns:minmax(0,1fr)}
.inner-child-feature img{object-fit:contain;background:#eedc95}
.inner-child-media{margin-bottom:80px}
.soccer-hacks-feature img{object-fit:cover;object-position:center}

/* Photographic footer shared by the homepage and case studies. */
.site-footer,.freepass-page .site-footer{
  color:#f7f4ed;
  background:#191b18 linear-gradient(90deg,rgba(8,10,9,.73),rgba(8,10,9,.46)),url("footer-light.webp") center 53% / cover no-repeat;
  border-top:0;
  padding:65px 0 35px;
}
.footer-content{min-height:390px}
.footer-email{font-size:clamp(33px,3.7vw,64px);letter-spacing:-.04em}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:50px;font-size:clamp(27px,2.6vw,43px);font-weight:600;line-height:1.1}
.footer-content small{font-size:16px}
@media(max-width:700px){
  .site-footer,.freepass-page .site-footer{padding:55px 0 30px;background-position:58% center}
  .footer-content{min-height:310px}
  .footer-email{font-size:clamp(30px,7vw,46px)}
  .footer-links{font-size:30px;margin-top:37px;gap:7px}
}

/* Compact footer typography and original graphic background. */
.site-footer,.freepass-page .site-footer{
  background-color:#171615;
  background-image:linear-gradient(90deg,rgba(9,9,9,.26),rgba(9,9,9,.04)),url("footer-graphic.webp");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  padding:64px 0 42px;
}
.footer-content{min-height:0}
.footer-email{font-size:clamp(28px,3vw,48px)}
.footer-links{margin-top:44px}
.footer-content small{margin-top:38px}
@media(max-width:700px){
  .site-footer,.freepass-page .site-footer{padding:50px 0 33px;background-position:65% center}
  .footer-email{font-size:clamp(27px,6.3vw,39px)}
  .footer-links{margin-top:35px}
  .footer-content small{margin-top:30px}
}
