@font-face{font-family:Vectora;src:url('vectora-roman.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Vectora;src:url('vectora-light.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Vectora;src:url('vectora-black.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}

:root{--red:#b73528;--red-bright:#ca3b2d;--ink:#222a2d;--ink-soft:#394246;--paper:#f7f4ee;--paper-deep:#ebe6dc;--white:#fff;--muted:#6e726f;--line:rgba(34,42,45,.18);--max:1440px;--pad:clamp(1.25rem,4.5vw,4.75rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Vectora,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,p,figure{margin-top:0}
.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;transform:translateY(-160%);padding:.75rem 1rem;background:var(--white);color:var(--ink)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section-pad{padding:clamp(5.5rem,9vw,9rem) var(--pad)}
.section-label{font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;opacity:.55}
.eyebrow{margin:0 0 1.45rem;color:var(--white);font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow.red{color:var(--red)}

.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;background:rgba(247,244,238,.94);border-bottom:1px solid rgba(34,42,45,.1);backdrop-filter:blur(15px);transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 14px 40px rgba(22,28,31,.08)}
.nav-shell{width:min(var(--max),100%);height:94px;margin:auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;width:238px;height:70px}
.brand img{height:100%;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.4rem);font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.main-nav>a:not(.nav-cta){position:relative;padding:.7rem 0}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;right:0;bottom:.35rem;left:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.main-nav>a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:.9rem 1.15rem;border:1px solid var(--ink);transition:.2s}
.nav-cta:hover{background:var(--ink);color:var(--white)}
.menu-toggle{display:none;border:0;background:transparent;padding:.75rem}

.hero{min-height:760px;height:calc(100svh - 94px);max-height:980px;margin-top:94px;display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);background:var(--ink);color:var(--white);overflow:hidden}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,7vw,7rem) clamp(2rem,5vw,5.5rem) 4rem var(--pad)}
.hero-copy::before{content:"";position:absolute;top:8%;left:var(--pad);width:44px;height:5px;background:var(--red)}
h1{max-width:780px;margin-bottom:2rem;font-size:clamp(4rem,6vw,7.2rem);font-weight:300;line-height:.88;letter-spacing:-.055em}
h1 em{display:block;color:#f4b2aa;font-style:normal;font-weight:300}
.hero-lead{max-width:610px;margin-bottom:2.6rem;color:#d6d9d8;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.62}
.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:230px;padding:1.05rem 1.3rem;border:0;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--red);color:var(--white)}
.button-primary:hover{background:var(--red-bright)}
.text-link{padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.38);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hero-note{position:absolute;left:var(--pad);bottom:2rem;margin:0;color:#8f9798;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.hero-visual{position:relative;min-height:100%;background:#111}
.hero-main-image{position:absolute;inset:0 15% 0 0;margin:0;overflow:hidden}
.hero-main-image img{height:100%;object-fit:cover;object-position:center}
.hero-main-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,42,45,.32),transparent 34%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%)}
.hero-main-image figcaption{position:absolute;z-index:2;left:1.5rem;bottom:1.5rem;padding:.55rem .7rem;background:var(--paper);color:var(--ink);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hero-secondary-image{position:absolute;right:0;bottom:10%;width:30%;height:34%;margin:0;border:10px solid var(--paper);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.24)}
.hero-secondary-image img{height:100%;object-fit:cover}
.hero-project-tag{position:absolute;z-index:3;top:7%;right:0;display:flex;align-items:flex-start;gap:.8rem;width:30%;padding:1.1rem 1.2rem;background:var(--red);font-size:.68rem;line-height:1.5;letter-spacing:.05em;text-transform:uppercase}
.hero-project-tag strong{font-size:1.8rem;font-weight:300;line-height:1}

