@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f8f7;--ink:#203236;--muted:#596b6d;--accent:#28767d;--line:#d6e1df;--light:#91cbd0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%}.header{height:102px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:flex;gap:14px;align-items:center}.brand>span{font-family:Manrope,sans-serif;font-size:25px;font-weight:800;letter-spacing:5px;line-height:1.1}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:4px;font-weight:500;margin-top:7px}nav{display:flex;align-items:center;gap:36px;font-size:13px}nav a:hover{color:var(--accent)}.nav-cta{border-bottom:1px solid var(--ink);padding:10px 0;margin-left:20px;min-width:100px;display:flex;justify-content:space-between}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:66px 8% 24px 11%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.7;margin:0 0 25px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-3.5px;line-height:1.08}h1{font-size:clamp(62px,6vw,94px);margin:0 0 28px}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro{max-width:340px;font-size:15px;color:var(--muted);margin-bottom:30px}.button{background:var(--ink);color:#fff;padding:18px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid var(--ink);font-size:12px;transition:background .2s}.button:hover{background:var(--accent);border-color:var(--accent)}.button span{font-size:20px}.text-link{font-size:12px;display:inline-flex;gap:24px;align-items:center;border:0;border-bottom:1px solid currentColor;background:transparent;padding:9px 0}.hero-copy>.text-link{margin-top:13px}.hero-foot{margin-top:auto;padding-top:45px;display:flex;justify-content:space-between;gap:25px;width:100%;font-size:8px;letter-spacing:1.3px;color:var(--muted)}.hero-photo{position:relative;margin:22px 22px 22px 0;min-width:0;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;position:absolute}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(15,20,16,.6))}.photo-label{position:absolute;bottom:35px;left:35px;right:35px;display:flex;align-items:center;justify-content:space-between;color:white;z-index:1;font-size:10px;letter-spacing:2px;line-height:1.7}.photo-symbol{border:1px solid #ffffff70;border-radius:50%;width:50px;height:50px;text-align:center;padding-top:9px;font-size:25px}.vertical-label{position:absolute;right:20px;top:28px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:white;text-shadow:0 1px 4px #333}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:25px;padding:25px 5%;background:var(--ink);color:#f5f0e7;font-size:12px}.ribbon b{font-size:22px;color:var(--light);font-weight:400}.section{padding:100px 7%}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;margin-bottom:45px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:375px;margin-bottom:5px;color:var(--muted)}h2{font-size:clamp(38px,4.5vw,62px);margin-bottom:0}h3{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.6px;font-weight:600}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{position:relative;padding:38px 30px 30px 0}.service-grid article+article{padding-left:35px;border-left:1px solid var(--line)}.service-number{position:absolute;right:30px;top:35px;font-size:11px;color:var(--muted)}.service-grid svg{width:49px;height:49px;fill:none;stroke:var(--accent);stroke-width:1.6;margin-bottom:30px}.service-grid p{font-size:13px;max-width:290px;color:var(--muted);min-height:65px}.service-grid a{font-size:11px;display:flex;justify-content:space-between;max-width:290px;margin-top:25px}.service-grid a:hover{color:var(--accent)}.work{background:#e6f0ee}.filters{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}.filters button{border:1px solid #cccec4;background:transparent;padding:9px 16px;border-radius:30px;font-size:11px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}.gallery-card{background:transparent;border:0;text-align:left;padding:0;color:var(--ink);min-width:0}.gallery-photo{position:relative;overflow:hidden;aspect-ratio:4/5;background:#d1d1c8}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-card:hover img{transform:scale(1.035)}.gallery-photo>span{position:absolute;bottom:15px;right:15px;background:var(--paper);width:36px;height:36px;border-radius:50%;text-align:center;line-height:36px;font-size:18px}.gallery-card h3{font-size:15px;margin:15px 0 2px}.gallery-card p{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:0}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:35px;font-size:11px;color:var(--muted)}.film-section{padding:75px 7%;background:var(--ink);color:var(--paper)}.film-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 12%;margin-bottom:35px}.film-intro .eyebrow{grid-column:1/-1;color:var(--light)}.film-intro h2{font-size:45px}.film-intro em{color:var(--light)}.film-intro>p:last-child{align-self:end;max-width:370px;color:#c2d8d8;font-size:13px}.films{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.films video{width:100%;aspect-ratio:3/4;object-fit:cover;background:#111}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:570px;object-fit:cover}.image-note{position:absolute;bottom:25px;left:25px;background:var(--paper);padding:20px 25px;font-size:9px;letter-spacing:1.6px}.about-copy h2{margin-bottom:25px}.about-copy>p{color:var(--muted);font-size:13px}.about-copy .eyebrow{color:var(--ink)}.about-copy .lead{font-size:18px;color:var(--ink)}.values{display:flex;flex-direction:column;margin-top:25px}.values span{border-top:1px solid var(--line);padding:13px 0;font-size:12px}.values span:before{content:'↗';color:var(--accent);padding-right:18px}.process{padding-top:15px}.process-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:35px}.process h2{font-size:42px}.process article span{font-size:10px;color:var(--accent);letter-spacing:1.5px}.process h3{font-size:17px;margin-top:20px}.process article p{font-size:12px;color:var(--muted)}.contact{background:#e0edeb;display:grid;grid-template-columns:1fr 1.15fr;gap:11%}.contact h2{font-size:60px;margin-bottom:25px}.contact p{color:var(--muted);font-size:13px}address{font-style:normal;font-size:13px;margin-top:35px}address>span{display:block;font-size:9px;letter-spacing:2px;margin-bottom:10px;color:var(--accent)}form{background:var(--paper);padding:35px}form h3{margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:11px;margin-bottom:19px;font-weight:500}input,select,textarea{display:block;width:100%;padding:11px 0;background:transparent;border:0;border-bottom:1px solid #b8bcb0;border-radius:0;color:var(--ink);font-size:12px;resize:vertical}input::placeholder,textarea::placeholder{color:#7b8076}select{padding-right:20px}label small{font-weight:400;color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.6}.consent input{width:14px;height:14px;flex-shrink:0;accent-color:var(--accent);margin-top:2px}.consent a{text-decoration:underline}form .button{width:100%}#form-status{margin:15px 0 0}.honeypot{display:none}footer{padding:45px 5.5%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer>p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16px;color:var(--muted)}footer>div{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted);text-align:right}dialog{width:min(1100px,96vw);max-height:96vh;background:var(--ink);color:white;border:0;padding:45px 60px}dialog::backdrop{background:#151c19ed}dialog figure{margin:0;text-align:center}dialog figure img{height:75vh;max-width:100%;object-fit:contain;margin:auto}dialog figcaption{font-size:12px;padding-top:15px}dialog button{position:absolute;background:transparent;border:0;color:white;font-size:25px;padding:10px}#close-lightbox{top:5px;right:10px}#previous{left:5px;top:45%}#next{right:5px;top:45%}.skip{position:fixed;left:10px;top:-60px;z-index:50;background:white;padding:10px}.skip:focus{top:10px}.document{max-width:800px;margin:auto;min-height:70vh;padding:70px 25px}.document h1{font-size:48px}.document h2{font-size:24px;letter-spacing:-.5px;margin:30px 0 15px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:820px}}
@media(max-width:1000px){nav{gap:20px}.hero{min-height:620px}.hero-copy{padding-top:45px}h1{font-size:68px}.hero-foot{font-size:7px;gap:12px}.section{padding:75px 6%}.section-heading{gap:7%}.service-grid article{padding-right:20px}.service-grid article+article{padding-left:20px}.about{gap:7%}.about-image img{height:500px}.contact{gap:6%}.contact h2{font-size:50px}form{padding:25px}.process-grid{gap:20px}footer>p{display:none}}
@media(max-width:720px){html{scroll-padding-top:78px}.header{height:78px;padding:0 6%}.brand>span{font-size:21px}.brand img{width:38px;height:38px}.brand small{font-size:8px;letter-spacing:3px}.menu{display:flex;gap:13px;align-items:center;border:0;background:none;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:78px;padding:20px 6% 30px;background:var(--paper);border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:flex-start}.nav-cta{margin-left:0}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 30px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:70px;letter-spacing:-3px}.intro{font-size:14px;max-width:330px}.hero-foot{padding-top:28px;font-size:8px}.hero-photo{margin:0 20px 20px;height:430px}.hero-photo>img{object-position:center 47%}.ribbon{overflow:hidden;justify-content:flex-start;white-space:nowrap;gap:22px;padding:19px 25px;font-size:11px}.ribbon span:last-child,.ribbon b:last-of-type{display:none}.section{padding:65px 7%}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}h2{font-size:44px;letter-spacing:-2px}.eyebrow{font-size:9px;margin-bottom:18px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:13px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{border-left:0;padding:28px 0;border-bottom:1px solid var(--line)}.service-grid article:last-child{border-bottom:0}.service-grid svg{margin-bottom:15px;width:38px;height:38px}.service-grid p{min-height:0;max-width:100%}.service-grid a{max-width:100%;margin-top:12px}.gallery{grid-template-columns:repeat(2,1fr);gap:24px 12px}.gallery-card h3{font-size:12px}.gallery-card p{font-size:8px;letter-spacing:.8px}.gallery-photo>span{width:28px;height:28px;line-height:28px;bottom:9px;right:9px}.gallery-bottom{gap:20px}.gallery-bottom>span{max-width:130px;font-size:10px}.film-section{padding:60px 7%}.film-intro{grid-template-columns:1fr;gap:20px}.film-intro .eyebrow{margin-bottom:0}.film-intro h2{font-size:40px}.films{grid-template-columns:repeat(2,1fr);gap:12px}.about{grid-template-columns:1fr;gap:35px}.about-image img{height:430px}.about-copy h2{font-size:44px}.process{padding-top:0}.process-grid{grid-template-columns:1fr;gap:20px}.process article{border-bottom:1px solid var(--line);padding-bottom:10px}.process article h3{margin-top:10px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:50px}.contact address{margin-top:25px}form{padding:25px 20px}.form-row{gap:15px}footer{padding:35px 7%;align-items:flex-start;flex-direction:column;gap:25px}footer>div{text-align:left;flex-direction:row;gap:25px}dialog{padding:45px 35px}dialog figure img{height:65vh}.document h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:720px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}h1{font-size:clamp(48px,15.2vw,70px)}.hero-foot{gap:12px;flex-wrap:wrap}.section-heading,.about,.contact,.film-intro,.process-grid{grid-template-columns:minmax(0,1fr)}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-photo{min-width:0}.contact h2{font-size:clamp(40px,12.5vw,50px)}}
.album-heading{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;align-items:end;border-top:1px solid #c5d9d6;padding-top:30px;margin-top:15px}.album-heading:first-child{margin-top:0}.album-heading .eyebrow{margin-bottom:9px;color:var(--accent)}.album-heading h3{font-size:26px;margin-bottom:6px}.album-heading p:last-child{font-size:12px;color:var(--muted);margin-bottom:0}.album-heading>span{font-size:10px;white-space:nowrap;color:var(--muted);padding-bottom:3px}@media(max-width:720px){.album-heading{align-items:start;flex-direction:column;gap:8px}.album-heading h3{font-size:22px}.gallery-bottom>span{max-width:210px}}

.brand .brand-logo{width:205px;height:auto;max-height:78px;object-fit:contain}.button{background:var(--accent);border-color:var(--accent)}.button:hover{background:var(--ink);border-color:var(--ink)}@media(max-width:720px){.brand .brand-logo{width:170px;height:auto;max-height:64px}}
