@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
:root{color-scheme:dark;--bg:#030504;--text:#f3f6f0;--muted:#aeb9ad;--green:#a8e591;--line:#29372c;--surface:#0a100c;font-family:Manrope,Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:6px}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;z-index:9;background:var(--green);color:var(--bg);padding:12px}.skip:focus{top:12px}.header{height:122px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{display:block;width:108px;height:auto}nav{display:flex;align-items:center;gap:38px;font-size:14px}.nav-cta{border:1px solid #526047;border-radius:40px;padding:12px 20px}.nav-cta span{margin-left:28px}.hero{position:relative;padding-top:55px;padding-bottom:56px;isolation:isolate}.hero:before{content:"";position:absolute;z-index:-1;inset:-122px -48px -35px 30%;background:radial-gradient(ellipse at 85% 30%,#10341755,transparent 62%);pointer-events:none}.hero-top{display:flex;justify-content:space-between;gap:20px}.eyebrow,.section-label{font-size:13px;letter-spacing:.1em;text-transform:uppercase}.eyebrow{margin:0;color:var(--muted)}h1{font-weight:500;font-size:clamp(58px,8.3vw,120px);line-height:.99;letter-spacing:-.065em;margin:65px 0 48px}h1 span,h2 span{color:var(--green)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px}.hero-bottom p{font-size:18px;line-height:1.6;margin:0;color:#c3cbbf}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;background:var(--green);color:#101a0f;border:0;border-radius:40px;padding:18px 26px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#c6f6b5;transform:translateY(-2px)}.button span{font-size:24px;line-height:1}.hero-line{height:1px;background:linear-gradient(90deg,var(--green),#29372c 70%,transparent);margin-top:65px}.disciplines{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:50px;color:var(--muted);font-size:14px}.section{padding-block:100px;border-bottom:1px solid var(--line)}.section-label{color:var(--muted);display:flex;justify-content:space-between;gap:20px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro .section-label{display:block}.small-mark{display:block;font-size:60px;font-weight:800;font-style:italic;color:#36523c;margin-top:34px;letter-spacing:-.08em}h2{font-size:clamp(36px,4.2vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0 0 34px}.intro p{max-width:590px;color:var(--muted);font-size:18px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-top:42px;margin-bottom:48px}.section-heading h2{margin:0}.section-heading p{max-width:320px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:34px 30px;display:flex;flex-direction:column;min-width:0}.service.featured{background:linear-gradient(145deg,#142419,#0a100c 75%);border-color:#4b6843}.number{font-size:14px;color:var(--green)}h3{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.02em}.service h3{font-size:32px;line-height:1.15;margin:48px 0 20px}.service p{color:var(--muted);margin:0 0 25px;min-height:75px}.service ul{list-style:none;padding:24px 0 30px;margin:0;border-top:1px solid var(--line);color:#c4cdbf;font-size:14px}.service li+li{margin-top:10px}.service a{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid var(--line);padding-top:24px;font-size:15px}.service a:hover{color:var(--green)}.process h2{margin-top:42px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps span{color:var(--green);font-size:14px}.steps h3{margin:30px 0 12px}.steps p{color:var(--muted);max-width:330px}.contact{background:radial-gradient(ellipse at 0% 100%,#0d2615 0%,#050906 62%)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact .eyebrow{margin-bottom:32px}.contact p{color:var(--muted)}.contact-logo{object-fit:contain;margin-top:65px;opacity:.8}form{align-self:start}form h3{margin-top:0;font-size:26px}.form-intro{font-size:14px;max-width:470px;margin-bottom:25px}label{display:block;font-size:14px;margin-bottom:22px;color:#d5ddd0}input,select,textarea{display:block;width:100%;border:1px solid #3d4e3d;border-radius:8px;color:var(--text);background:#0a120d;padding:13px 14px;margin-top:8px;min-width:0}input::placeholder,textarea::placeholder{color:#9aa994}textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{width:100%;margin-top:6px}.status{min-height:24px;font-size:14px}footer{display:flex;justify-content:space-between;gap:20px;padding-block:36px;color:var(--muted);font-size:14px}footer a:hover{color:var(--green)}@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header{height:98px}nav{gap:22px}.hero:before{inset:-98px -24px 0 0}.hero{padding-top:36px}h1{margin-top:55px;font-size:clamp(56px,10vw,90px)}.section{padding-block:72px}.intro{grid-template-columns:1fr;gap:30px}.intro .section-label{display:flex}.small-mark{display:none}.section-heading{display:block}.section-heading p{max-width:550px;margin-top:24px}.service-grid{grid-template-columns:1fr}.service{display:block}.service h3{margin-top:25px}.service h3 br{display:none}.service p{min-height:0}.service ul{padding-bottom:25px}.contact-grid{gap:50px;grid-template-columns:1fr 1fr}.contact h2{font-size:44px}.steps{gap:25px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header{height:90px}.brand img{width:80px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:10px 15px;font-size:14px}.nav-cta span{margin-left:15px}.hero-top .location{display:none}.hero{padding-top:35px;padding-bottom:25px}h1{font-size:clamp(43px,10.5vw,65px);letter-spacing:-.055em;margin:48px 0 32px}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.hero-bottom .button{margin-top:28px}.hero-line{margin-top:42px}.disciplines{display:grid;grid-template-columns:1fr 1fr;font-size:13px;padding:10px 0 35px}.section{padding-block:60px}.intro p{font-size:16px}.section-heading{margin-top:30px}.service{padding:28px}.steps{grid-template-columns:1fr;gap:28px}.steps h3{margin-top:18px}.steps p{max-width:none}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-logo{display:none}.contact h2{font-size:48px}.field-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;font-size:13px}footer span:first-child{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Portfolio-led layout, using supplied work rather than stock imagery. */
.hero-composition{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:center;margin-top:45px;margin-bottom:42px}.hero h1{font-size:clamp(48px,6.15vw,88px);margin:0;letter-spacing:-.06em;line-height:1.02}.hero-specialism{font-size:14px;color:var(--muted);margin:30px 0 0}.hero-frames{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start;padding:0 0 40px}.frame{margin:0;min-width:0}.frame-b{transform:translateY(45px)}.frame img{display:block;width:100%;height:auto;aspect-ratio:512/910;object-fit:cover;border-radius:12px;border:1px solid #3b4a39}.frame figcaption{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 24px}.film-meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;margin-bottom:15px;min-height:38px;align-items:end}.project-card video{display:block;width:100%;height:auto;aspect-ratio:512/910;object-fit:contain;background:#000;border-radius:12px;border:1px solid var(--line)}.project-card h3{font-size:26px;margin:24px 0 8px}.project-card p{margin:0;color:var(--muted);font-size:15px;max-width:360px}.work-note{font-size:13px;color:var(--muted);margin-top:44px;max-width:780px}.contact-links{display:flex;flex-direction:column;gap:14px;margin-top:36px;align-items:start}.contact-links a{font-size:16px;border-bottom:1px solid #53674b;overflow-wrap:anywhere}.contact-links a:hover{color:var(--green)}.copy-button{background:none;border:0;border-bottom:1px solid #697d60;color:var(--text);padding:6px 0;margin-top:18px;font-size:14px;cursor:pointer}.copy-button:hover{color:var(--green)}@media(max-width:1050px){.hero-composition{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:clamp(44px,6vw,66px)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:20px}}@media(max-width:700px){.hero-composition{display:flex;flex-direction:column;align-items:stretch;margin-top:38px;margin-bottom:30px;gap:35px}.hero h1{font-size:clamp(49px,10.5vw,74px)}.hero-specialism{margin-top:22px}.hero-frames{width:min(100%,440px);align-self:center;padding-bottom:32px;gap:16px}.frame-b{transform:translateY(26px)}.hero-bottom{display:block}.hero-bottom .button{margin-top:24px}.hero-bottom p{font-size:16px}.film-meta{font-size:12px}.project-card h3{font-size:23px}.contact-links a{font-size:15px}}@media(max-width:480px){.work-grid{grid-template-columns:1fr;gap:44px}.project-card{max-width:360px;width:100%;margin-inline:auto}.film-meta{min-height:0}.hero h1{font-size:clamp(44px,10.7vw,57px)}.section-label{font-size:12px;gap:12px}.work .section-label span:last-child{display:none}.nav-cta{padding:10px 14px}footer{gap:18px}}
/* Version two: retain the original palette, type and film compositions. */
[hidden]{display:none!important}.header-actions{display:flex;align-items:center;gap:30px}.menu-toggle,.menu-close{display:flex;align-items:center;gap:18px;background:transparent;color:var(--text);border:0;cursor:pointer;padding:12px 0;min-height:44px}.menu-toggle i{display:block;width:30px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:width .2s}.menu-toggle:hover i{width:38px}.menu-toggle{min-width:95px;justify-content:space-between}.menu-close span{font-size:32px;line-height:1}#site-menu{position:fixed;inset:0;border:0;margin:0;padding:0;width:100%;max-width:none;height:100dvh;max-height:none;background:#030504;color:var(--text);overflow:auto}#site-menu::backdrop{background:#030504}.menu-inner{min-height:100%;display:flex;flex-direction:column}.menu-top{height:122px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}#site-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:30px 0;flex:1;justify-content:center}#site-menu nav a{display:flex!important;align-items:center;gap:30px;font-size:clamp(35px,6.5vh,76px);letter-spacing:-.045em;line-height:1.18;padding:5px 0;transition:color .2s,transform .2s;width:fit-content}#site-menu nav a:hover,#site-menu nav a[aria-current]{color:var(--green);transform:translateX(8px)}.menu-number{font-size:13px;letter-spacing:0;color:var(--muted);width:25px}.menu-bottom{display:flex;justify-content:space-between;gap:25px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}#site-menu[open]{animation:menu-reveal .3s ease-out}#site-menu[open] nav{animation:menu-type .4s ease-out}@keyframes menu-reveal{from{opacity:0}to{opacity:1}}@keyframes menu-type{from{transform:translateY(15px)}to{transform:translateY(0)}}body.menu-open{overflow:hidden}.page-intro{padding-top:70px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(45px,6.5vw,90px);margin:38px 0 30px;line-height:1.06}.lead{max-width:680px;font-size:18px;color:var(--muted)}.selected-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px;margin-inline:auto}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #66855a;padding:12px 0;margin-top:25px;min-height:44px}.text-link:hover{color:var(--green)}.service-teaser p:not(.eyebrow){max-width:530px;color:var(--muted)}.service-teaser h2,.closing h2{margin-top:30px}.closing{display:block}.about-story{padding-top:70px;padding-bottom:100px;display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.about-images{position:relative;padding:0 70px 180px 0}.about-images figure{margin:0}.about-primary img{width:100%;height:auto;display:block;border-radius:4px 40px 4px 4px}.about-images figcaption{color:var(--muted);font-size:12px;margin-top:12px}.about-action{position:absolute;bottom:0;right:0;width:46%;transform:rotate(3deg)}.about-action img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;border:8px solid var(--bg);border-radius:6px}.about-copy h2{font-size:clamp(32px,3.4vw,48px);margin-top:25px}.about-copy p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:580px}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:80px}.service-details h2{margin-top:28px}.service-details p{color:var(--muted)}.service-details h3:first-child{margin-top:0}.service-details h3:not(:first-child){margin-top:36px}.contact h1{font-size:clamp(48px,5vw,72px);margin:0 0 34px;letter-spacing:-.045em;line-height:1.08}.site-footer{display:block}.site-footer nav{display:flex;flex-wrap:wrap;gap:18px 30px;margin:25px 0 35px}.site-footer nav a{display:inline-flex!important;min-height:44px;align-items:center}.footer-brand{font-size:24px;color:var(--text)}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:25px}.reviews{min-height:300px}.review{padding:40px 0;border-top:1px solid var(--line);margin:0}.review blockquote{font-size:clamp(25px,3vw,42px);line-height:1.3;letter-spacing:-.025em;margin:0 0 30px;max-width:950px}.review figcaption{color:var(--green)}.review .review-project{color:var(--muted);font-size:14px}#reviews-empty>p{color:var(--muted)}#reviews-empty h2{margin-top:30px}.hero-frames:hover img{border-color:#719b61}img{max-width:100%}button{touch-action:manipulation}.service a{min-height:48px}
@media(max-width:900px){.menu-top{height:98px}.about-story{gap:40px}.about-images{padding:0 35px 140px 0}.service-details{gap:40px}}
@media(max-width:600px){.header-actions{gap:20px}.header-actions .nav-cta{display:none}.menu-top{height:90px}#site-menu nav a{font-size:clamp(32px,6vh,48px);gap:20px;padding:8px 0}.menu-bottom{flex-direction:column;gap:12px}.page-intro{padding-block:45px}.page-intro h1{margin-top:30px}.lead{font-size:16px}.about-story{display:block;padding-top:40px;padding-bottom:60px}.about-images{padding:0 55px 140px 0;max-width:500px;margin-inline:auto;margin-bottom:55px}.about-copy p:not(.eyebrow){font-size:16px}.service-details{grid-template-columns:1fr;gap:25px}.selected-grid{grid-template-columns:1fr}.site-footer nav{gap:8px 22px}.footer-bottom{font-size:14px}.header{height:90px}.hero-specialism{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.service h2{font-size:32px;line-height:1.15;margin:48px 0 20px;letter-spacing:-.02em}form h2{margin-top:0;font-size:26px;line-height:1.3;letter-spacing:-.02em}@media(max-width:900px){.service h2{margin-top:25px}.service h2 br{display:none}}
@media(max-width:600px){.hero:before{left:-18px;right:-18px}}
.contact form h2{font-size:26px;line-height:1.3;margin-bottom:20px}

/* Stronger typography and a staggered curtain menu. */
body{font-weight:500}h1,h2,h3{font-weight:700}h1,.hero h1{letter-spacing:-.045em}h2{letter-spacing:-.035em}.button,.nav-cta,.menu-toggle,.menu-close,.footer-brand{font-weight:700}.service h2{line-height:1.22}
#site-menu[open]{animation:menu-curtain-in .5s cubic-bezier(.22,1,.36,1) both}
#site-menu[open] nav{animation:none}
#site-menu[open] nav a{font-weight:700;animation:menu-link-in .55s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(100ms + var(--menu-order)*55ms)}
#site-menu nav a:nth-child(1){--menu-order:0}#site-menu nav a:nth-child(2){--menu-order:1}#site-menu nav a:nth-child(3){--menu-order:2}#site-menu nav a:nth-child(4){--menu-order:3}#site-menu nav a:nth-child(5){--menu-order:4}#site-menu nav a:nth-child(6){--menu-order:5}
#site-menu[open] .menu-close span{animation:menu-close-turn .6s cubic-bezier(.22,1,.36,1) both}
#site-menu.is-closing{animation:menu-curtain-out .3s cubic-bezier(.4,0,1,1) both}
#site-menu.is-closing nav a{animation:none}
.menu-toggle i{height:12px;border:0;position:relative;width:30px}.menu-toggle i::before,.menu-toggle i::after{content:"";position:absolute;left:0;width:30px;height:2px;background:currentColor;transition:transform .25s}.menu-toggle i::before{top:0}.menu-toggle i::after{bottom:0}.menu-toggle:hover i::before{transform:translateX(4px)}.menu-toggle:hover i::after{transform:translateX(-4px)}
@keyframes menu-curtain-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes menu-curtain-out{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes menu-link-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-close-turn{from{transform:rotate(-180deg);opacity:0}to{transform:rotate(0);opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