.evidence{display:grid;grid-template-columns:repeat(3,1fr) 1.35fr;align-items:center;gap:1.5rem;max-width:var(--max);margin:auto;padding:2.4rem var(--pad);background:var(--red);color:var(--white)}
.evidence>div{display:flex;align-items:center;gap:1rem;padding-right:1.3rem;border-right:1px solid rgba(255,255,255,.3)}
.evidence strong{font-size:clamp(2rem,3vw,3rem);font-weight:300;letter-spacing:-.05em}
.evidence span{font-size:.67rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.evidence>p{margin:0;font-size:1.05rem;line-height:1.42}

.problem{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.45fr 1.35fr .8fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.problem-title h2,.section-heading h2,.process-intro h2,.cap-copy h2,.contact-intro h2{margin:0;font-size:clamp(3rem,5vw,6rem);font-weight:300;line-height:.96;letter-spacing:-.05em}
.problem-copy{padding-top:2.8rem}
.problem-copy p{font-size:1.1rem;line-height:1.72}
.problem-copy p:last-child{margin-bottom:0;color:var(--muted)}

.benefits{background:var(--ink);color:var(--white)}
.section-heading{max-width:var(--max);margin:0 auto 5rem;display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem;align-items:end}
.section-heading.inverse .section-label{color:#c7cccb}
.section-heading h2{color:var(--ink)}
.section-heading.inverse h2{color:var(--paper)}
.benefit-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.benefit-grid article{min-height:330px;padding:2rem;border-right:1px solid rgba(255,255,255,.22);transition:background .25s ease,transform .25s ease}
.benefit-grid article:last-child{border-right:0}
.benefit-grid article:hover{background:var(--red);transform:translateY(-6px)}
.benefit-grid span{color:#aab0b0;font-size:.75rem}
.benefit-grid h3{max-width:230px;margin:6rem 0 1.2rem;font-size:1.5rem;font-weight:400;line-height:1.15}
.benefit-grid p{max-width:270px;margin:0;color:#c2c7c6;font-size:.94rem;line-height:1.65}
.benefit-grid article:hover span,.benefit-grid article:hover p{color:var(--white)}

.process{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,9vw,11rem)}
.process-intro{position:sticky;top:140px;align-self:start}
.process-intro h2{margin:1rem 0 2rem}
.process-intro>p:last-child{max-width:480px;color:var(--muted);font-size:1.1rem;line-height:1.7}
.process-list{margin:0;padding:0;list-style:none}
.process-list li{display:grid;grid-template-columns:88px 1fr;gap:1rem;padding:2.55rem 0;border-top:1px solid var(--line)}
.process-list li:last-child{border-bottom:1px solid var(--line)}
.process-list>li>span{color:var(--red);font-size:1.7rem;font-weight:300}
.process-list h3{margin:0 0 .5rem;font-size:2.15rem;font-weight:300}
.process-list p{margin:0;color:var(--muted);font-size:1.03rem;line-height:1.65}

.projects{background:var(--paper-deep)}
.featured-case{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.45fr .75fr;background:var(--paper)}
.featured-image{min-height:650px;overflow:hidden}
.featured-image img{height:100%;object-fit:cover;object-position:center}
.featured-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.2rem,4vw,4.5rem)}
.case-number{font-size:.67rem;font-weight:800;letter-spacing:.15em;opacity:.55}
.client{margin:2.5rem 0 .8rem;color:var(--red);font-size:.73rem;font-weight:800;letter-spacing:.16em}
.featured-copy h3,.case-card h3{margin-bottom:1.5rem;font-size:clamp(2.4rem,3.7vw,4.5rem);font-weight:300;line-height:.98;letter-spacing:-.04em}
.featured-copy>p{color:var(--muted);font-size:1.05rem;line-height:1.7}
.featured-copy dl{margin:2rem 0 0}
.featured-copy dl div{display:grid;grid-template-columns:65px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.featured-copy dt{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.featured-copy dd{margin:0;color:var(--muted);font-size:.9rem}
.case-grid{max-width:var(--max);margin:1.4rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.case-card{min-height:540px;padding:clamp(2rem,4vw,4rem)}
.case-dark{display:flex;flex-direction:column;background:var(--ink);color:var(--white)}
.case-dark .client{margin-top:auto}
.case-dark h3{max-width:620px}
.case-dark>p{max-width:560px;color:#c5cac9;line-height:1.65}
.case-result{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.22);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.case-vips{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center;background:var(--white)}
.case-vips-image{min-height:340px;display:flex;align-items:center;justify-content:center;background:var(--paper)}
.case-vips-image img{max-height:330px;object-fit:contain}
.case-vips .client{margin-top:2rem}
.case-vips h3{font-size:clamp(2rem,3vw,3.6rem)}
.case-vips p:last-child{color:var(--muted);line-height:1.65}

.capabilities{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(3rem,7vw,8rem);align-items:center}
.cap-copy h2{margin:1rem 0 2rem}
.cap-copy>p:last-of-type{color:var(--muted);font-size:1.05rem;line-height:1.72}
.cap-copy ul{margin:2.5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.cap-copy li{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cap-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:1rem}
.cap-gallery figure{position:relative;margin:0;overflow:hidden;background:#ddd}
.cap-gallery img{height:100%;object-fit:cover;transition:transform .7s ease}
.cap-gallery figure:hover img{transform:scale(1.035)}
.cap-gallery figcaption{position:absolute;left:1rem;bottom:1rem;padding:.48rem .62rem;background:var(--paper);font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.cap-large{grid-row:1/3;min-height:650px}

.experience{position:relative;min-height:680px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--red);color:var(--white)}
.experience-word{position:absolute;left:-2vw;bottom:-8vw;color:rgba(255,255,255,.08);font-size:clamp(8rem,24vw,26rem);font-weight:800;line-height:1;letter-spacing:-.08em}
.experience-copy{position:relative;z-index:2;width:min(930px,calc(100% - 2 * var(--pad)));text-align:center}
.experience-copy h2{margin:0 0 2rem;font-size:clamp(3rem,5.5vw,6.2rem);font-weight:300;line-height:.98;letter-spacing:-.05em}
.experience-copy>p:not(.eyebrow){max-width:690px;margin:0 auto 3rem;font-size:1.08rem;line-height:1.7}
.brand-list{display:flex;justify-content:center;gap:clamp(2rem,6vw,6rem);padding-top:2rem;border-top:1px solid rgba(255,255,255,.35);font-size:.74rem;font-weight:800;letter-spacing:.2em}

.contact{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,10rem);align-items:start}
.contact-intro{position:sticky;top:140px}
.contact-intro h2{margin:1rem 0 2rem}
.contact-intro>p:last-of-type{max-width:580px;color:var(--muted);font-size:1.08rem;line-height:1.7}
.direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;margin-top:2.4rem}
.direct-contact a{border-bottom:1px solid var(--line);font-size:.95rem}
.direct-contact a:last-child{color:var(--red);font-weight:800}
.project-form{padding:clamp(1.6rem,4vw,3.5rem);background:var(--white);border:1px solid var(--line)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.project-form label{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.25rem;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.project-form input,.project-form textarea{width:100%;padding:.92rem 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;transition:border-color .2s}
.project-form textarea{padding:.9rem;border:1px solid var(--line);resize:vertical}
.project-form input:focus,.project-form textarea:focus{border-color:var(--red)}
.project-form input:user-invalid,.project-form textarea:user-invalid{border-color:#b00020}
.button-dark{margin-top:.5rem;background:var(--ink);color:var(--white)}
.button-dark:hover{background:var(--red)}
.form-note{margin:1rem 0 0;color:var(--muted);font-size:.73rem}

footer{display:grid;grid-template-columns:.8fr .8fr 1.2fr;gap:3rem;align-items:end;padding:3rem var(--pad);background:var(--ink);color:var(--white)}
.footer-logo{width:240px;filter:brightness(0) invert(1);opacity:.92}
footer>p{margin:0;color:#b8bdbc;font-size:.9rem}
footer>p strong{color:var(--white)}
.footer-meta{display:flex;justify-content:flex-end;gap:1.5rem;flex-wrap:wrap;color:#969d9c;font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}
.footer-meta button{padding:0;border:0;border-bottom:1px solid #697170;background:transparent;color:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:inherit}
.privacy-dialog{width:min(620px,calc(100% - 2rem));padding:3rem;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.25)}
.privacy-dialog::backdrop{background:rgba(20,25,28,.72)}
.privacy-dialog h2{font-size:2.4rem;font-weight:300}
.privacy-dialog p{color:var(--muted);line-height:1.7}
.privacy-close{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border:1px solid var(--line);background:transparent;font-size:1.5rem;cursor:pointer}

@media (max-width:1120px){
  .hero{grid-template-columns:1fr 1fr}.hero-main-image{right:0}.hero-secondary-image{display:none}.hero-project-tag{width:42%}
  .evidence{grid-template-columns:repeat(3,1fr)}.evidence>p{grid-column:1/-1;padding-top:.5rem}
  .problem{grid-template-columns:.35fr 1.2fr .85fr}
  .benefit-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid article:nth-child(2){border-right:0}.benefit-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.22)}
  .featured-case{grid-template-columns:1.2fr .8fr}.featured-image{min-height:580px}
  .case-vips{grid-template-columns:1fr}.case-vips-image{min-height:240px}
  .capabilities{grid-template-columns:.8fr 1.2fr}.cap-large{min-height:560px}
}

@media (max-width:800px){
  :root{--pad:1.25rem}
  .nav-shell{height:78px}.brand{width:185px;height:58px}
  .menu-toggle{display:grid;gap:7px}.menu-toggle span:not(.sr-only){display:block;width:28px;height:1px;background:var(--ink);transition:.2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
  .main-nav{position:fixed;top:78px;right:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:1rem var(--pad) 2rem;background:var(--paper);border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s ease}.main-nav.is-open{transform:none}.main-nav a{padding:1rem 0!important;border-bottom:1px solid var(--line)}.main-nav .nav-cta{margin-top:1rem;text-align:center;background:var(--ink);color:var(--white)}
  .hero{height:auto;min-height:0;margin-top:78px;grid-template-columns:1fr}.hero-copy{min-height:610px;padding:6.8rem var(--pad) 4.5rem}.hero-copy::before{top:4.8rem}.hero-note{left:var(--pad);bottom:1.3rem}h1{font-size:clamp(3.6rem,17vw,5.7rem)}
  .hero-visual{height:82vw;min-height:430px}.hero-main-image{inset:0}.hero-project-tag{top:auto;right:0;bottom:0;width:46%}.hero-main-image figcaption{left:var(--pad);bottom:var(--pad)}
  .evidence{grid-template-columns:1fr;padding-top:2.3rem;padding-bottom:2.3rem}.evidence>div{padding:0 0 1rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}.evidence>p{grid-column:auto}
  .problem,.section-heading,.process,.capabilities,.contact{grid-template-columns:1fr}.problem{gap:2rem}.problem-copy{padding-top:0}.problem-title h2,.section-heading h2,.process-intro h2,.cap-copy h2,.contact-intro h2{font-size:clamp(3rem,13vw,4.6rem)}
  .section-heading{gap:1.5rem;margin-bottom:3rem}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.benefit-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.22)}.benefit-grid h3{margin:3.5rem 0 1rem}
  .process{gap:3rem}.process-intro,.contact-intro{position:static}.process-list li{grid-template-columns:64px 1fr}
  .featured-case,.case-grid{grid-template-columns:1fr}.featured-image{min-height:0;aspect-ratio:4/4.2}.case-card{min-height:0}.case-dark{min-height:520px}.case-vips{grid-template-columns:1fr}.case-vips-image{min-height:300px}
  .capabilities{gap:3rem}.cap-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto}.cap-large{grid-column:1/-1;grid-row:auto;min-height:0;aspect-ratio:4/3}.cap-gallery figure:not(.cap-large){aspect-ratio:1/1}
  .experience{min-height:650px}.brand-list{gap:1.4rem;flex-wrap:wrap}
  .form-row{grid-template-columns:1fr}
  footer{grid-template-columns:1fr;align-items:start}.footer-meta{justify-content:flex-start;flex-direction:column;align-items:flex-start}
}

@media (max-width:480px){.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.text-link{text-align:center}.hero-project-tag{width:58%}.case-vips{padding:1.5rem}.project-form{padding:1.35rem}.privacy-dialog{padding:2.2rem 1.5rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
