
:root{--ink:#171313;--paper:#f6f5f1;--white:#fff;--orange:#f15b35;--muted:#77716e;--line:#d9d6d1;--gutter:clamp(22px,4.5vw,68px);--max:1600px;--nav-h:76px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:12px;z-index:200}.skip-link:focus{left:10px}
.site-header{height:var(--nav-h);position:sticky;top:0;z-index:100;background:rgba(23,19,19,.97);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);gap:24px}
.brand{display:flex;align-items:center;width:180px;flex:0 0 auto}.brand img{width:100%;height:auto;color:#fff}
.nav{display:flex;align-items:center;gap:clamp(16px,3.2vw,48px);font-size:11px;letter-spacing:.03em}.nav a{color:#e5e0dd;position:relative;padding:10px 0}.nav a:hover,.nav a[aria-current=page]{color:#fff}.nav a[aria-current=page]:after{content:"";position:absolute;height:2px;width:18px;background:var(--orange);left:0;bottom:3px}
.nav .nav-cta{color:#fff}.nav .nav-cta span{color:var(--orange);font-size:18px;margin-left:8px}
.menu-toggle{display:none;background:none;border:1px solid #625a57;color:#fff;padding:9px 12px;cursor:pointer}
main{overflow:clip}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-size:9px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin:0 0 18px;color:var(--muted)}
.eyebrow.orange{color:var(--orange)}.small-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:.96}h1{font-size:clamp(3rem,7.6vw,8.5rem);margin-bottom:26px}h2{font-size:clamp(2.15rem,4.6vw,5.1rem);margin-bottom:22px}h3{font-size:clamp(1.2rem,2vw,2rem);font-weight:500;line-height:1.02;letter-spacing:-.03em;margin-bottom:12px}
p{color:#5d5754} .lead{font-size:clamp(1rem,1.45vw,1.3rem);line-height:1.4;max-width:560px;color:#ded9d6}.body-copy{font-size:14px;line-height:1.6;max-width:620px}
.arrow-link{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid currentColor;padding:0 0 7px;font-size:12px;font-weight:600}.arrow-link span{font-size:18px;color:var(--orange);transition:transform .2s}.arrow-link:hover span{transform:translate(4px,-2px)}
.hero{background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(480px,52vw,740px)}
.hero-copy{padding:clamp(42px,6vw,92px) var(--gutter) clamp(38px,5vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-copy .eyebrow{color:#c3bcb8}.hero h1{max-width:850px}.hero .accent-line{color:var(--orange)}.hero-copy .lead{max-width:570px}.hero-copy .hero-foot{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#bcb4b0;margin-top:26px}
.hero-media{position:relative;min-height:340px;overflow:hidden;background:#312a27;isolation:isolate}
.hero-media>img{position:absolute;inset:-4% 0;width:100%;height:108%;object-fit:cover;will-change:transform;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.03)}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,19,19,.22),transparent 55%),linear-gradient(0deg,rgba(23,19,19,.44),transparent 32%);pointer-events:none}
.hero-media .image-caption{position:absolute;z-index:2;left:var(--gutter);bottom:24px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#fff}
.hero .hero-mark{position:absolute;left:var(--gutter);bottom:24px;font-size:28px;font-weight:700;color:var(--orange);z-index:2}
.hero-media .hero-mark{left:auto;right:var(--gutter);font-size:40px}
.section{padding-block:clamp(68px,9vw,136px)}.section.tight{padding-block:clamp(42px,6vw,86px)}.section.dark{background:var(--ink);color:#fff}.section.paper{background:var(--paper)}
.section-heading{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.8fr);gap:clamp(30px,7vw,110px);align-items:start}.section-heading .side-note{max-width:350px;margin-left:auto}
.section-heading h2{max-width:900px}.section-heading p{max-width:650px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,7vw,100px);padding-top:26px}
.intro-grid p{max-width:600px}.intro-aside{border-top:1px solid var(--line);padding-top:20px}
.number-mark{font-size:30px;line-height:1;color:var(--orange);font-weight:700;margin-top:24px}
.pill-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.pill-links a{border:1px solid var(--line);border-radius:30px;padding:9px 14px;font-size:11px}
.pill-links a:hover{border-color:var(--orange);color:var(--orange)}
.image-band{position:relative;min-height:clamp(300px,43vw,600px);background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end}
.image-band>img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;z-index:-2;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.03);will-change:transform}
.image-band:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,19,19,.82),rgba(23,19,19,.12) 90%),linear-gradient(0deg,rgba(23,19,19,.48),transparent 70%)}
.band-content{width:100%;padding:clamp(30px,5vw,72px) var(--gutter);display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.band-content h2{max-width:760px;margin-bottom:0}.band-content p{color:#e2dcd8;max-width:350px;margin-bottom:4px}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,34px)}
.image-card{border-top:1px solid var(--line);padding-top:14px}.image-card .card-image{position:relative;overflow:hidden;aspect-ratio:1.5;background:#e5e0d9;margin-bottom:24px}.image-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.image-card:hover .card-image img{transform:scale(1.04)}.image-card .card-num{color:var(--orange);font-size:11px;letter-spacing:.08em}.image-card h3{margin-top:16px}.image-card p{font-size:13px;line-height:1.55}
.rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:38px minmax(200px,.8fr) minmax(260px,1.4fr) minmax(150px,.65fr);gap:clamp(16px,2.8vw,42px);padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.service-num{font-size:11px;color:var(--orange);padding-top:7px}.service-title h3{max-width:330px}.service-title .small-label{display:block;margin-top:14px}.service-desc p{font-size:13px;line-height:1.55;margin-bottom:10px}.service-desc .useful{font-size:11px;color:#8b827d}.service-focus .small-label{display:block;margin-bottom:10px}.service-focus ul{padding:0;margin:0;list-style:none;font-size:12px;line-height:1.9;color:#5d5754}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.process-card{border-top:1px solid #625956;padding-top:18px}.process-card .step{color:var(--orange);font-size:10px;letter-spacing:.1em}.process-card h3{font-size:clamp(1.35rem,2vw,2.2rem);margin-top:22px}.process-card p{color:#c5bfbb;font-size:12px;line-height:1.6}.process-card .outcome{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-top:22px}
.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,120px)}.statement-grid h2{max-width:700px}.proof-list{border-top:1px solid var(--line)}.proof-item{padding:18px 0;border-bottom:1px solid var(--line)}.proof-item h3{font-size:clamp(1.2rem,2vw,1.8rem);margin-bottom:8px}.proof-item p{font-size:12px;margin:0}
.audience-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.audience-nav a{display:flex;justify-content:space-between;gap:12px;padding:18px 0;font-size:12px}.audience-nav b{color:var(--orange);font-weight:400}
.audience-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,74px);align-items:center;padding-block:clamp(40px,6vw,84px);border-bottom:1px solid var(--line)}.audience-row:nth-child(even) .audience-art{order:2}.audience-art{position:relative;overflow:hidden;aspect-ratio:1.48;background:#e8e1d8}.audience-art img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.audience-row:hover .audience-art img{transform:scale(1.025)}.audience-copy .eyebrow{margin-bottom:22px}.audience-copy h2{font-size:clamp(2.1rem,4vw,4.6rem)}.question-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin:26px 0 12px}.question{font-size:13px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink)}.tagline{font-size:10px;color:var(--muted);margin-top:18px}
.partnership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.partnership{border-top:1px solid var(--line);padding-top:16px}.partnership .number{color:var(--orange);font-size:10px}.partnership h3{font-size:clamp(1.2rem,1.8vw,1.8rem);margin-top:22px}.partnership p{font-size:12px;line-height:1.6}
.cta-band{background:var(--ink);color:#fff;padding:clamp(56px,8vw,116px) var(--gutter)}.cta-top{display:flex;justify-content:space-between;align-items:start;gap:25px}.cta-band h2{font-size:clamp(2.8rem,7vw,7.6rem);max-width:1050px}.cta-circle{flex:0 0 auto;border:1px solid #514947;border-radius:50%;width:80px;height:80px;display:grid;place-items:center;font-size:32px;color:var(--orange);transition:background .2s,transform .2s}.cta-circle:hover{background:#2b2422;transform:none}
.site-footer{background:var(--ink);color:#fff;padding:0 var(--gutter) 22px}.footer-main{border-top:1px solid #4b4340;padding:34px 0 40px;display:grid;grid-template-columns:1.2fr .65fr 1fr;gap:40px}.footer-brand img{width:min(230px,100%);margin-bottom:20px}.footer-brand p{font-size:12px;color:#c6bfbb;max-width:300px}.footer-col .small-label{color:#9c928d;display:block;margin-bottom:12px}.footer-col a{display:block;font-size:12px;line-height:1.9;color:#e0dbd8}.footer-col a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid #4b4340;padding-top:14px;display:flex;justify-content:space-between;gap:18px;color:#a49a95;font-size:9px;letter-spacing:.05em}
.contact-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr);gap:clamp(32px,8vw,120px);padding-top:30px}.contact-aside{border-top:1px solid var(--line);padding-top:20px}.contact-aside h2{font-size:clamp(1.8rem,3vw,3rem)}.contact-aside .contact-image{margin-top:28px;aspect-ratio:1.45;overflow:hidden}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-form{border-top:1px solid var(--line);padding-top:20px}.form-intro{display:flex;justify-content:space-between;gap:20px;margin-bottom:26px}.form-intro .eyebrow{margin-bottom:0}.required-note{font-size:10px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.field label,.field legend{font-size:11px;font-weight:600}.field input,.field select,.field textarea{border:0;border-bottom:1px solid #bdb7b2;border-radius:0;padding:11px 0;background:transparent;color:var(--ink);width:100%;min-height:42px}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--orange)}.field fieldset{padding:0;border:0;margin:0}.option-grid{display:flex;flex-wrap:wrap;gap:8px}.option-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:9px 11px;font-size:10px;cursor:pointer}.option-chip:has(input:checked){border-color:var(--orange);background:#fff4ef}.option-chip input{accent-color:var(--orange);margin:0}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.submit-button{background:var(--ink);color:#fff;border:0;padding:16px 22px;cursor:pointer;font-size:12px;min-width:190px;display:flex;justify-content:space-between;gap:24px}.submit-button span{color:var(--orange);font-size:17px}.submit-button:hover{background:#332a27}.form-note{font-size:10px;color:var(--muted);max-width:420px}.form-status{font-size:12px;margin-top:18px}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.js .reveal[data-delay="1"]{transition-delay:.08s}.js .reveal[data-delay="2"]{transition-delay:.16s}.js .reveal[data-delay="3"]{transition-delay:.24s}
.back-top{font-size:10px;color:#c8c0bc}.back-top span{color:var(--orange);font-size:15px}
@media(min-width:1500px){.hero-copy{padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}}
@media(max-width:900px){:root{--nav-h:68px}.nav{gap:18px}.brand{width:155px}.hero{grid-template-columns:1fr 1fr;min-height:500px}.hero-copy{padding-block:48px}.service-row{grid-template-columns:28px minmax(160px,.8fr) minmax(230px,1.2fr)}.service-focus{grid-column:2 / -1;display:flex;gap:18px;align-items:baseline}.service-focus ul{display:flex;flex-wrap:wrap;gap:4px 14px}.partnership-grid{grid-template-columns:repeat(2,1fr);row-gap:34px}}
@media(max-width:680px){:root{--gutter:22px;--nav-h:66px}.site-header{gap:14px}.brand{width:145px}.menu-toggle{display:block;font-size:11px}.nav{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--ink);padding:12px var(--gutter) 24px;align-items:stretch;flex-direction:column;gap:0;border-top:1px solid #4a413e}.nav.is-open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid #342d2a}.nav a[aria-current=page]:after{bottom:7px}.hero{grid-template-columns:1fr}.hero-copy{padding:46px var(--gutter) 38px;min-height:390px}.hero h1{font-size:clamp(3.1rem,13vw,5.3rem)}.hero-media{min-height:290px}.hero-media .image-caption{left:var(--gutter);bottom:17px}.hero .hero-mark{bottom:17px}.section{padding-block:64px}.section-heading,.intro-grid,.statement-grid,.contact-layout{grid-template-columns:1fr;gap:26px}.section-heading .side-note{margin-left:0}.section-heading h2{margin-bottom:8px}.card-grid{grid-template-columns:1fr;gap:28px}.image-card .card-image{aspect-ratio:1.55;margin-bottom:17px}.process-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.process-card h3{margin-top:14px}.service-row{grid-template-columns:25px 1fr;gap:10px 16px;padding:24px 0}.service-title h3{max-width:100%}.service-desc,.service-focus{grid-column:2}.service-focus{display:block}.service-focus ul{display:block}.audience-nav{grid-template-columns:1fr;gap:0}.audience-nav a{padding:14px 0;border-bottom:1px solid var(--line)}.audience-row{grid-template-columns:1fr;gap:22px;padding-block:36px}.audience-row:nth-child(even) .audience-art{order:0}.audience-art{aspect-ratio:1.45}.audience-copy h2{font-size:clamp(2.5rem,10vw,4rem)}.partnership-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.cta-top{gap:14px}.cta-circle{width:54px;height:54px;font-size:24px}.cta-band h2{font-size:clamp(2.8rem,12vw,5rem)}.footer-main{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-brand{grid-column:1/-1}.footer-brand img{width:210px}.footer-bottom{flex-direction:column;gap:8px}.field-grid{grid-template-columns:1fr;gap:0}.form-intro{flex-direction:column;gap:8px}.image-band{min-height:360px}.band-content{flex-direction:column;align-items:flex-start;gap:20px}.band-content h2{font-size:clamp(2.5rem,11vw,4.5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.hero-media>img,.image-band>img{transform:none!important}}

/* Refinements from visual review: stable footer, high-quality image crops and robust form layout */
.site-footer{overflow:hidden}
.footer-prelude{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 22px;color:#e7e0dc;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.footer-prelude span:last-child{text-align:right;color:#a99e98}
.footer-main{grid-template-columns:minmax(0,1.25fr) minmax(110px,.65fr) minmax(190px,.9fr);align-items:start;gap:clamp(28px,5vw,76px)}
.footer-brand{min-width:0}
.footer-brand>a{display:inline-block;max-width:100%}
.footer-brand img{display:block;width:min(260px,100%);height:auto;max-height:72px;object-fit:contain;object-position:left center}
.footer-col{min-width:0}
.footer-bottom{align-items:center;flex-wrap:wrap;line-height:1.7}
.footer-bottom>span{min-width:0}
.footer-bottom>span:nth-child(2){text-align:center}
.contact-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.65fr);align-items:start}
.contact-aside,.contact-form{min-width:0}
.contact-aside p{max-width:100%}
.contact-form{width:100%;min-width:0}
.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,44px)}
.field,.field fieldset,.field-grid>div{min-width:0;width:100%}
.field fieldset{display:block}
.field input,.field select,.field textarea{display:block;min-width:0;max-width:100%;box-sizing:border-box}
.field legend{display:block;max-width:100%;margin-bottom:12px}
.option-grid{display:flex;align-items:flex-start;gap:8px;max-width:100%}
.option-chip{max-width:100%;min-width:0;white-space:normal;line-height:1.35}
.option-chip input{flex:0 0 auto}
.form-actions{align-items:flex-start}
.form-note{line-height:1.55}
.contact-image{background:#e7e2dc}
.contact-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
@media(max-width:680px){
 .footer-prelude{align-items:flex-start;flex-direction:column;gap:8px}
 .footer-prelude span:last-child{text-align:left}
 .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 20px}
 .footer-brand{grid-column:1/-1}
 .footer-brand img{width:min(230px,100%);max-height:62px}
 .footer-bottom>span:nth-child(2){text-align:left}
 .contact-layout{grid-template-columns:minmax(0,1fr);gap:34px}
 .field-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .option-chip{font-size:10px;padding:9px 10px}
}


/* Arrow and footer refinements: consistent geometry instead of platform-dependent glyphs. */
.arrow-link span,
.nav .nav-cta span,
.submit-button span,
.cta-circle span {
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  width:18px;
  height:18px;
  font-size:0;
  line-height:0;
  color:var(--orange);
}
.arrow-link span::before,
.nav .nav-cta span::before,
.submit-button span::before,
.cta-circle span::before {
  content:"";
  position:absolute;
  width:14px;
  height:1px;
  background:currentColor;
  top:9px;
  left:1px;
  transform:rotate(-45deg);
  transform-origin:center;
}
.arrow-link span::after,
.nav .nav-cta span::after,
.submit-button span::after,
.cta-circle span::after {
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  top:3px;
  right:1px;
}
.arrow-link span {width:18px;height:18px;transition:transform .2s ease}
.arrow-link:hover span {transform:translate(3px,-2px)}
.nav .nav-cta span {width:16px;height:16px;margin-left:7px;vertical-align:middle}
.cta-circle {font-size:0;}
.cta-circle span {width:34px;height:34px}
.cta-circle span::before {width:28px;top:17px;left:2px;height:1.5px}
.cta-circle span::after {width:10px;height:10px;top:4px;right:2px;border-width:1.5px}
.cta-circle:hover span {transform:translate(2px,-2px)}
.footer-brand .footer-wordmark {display:inline-block;margin:0 0 18px;color:#f2eeeb;font-size:15px;line-height:1;letter-spacing:.08em;font-weight:600}
.footer-brand .footer-wordmark::after {content:"";display:block;width:28px;height:2px;background:var(--orange);margin-top:12px}
.footer-brand p:first-of-type {max-width:280px}
@media(max-width:680px){.cta-circle span{width:25px;height:25px}.cta-circle span::before{width:21px;top:13px}.cta-circle span::after{width:8px;height:8px;top:3px}}

/* Final visual corrections: precise vector arrows, balanced CTA/footer, unique editorial photography. */
.arrow-link .arrow-icon, .nav .nav-cta .arrow-icon, .submit-button .arrow-icon {
  display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; flex:0 0 18px; color:var(--orange); margin:0; font-size:0; line-height:0; transition:transform .2s ease;
}
.arrow-icon svg {display:block; width:18px; height:18px; overflow:visible}
.arrow-icon svg path, .arrow-icon-large path, .arrow-up svg path {fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:square; stroke-linejoin:miter; vector-effect:non-scaling-stroke}
.arrow-link .arrow-icon {color:var(--orange)}
.arrow-link:hover .arrow-icon, .nav .nav-cta:hover .arrow-icon {transform:translate(2px,-2px)}
.nav .nav-cta .arrow-icon {width:16px;height:16px;flex-basis:16px;vertical-align:middle;margin-left:7px}
.nav .nav-cta .arrow-icon svg {width:16px;height:16px}
.cta-circle {font-size:0; line-height:0; display:grid; place-items:center}
.cta-circle .arrow-icon-large {display:block;width:34px;height:34px;color:var(--orange);transition:transform .2s ease}
.cta-circle:hover .arrow-icon-large {transform:translate(2px,-2px)}
.back-top .arrow-up {display:inline-flex;vertical-align:middle;width:12px;height:12px;color:var(--orange);margin-left:2px}
.back-top .arrow-up svg {width:12px;height:12px;display:block}
/* Reduce the end-of-page CTA footprint so its heading does not sit underneath the sticky navigation at maximum scroll. */
.cta-band {padding-top:clamp(38px,5vw,70px);padding-bottom:clamp(38px,5vw,70px)}
.cta-band h2 {font-size:clamp(2.8rem,6.1vw,6.4rem);line-height:.98;margin-bottom:18px}
.cta-band .lead {margin-bottom:22px}
@media(max-width:680px){.cta-band{padding-top:42px;padding-bottom:42px}.cta-band h2{font-size:clamp(2.6rem,11vw,4.4rem)}.cta-circle .arrow-icon-large{width:26px;height:26px}}
/* SVG arrows replace the earlier pseudo-element glyph entirely; never render both. */
.arrow-icon::before,.arrow-icon::after,.nav .nav-cta .arrow-icon::before,.nav .nav-cta .arrow-icon::after,.cta-circle::before,.cta-circle::after,.cta-circle .arrow-icon-large::before,.cta-circle .arrow-icon-large::after{content:none!important;display:none!important}

/* Final visual pass: solid sticky header and restrained image rendering. */
.site-header{background:#171313!important;isolation:isolate;backdrop-filter:none}
.hero-media>img,.image-band>img{backface-visibility:hidden;transform-style:preserve-3d}
/* Avoid the oversized crop and subpixel parallax making source photography appear soft. */
.hero-media>img{inset:0;width:100%;height:100%;transform:translate3d(0,var(--parallax-y,0px),0);}
.image-band>img{inset:0;width:100%;height:100%;transform:translate3d(0,var(--parallax-y,0px),0);}
@media(prefers-reduced-motion:reduce){.hero-media>img,.image-band>img{transform:none!important}}


/* Contact form correction: checkbox controls must not inherit full-width text-input styling. */
.contact-form fieldset.field{display:block;min-width:0;width:100%;padding:0;margin:0 0 26px;border:0;}
.contact-form fieldset.field legend{display:block;float:none;width:100%;padding:0;margin:0 0 14px;font-size:11px;font-weight:600;}
.contact-form .option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.contact-form .option-chip{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:48px;width:100%;min-width:0;padding:12px 14px;border:1px solid var(--line);font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;}
.contact-form .option-chip input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;display:block;flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;margin:0;padding:0;border:0;border-radius:0;background:transparent;accent-color:var(--orange);box-sizing:border-box;}
.contact-form .option-chip:has(input:checked){border-color:var(--orange);background:#fff4ef;}
.contact-form .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;}
.contact-form .field-grid>.field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:18px;}
.contact-form .field input:not([type=checkbox]),.contact-form .field select,.contact-form .field textarea{width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid #bdb7b2;border-radius:0;background:transparent;color:var(--ink);box-sizing:border-box;}
.contact-form .field textarea{min-height:120px;resize:vertical;}
.contact-form .field label{display:block;font-size:11px;font-weight:600;}
.contact-form .form-intro{align-items:flex-start;}
.contact-form .form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.contact-form .form-note{max-width:360px;margin:0;font-size:10px;line-height:1.55;}
.audience-nav b{font-variant-numeric:tabular-nums;}
@media(max-width:760px){.contact-form .option-grid{grid-template-columns:minmax(0,1fr);}.contact-form .field-grid{grid-template-columns:minmax(0,1fr);gap:0;}}

/* Cookie consent: compact, floating, keyboard-friendly and consistent with the Threefact visual system. */
.cookie-consent{position:fixed;z-index:1000;left:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px);bottom:clamp(14px,2vw,26px);display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:920px;margin-left:auto;padding:20px 22px;background:#211b19;color:#f7f3f0;border:1px solid #514541;box-shadow:0 16px 55px rgba(0,0,0,.24);animation:cookie-arrive .42s cubic-bezier(.2,.65,.3,1) both}
.cookie-copy{min-width:0;max-width:540px}.cookie-eyebrow{display:block;color:#ff6547;font-size:9px;font-weight:600;letter-spacing:.14em;margin-bottom:7px}.cookie-copy p{font-size:12px;line-height:1.55;color:#e2dad6;margin:0 0 6px}.cookie-copy a{font-size:10px;color:#bdb1ab;text-decoration:underline;text-underline-offset:3px}.cookie-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.cookie-actions button{font:inherit;font-size:11px;padding:11px 15px;min-height:38px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.cookie-actions button:focus-visible{outline:2px solid #ff6547;outline-offset:3px}.cookie-reject{border:1px solid #655954;background:transparent;color:#f7f3f0}.cookie-reject:hover{background:#352b28}.cookie-accept{border:1px solid #ff6547;background:#ff6547;color:#1b1412}.cookie-accept:hover{background:#ff7b61;border-color:#ff7b61;transform:translateY(-1px)}.cookie-close{display:none;border:0;background:transparent;color:#f7f3f0;font-size:22px!important;padding:4px!important;min-width:28px}.cookie-consent--leaving{opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}
@keyframes cookie-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Subtle interaction details: motion stays small, functional and respects reduced-motion preferences. */
.card-image img,.hero-media img,.image-band img,.audience-art img,.contact-image img{transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .45s ease}
.image-card:hover .card-image img{transform:scale(1.025)}
.hero-media:hover img,.image-band:hover img{filter:saturate(1.04)}
.service-row{transition:border-color .25s ease,padding-left .25s ease}
.service-row:hover{border-color:var(--orange);padding-left:6px}
.process-card,.partnership,.proof-item{transition:transform .28s ease,border-color .28s ease}
.process-card:hover,.partnership:hover,.proof-item:hover{transform:translateY(-3px)}
.footer-col a,.audience-nav a,.arrow-link,.nav a{transition:color .2s ease,opacity .2s ease}
.section-heading h2,.audience-copy h2,.image-card h3{ text-wrap:pretty }
@media(max-width:760px){.cookie-consent{left:12px;right:12px;bottom:12px;padding:16px;gap:14px;align-items:flex-start}.cookie-actions{gap:6px}.cookie-actions button{padding:10px 11px}.cookie-copy p{font-size:11px}}
@media(max-width:520px){.cookie-consent{display:block;padding:16px 42px 15px 15px}.cookie-actions{margin-top:13px}.cookie-actions button{flex:1}.cookie-close{display:block;position:absolute;top:8px;right:8px;width:28px;min-width:28px}.cookie-copy p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.cookie-consent{animation:none}.cookie-consent--leaving{transition:none}.image-card:hover .card-image img,.service-row:hover,.process-card:hover,.partnership:hover,.proof-item:hover{transform:none}}


/* Revision 8: audience vertical numbering and more editorial image treatment */
.audience-nav a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;justify-content:initial;gap:12px;padding:18px 0;}
.audience-nav b{grid-column:1;grid-row:1;font-size:10px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--orange);}
.audience-nav span{grid-column:2;grid-row:1;min-width:0;color:var(--ink);}
.audience-nav a:hover span{color:var(--orange);}
.audience-art,.card-image,.hero-media{background:#e9e5e0;}
.audience-art img,.card-image img{display:block;filter:saturate(.88) contrast(1.015);}
.image-band>img{filter:saturate(.82);}
@media(max-width:680px){.audience-nav a{grid-template-columns:32px minmax(0,1fr);padding:15px 0;}}


/* Revision 9: contact page alignment and a more considered, professional enquiry form. */
.contact-page-intro{padding-top:clamp(54px,7vw,100px);padding-bottom:clamp(30px,4vw,56px)}
.contact-page-intro .section-heading{align-items:start;gap:clamp(28px,6vw,90px)}
.contact-page-intro .section-heading h1{max-width:900px;margin-bottom:24px}
.contact-page-intro .section-heading .body-copy{max-width:590px}
.contact-layout{grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);gap:clamp(32px,6vw,92px);align-items:start;padding-top:0;padding-bottom:clamp(64px,8vw,112px)}
.contact-aside{min-width:0;border-top:1px solid var(--line);padding-top:20px}
.contact-aside h2{font-size:clamp(2rem,3vw,3.25rem);line-height:1.02;max-width:440px;margin-bottom:18px}
.contact-aside>p:not(.eyebrow){font-size:14px;line-height:1.65;max-width:450px}
.contact-aside .contact-image{margin-top:26px;aspect-ratio:1.35;background:#e9e4de;overflow:hidden}
.contact-aside .contact-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(1.02)}
.contact-form{min-width:0;border-top:1px solid var(--line);padding-top:20px}
.contact-form .form-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}
.contact-form .form-intro .eyebrow{margin:0}
.contact-form .required-note{font-size:10px;white-space:nowrap;color:var(--muted)}
.contact-form .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px}
.contact-form .field-grid>.field{margin:0 0 12px;gap:8px}
.contact-form .field label,.contact-form .field legend{font-size:11px;font-weight:600;line-height:1.4;color:var(--ink)}
.contact-form .field input:not([type=checkbox]),.contact-form .field select{min-height:48px;padding:10px 0;border-bottom:1px solid #c9c3bd;font-size:14px}
.contact-form .field input::placeholder,.contact-form .field textarea::placeholder{color:#8b8581;opacity:1}
.contact-form fieldset.field{margin:14px 0 24px}
.contact-form fieldset.field legend{margin-bottom:12px}
.contact-form .option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.contact-form .option-chip{position:relative;min-height:54px;padding:13px 14px;gap:11px;border:1px solid #d8d3ce;background:#fff;font-size:12px;line-height:1.4;transition:border-color .2s ease,background .2s ease}
.contact-form .option-chip:hover{border-color:#a79c95}
.contact-form .option-chip input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;accent-color:var(--orange)}
.contact-form .option-chip:has(input:checked){border-color:var(--orange);background:#fff6f2}
.contact-form>.field{margin:0 0 22px}
.contact-form .field textarea{min-height:132px;padding:13px 0;border-bottom:1px solid #c9c3bd;font-size:14px;line-height:1.55}
.contact-form .form-actions{margin-top:8px;align-items:center}
.contact-form .submit-button{min-width:205px;min-height:50px;align-items:center}
.contact-form .form-note{max-width:340px;font-size:10px;line-height:1.55;color:#77716e}
.contact-form .form-status{min-height:1em;margin:14px 0 0;font-size:12px}
@media(max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:38px}.contact-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);column-gap:28px;align-items:start}.contact-aside .eyebrow:first-child,.contact-aside h2,.contact-aside>p:nth-of-type(2){grid-column:1}.contact-aside .contact-image{grid-column:2;grid-row:1/span 4;margin-top:0}.contact-aside>p:nth-of-type(3),.contact-aside>p:nth-of-type(4){grid-column:1}.contact-form .field-grid{gap:16px 28px}}
@media(max-width:620px){.contact-page-intro{padding-top:42px;padding-bottom:26px}.contact-page-intro .section-heading{gap:18px}.contact-page-intro .section-heading h1{font-size:clamp(3.1rem,13vw,5rem)!important}.contact-layout{padding-bottom:64px}.contact-aside{display:block}.contact-aside .contact-image{margin-top:22px;aspect-ratio:1.5}.contact-form .form-intro{flex-direction:column;gap:8px;margin-bottom:22px}.contact-form .field-grid,.contact-form .option-grid{grid-template-columns:minmax(0,1fr);gap:0}.contact-form .option-grid{gap:8px}.contact-form .field-grid>.field{margin-bottom:16px}.contact-form .option-chip{min-height:50px}.contact-form .form-actions{align-items:stretch;flex-direction:column}.contact-form .submit-button{width:100%}.contact-form .form-note{max-width:none}}


/* Threefact editorial image system: a consistent, natural studio palette */
.hero-media img, .image-band img, .card-image img, .audience-art img, .contact-image img {
  filter: saturate(.91) contrast(1.015);
  image-rendering: auto;
}
.card-image, .audience-art, .contact-image, .hero-media, .image-band {
  background: #292320;
}
.card-image img, .audience-art img, .contact-image img {
  transition: transform .7s cubic-bezier(.2,.65,.3,1), filter .45s ease;
}
.image-card:hover .card-image img, .audience-row:hover .audience-art img {
  filter: saturate(1) contrast(1.02);
}


/* Editorial photo direction: natural photography, warm neutrals, restrained saturation */
.hero-media img, .image-band img, .card-image img, .audience-art img, .contact-image img {
  filter: saturate(.84) sepia(.055) contrast(1.035);
  image-rendering: auto;
}
.card-image, .audience-art, .contact-image, .hero-media, .image-band { background: #292320; }
.card-image img, .audience-art img, .contact-image img { transition: transform .7s cubic-bezier(.2,.65,.3,1), filter .45s ease; }
.image-card:hover .card-image img, .audience-row:hover .audience-art img { filter: saturate(.94) sepia(.025) contrast(1.04); }


/* Threefact visual system v12: warm paper, charcoal and orange; restrained motion. */
:root{--ink:#191614;--paper:#f5f2ec;--white:#fffdfa;--orange:#f15b35;--muted:#77716b;--line:#d9d2ca;--accent-warm:#d98a58}
html{background:var(--paper)}
body{background:var(--white)}
.site-header{background:var(--ink)!important}
.home-page .site-header{position:sticky;top:0;left:auto;right:auto;background:var(--ink)!important;backdrop-filter:none;}
.home-hero{padding-top:0;background:var(--ink)}
.home-hero:after{background:linear-gradient(90deg,rgba(25,22,20,.76),rgba(25,22,20,.16) 78%),linear-gradient(0deg,rgba(25,22,20,.58),rgba(25,22,20,.04) 68%)}
.home-image-statement{position:relative;isolation:isolate;overflow:hidden;background:#191614;color:#fff;}
.home-image-statement>img{display:none!important}
.home-image-statement:before{content:"";position:absolute;inset:-28%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 18% 28%,rgba(241,91,53,.22),transparent 35%),radial-gradient(ellipse at 82% 68%,rgba(217,138,88,.15),transparent 32%),radial-gradient(ellipse at 55% 15%,rgba(255,238,215,.055),transparent 30%);transform:translate3d(0,0,0) scale(1);}
.home-image-statement:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(25,22,20,.30),rgba(25,22,20,.02) 52%,rgba(25,22,20,.28));}
@media(prefers-reduced-motion:no-preference){.home-image-statement:before{animation:threefact-glow-drift 22s ease-in-out infinite alternate}.home-image-statement .band-content{animation:threefact-content-in .8s ease-out both}}
@keyframes threefact-glow-drift{0%{transform:translate3d(-2%,1%,0) scale(1)}50%{transform:translate3d(2%,-1%,0) scale(1.05)}100%{transform:translate3d(-1%,2%,0) scale(1.02)}}
@keyframes threefact-content-in{from{opacity:.72;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hero-media>img,.image-band>img,.home-hero>img{object-position:center;}
img[src*="studio-warm"],img[src*="studio-cinematic"]{background:#29221e;}
@media(prefers-reduced-motion:reduce){.home-image-statement:before,.home-image-statement .band-content{animation:none!important;transform:none!important}}


/* Image quality and layout stability: preserve intrinsic proportions by default.
   Editorial image frames intentionally crop with object-fit: cover; no image is stretched. */
img{max-width:100%}
img:not([width]):not([height]){height:auto}


/* Image framing pass v14: standalone source photographs, clean edges, no parallax scaling. */
.hero-media{min-width:0;min-height:0;}
.hero-media>img{inset:0!important;width:100%;height:100%!important;object-fit:cover;object-position:center;transform:none!important;filter:none!important;image-rendering:auto;}
.image-band>img{inset:0!important;width:100%;height:100%!important;object-fit:cover;object-position:center;transform:none!important;filter:none!important;image-rendering:auto;}
.home-hero>img,.home-hero>video{inset:0!important;width:100%;height:100%!important;object-fit:cover;object-position:center 46%;transform:scale(1.035);filter:none!important;image-rendering:auto;}
.card-image img,.audience-art img,.contact-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none!important;image-rendering:auto;}
.card-image,.audience-art,.contact-image,.hero-media,.image-band{overflow:hidden;}
@media (min-width:901px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(520px,48vw,700px)}.hero-media{min-height:520px}}
@media (max-width:900px){.hero{min-height:0}.hero-media{min-height:clamp(320px,55vw,520px)}.hero-media>img{object-position:center 42%}}
@media (max-width:680px){.hero-media{min-height:300px;height:300px}.home-hero{min-height:590px}.home-hero>img,.home-hero>video{object-position:center 44%}.image-band{min-height:390px}.image-band>img{object-position:center 50%}.hero-copy{min-height:0}.hero h1{max-width:12ch}}
@media (max-width:390px){.brand{width:132px}.site-header{gap:10px}.menu-toggle{padding:8px 10px}.hero-copy{padding-inline:20px}.hero h1{font-size:clamp(2.85rem,12.6vw,3.6rem)}.home-hero h1{font-size:clamp(3rem,12.6vw,4rem)}}
@media(prefers-reduced-motion:reduce){.hero-media>img,.image-band>img,.home-hero>img,.home-hero>video{transform:none!important;animation:none!important}}


/* Homepage hero: restrained cinematic motion, without changing the image crop. */
@keyframes threefact-hero-drift {
  0%, 100% { transform: scale(1.035) translate3d(-.25%, 0, 0); }
  50% { transform: scale(1.085) translate3d(.25%, -0.35%, 0); }
}
@media (prefers-reduced-motion: no-preference) {
  .home-hero > img,.home-hero > video {
    animation: threefact-hero-drift 26s cubic-bezier(.45, 0, .55, 1) infinite alternate;
    transform-origin: center 46%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero > img,.home-hero > video { animation: none !important; transform: none !important; }
}

/* Logo consistency update: use the supplied Threefact SVG without forced aspect ratio. */
.brand img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center}
.footer-brand .footer-wordmark{display:block;width:min(260px,100%);margin:0 0 18px;line-height:0;letter-spacing:normal;font-size:initial;font-weight:normal}
.footer-brand .footer-wordmark::after{display:none}
.footer-brand .footer-wordmark img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center;margin:0}
@media(max-width:680px){.footer-brand .footer-wordmark{width:min(230px,100%)}}

/* Refined logo scale: quiet, balanced, and responsive. */
.brand{width:168px;flex:0 0 auto}
.brand img{width:100%;height:auto;max-width:100%}
.footer-brand .footer-wordmark{width:min(190px,100%);margin:0 0 18px}
.footer-brand .footer-wordmark img{width:100%;height:auto}
@media(max-width:900px){.brand{width:148px}}
@media(max-width:680px){
  .brand{width:132px}
  .footer-brand .footer-wordmark{width:min(170px,100%)}
}
@media(max-width:390px){.brand{width:122px}}
