@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#263036;--deep:#151c20;--muted:#687177;--paper:#f4f2ee;--white:#fff;--line:rgba(38,48,54,.17);--silver:#bbc3c6;--accent:#d3c6b8;--radius:3px;--head:'Iowan Old Style','Baskerville','Times New Roman',serif;--body:'Manrope','Avenir Next',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video{max-width:100%}svg{display:block}::selection{background:#b4b9b8;color:#172024}.container{width:min(100% - 8vw,1440px);margin-inline:auto}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.section-kicker{display:flex;align-items:center;gap:1rem;color:#7c878a}.section-kicker:before{content:'';width:32px;height:1px;background:currentColor}.display{font-family:var(--head);font-size:clamp(3.6rem,7.3vw,8rem);font-weight:400;line-height:.91;letter-spacing:-.06em}.display em,.section-title em{font-weight:400;color:#a1abad}.section-title{font-family:var(--head);font-size:clamp(2.7rem,5.3vw,5.8rem);line-height:1.02;font-weight:400;letter-spacing:-.055em;margin:.25em 0}.body-lead{font-size:clamp(1rem,1.3vw,1.17rem);line-height:1.85;color:#687177;max-width:57ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:1rem 1.25rem;border:1px solid transparent;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background .3s,color .3s,border .3s,transform .3s}.btn:hover{transform:translateY(-3px)}.btn svg{width:16px;height:16px;stroke-width:1.6}.btn-light{background:var(--white);color:var(--deep)}.btn-light:hover{background:#e8e9e7}.btn-dark{background:var(--deep);color:var(--white)}.btn-dark:hover{background:#3c484d}.btn-outline{border-color:currentColor;color:inherit;background:transparent}.btn-outline:hover{background:rgba(255,255,255,.1)}.text-link{display:inline-flex;align-items:center;gap:1rem;border-bottom:1px solid currentColor;padding-bottom:.6rem;font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.text-link svg{width:18px;height:18px;transition:transform .3s}.text-link:hover svg{transform:translateX(5px)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:30;color:#fff}.header-inner{height:116px;display:flex;align-items:center;gap:2.4vw;border-bottom:1px solid rgba(255,255,255,.26)}.brand{display:flex;align-items:center;gap:.75rem;flex:none;min-width:220px}.brand-tooth{width:34px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}.brand-wordmark{width:158px;height:auto;object-fit:contain;filter:brightness(0) invert(1)}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1.2rem,2.6vw,3rem);flex:1}.desktop-nav a{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;opacity:.75;transition:opacity .25s}.desktop-nav a:hover,.desktop-nav a[aria-current]{opacity:1}.header-contact{display:flex;flex-direction:column;gap:.25rem;font-size:.65rem;white-space:nowrap;letter-spacing:.08em}.header-contact a{transition:opacity .25s}.header-contact a:hover{opacity:.65}.header-cta{white-space:nowrap;padding:.93rem 1rem}.menu-toggle{display:none;position:relative;background:transparent;border:1px solid rgba(255,255,255,.5);color:white;width:48px;height:48px;align-items:center;justify-content:center}.menu-toggle svg{width:23px}.menu-backdrop{position:fixed;inset:0;background:rgba(11,17,19,.62);opacity:0;visibility:hidden;z-index:40;transition:opacity .55s,visibility .55s}.mobile-menu{position:fixed;z-index:41;top:0;right:0;height:100dvh;width:min(440px,100%);background:#f5f3ef;color:var(--ink);padding:2rem clamp(1.5rem,5vw,3rem);transform:translateX(101%);visibility:hidden;transition:transform .68s cubic-bezier(.22,1,.36,1),visibility .68s;display:flex;flex-direction:column;overflow-y:auto}.menu-open .menu-backdrop{opacity:1;visibility:visible}.menu-open .mobile-menu{transform:translateX(0);visibility:visible}.mobile-menu-top{display:flex;justify-content:space-between;gap:1rem;align-items:start}.mobile-menu .brand-tooth,.mobile-menu .brand-wordmark{filter:none}.menu-close{width:42px;height:42px;border:1px solid var(--line);background:none;display:grid;place-items:center}.menu-close svg{width:21px}.mobile-contact{display:flex;flex-direction:column;gap:.75rem;margin:3.5rem 0 2.7rem;padding-bottom:2rem;border-bottom:1px solid var(--line);font-size:.85rem}.mobile-contact a{display:flex;gap:.8rem;align-items:center}.mobile-contact svg{width:16px}.mobile-nav{display:grid}.mobile-nav a{font-family:var(--head);font-size:clamp(2.4rem,7vw,3.7rem);letter-spacing:-.04em;padding:.2rem 0}.mobile-nav a[aria-current]{color:#8b979b}
.hero{position:relative;min-height:820px;height:min(920px,100svh);background:#192126;color:white;overflow:hidden;display:flex;align-items:center}.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-video{filter:saturate(.65)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,19,22,.83) 0%,rgba(11,19,22,.60) 47%,rgba(11,19,22,.36) 100%),linear-gradient(0deg,rgba(9,17,19,.55),transparent 35%)}.hero-content{position:relative;z-index:2;padding-top:90px}.hero .eyebrow{color:#d8d8d2;margin:0 0 2.2rem}.hero h1{max-width:900px;margin:0}.hero h1 em{color:#d9e0df}.hero-copy{max-width:570px;font-size:1rem;line-height:1.85;color:#e6e9e8;margin:2rem 0 2.5rem}.hero-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}.hero-scroll{position:absolute;z-index:2;bottom:2rem;right:4vw;display:flex;align-items:center;gap:1rem;font-size:.68rem;letter-spacing:.17em;text-transform:uppercase}.hero-scroll:after{content:'';height:1px;width:65px;background:currentColor}.hero-index{position:absolute;z-index:2;bottom:2.1rem;left:4vw;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#d6d9d7}.intro-overlay{position:fixed;z-index:100;inset:0;display:flex;pointer-events:none;visibility:hidden;overflow:hidden}.intro-overlay.is-active{visibility:visible}.intro-panel{position:relative;isolation:isolate;height:100%;width:50%;flex:none;background:transparent;display:flex;align-items:center}.intro-panel::before{content:"";position:absolute;z-index:-1;inset:-38px;filter:blur(32px)}.intro-panel.left::before{background:linear-gradient(90deg,rgba(5,10,12,.72) 0%,rgba(5,10,12,.5) 38%,rgba(5,10,12,.2) 72%,transparent 100%)}.intro-panel.right::before{background:linear-gradient(270deg,rgba(5,10,12,.72) 0%,rgba(5,10,12,.5) 38%,rgba(5,10,12,.2) 72%,transparent 100%)}.intro-panel.left{justify-content:flex-end}.intro-panel.right{justify-content:flex-start}.intro-half{display:block;height:min(55vw,380px);width:auto;max-width:40vw;object-fit:contain;filter:drop-shadow(0 20px 22px rgba(19,29,33,.09))}.intro-overlay.is-playing .intro-panel.left{animation:panelLeft 1.8s cubic-bezier(.4,0,.2,1) .25s forwards}.intro-overlay.is-playing .intro-panel.right{animation:panelRight 1.8s cubic-bezier(.4,0,.2,1) .25s forwards}.intro-overlay.is-playing{animation:introHide .01s linear 2.1s forwards}@keyframes panelLeft{0%{transform:translateX(0);opacity:1}100%{transform:translateX(-105%);opacity:0}}@keyframes panelRight{0%{transform:translateX(0);opacity:1}100%{transform:translateX(105%);opacity:0}}@keyframes introHide{to{visibility:hidden}}
.statement{background:#f6f5f1;padding:clamp(6rem,12vw,12rem) 0}.statement-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:7vw;align-items:start}.statement .section-title{margin-top:0}.statement-aside{border-top:1px solid var(--line);padding-top:1.5rem}.statement-aside .body-lead{margin-top:0}.duality{background:#e8e9e6;padding:clamp(5rem,9vw,9rem) 0}.duality-top{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3.5rem}.duality-top .section-title{max-width:750px}.duality-top .body-lead{max-width:330px}.duality-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.duality-card{position:relative;min-height:530px;background:#253039;color:white;padding:clamp(2rem,4vw,4.25rem);overflow:hidden;display:flex;flex-direction:column;justify-content:end}.duality-card:nth-child(2){background:#59666b}.duality-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.17),transparent 40%);pointer-events:none}.duality-card .ghost-tooth{position:absolute;right:-10%;top:-18%;height:100%;width:auto;opacity:.13;filter:brightness(0) invert(1);transform:rotate(-14deg);transition:transform .8s}.duality-card:hover .ghost-tooth{transform:rotate(-7deg) scale(1.05)}.duality-card:nth-child(2) .ghost-tooth{right:-3%;transform:rotate(11deg)}.duality-card h3{font:400 clamp(2.7rem,4vw,4.6rem)/1 var(--head);letter-spacing:-.05em;margin:1.1rem 0}.duality-card p{font-size:.94rem;line-height:1.8;max-width:430px;color:#e4e8e8}.duality-card .text-link{align-self:flex-start;margin-top:1.5rem}.duality-icon{width:28px;height:28px;stroke-width:1.25}.process{padding:clamp(6rem,11vw,11rem) 0;background:#f6f5f1}.process-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:4.5rem}.process-head .body-lead{max-width:460px}.process-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.process-item{padding:2.25rem 2.5rem 1.5rem 0;border-right:1px solid var(--line);min-height:290px}.process-item:last-child{border-right:0;padding-left:2.5rem}.process-item:nth-child(2){padding-left:2.5rem}.process-item svg{width:27px;height:27px;stroke-width:1.25;color:#9ca7a9}.process-item h3{font:400 2rem var(--head);letter-spacing:-.035em;margin:2rem 0 1rem}.process-item p{font-size:.88rem;line-height:1.8;color:var(--muted);max-width:330px}.film-section{background:#182126;color:#fff;min-height:650px;position:relative;overflow:hidden;display:flex;align-items:end}.film-section video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.6)}.film-section:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,26,30,.77),rgba(18,26,30,.32)),linear-gradient(0deg,rgba(18,26,30,.64),transparent 60%)}.film-content{position:relative;z-index:1;padding:7rem 0}.film-content .section-title{max-width:850px}.film-content .body-lead{color:#e4e8e8}.cta-panel{background:#dfe3e1;padding:clamp(6rem,10vw,10rem) 0}.cta-panel-inner{display:flex;justify-content:space-between;align-items:end;gap:3rem}.cta-panel .section-title{max-width:800px;margin-bottom:0}.cta-panel-actions{display:flex;gap:1rem;flex-wrap:wrap}
.subhero{min-height:530px;background:#222c31;color:white;position:relative;display:flex;align-items:end;overflow:hidden}.subhero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(188,199,199,.16),transparent 45%),linear-gradient(130deg,#273137,#151d21)}.subhero:after{content:'';position:absolute;width:40vw;height:40vw;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-6vw;top:0}.subhero-inner{position:relative;z-index:1;padding:12rem 0 5.5rem}.subhero .eyebrow{color:#b4c0c0}.subhero h1{margin:1.5rem 0 0;max-width:1000px}.subhero p{max-width:600px;color:#d2d7d7;line-height:1.8;margin:2rem 0 0}.page-section{padding:clamp(5rem,10vw,10rem) 0}.page-section.alt{background:#e8e9e6}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.split .section-title{margin-top:0}.service-block{padding:3rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;gap:2rem}.service-block svg{width:34px;height:34px;stroke-width:1.2;color:#9aa7a8}.service-block h3{font:400 clamp(2.1rem,3vw,3.1rem) var(--head);letter-spacing:-.04em;margin:0 0 .8rem}.service-block p{color:var(--muted);line-height:1.8;margin:0;max-width:680px}.feature-quote{font:400 clamp(2.1rem,3.4vw,3.8rem)/1.18 var(--head);letter-spacing:-.04em;max-width:950px;margin:0}.feature-quote em{font-style:normal;color:#9ca8aa}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.contact-method{display:flex;gap:1rem;align-items:start;padding:1.5rem 0;border-top:1px solid var(--line)}.contact-method svg{width:20px;height:20px;stroke-width:1.4;margin-top:.2rem;color:#899598}.contact-method small{display:block;font-size:.67rem;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-bottom:.55rem}.contact-method a{font-family:var(--head);font-size:clamp(1.4rem,2.4vw,2.3rem);letter-spacing:-.035em}.contact-form{background:#fff;padding:clamp(2rem,4vw,4rem);box-shadow:0 25px 60px rgba(28,35,38,.06)}.contact-form h2{font:400 2.8rem var(--head);margin:0 0 1.8rem;letter-spacing:-.04em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.3rem}.field label{font-size:.69rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid #c9cecd;background:transparent;padding:1rem 0;border-radius:0;outline:none;color:var(--ink)}.field input:focus,.field textarea:focus{border-bottom-color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.form-note{font-size:.73rem;line-height:1.6;color:var(--muted);margin:1rem 0 0}.site-footer{background:#151d21;color:#fff;padding:6rem 0 2rem}.footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:5vw;padding-bottom:5rem}.footer-main .brand{margin-bottom:2rem}.footer-main p{line-height:1.8;color:#aeb9bb;max-width:360px;font-size:.86rem}.footer-col h3{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#aeb9bb;margin:0 0 1.75rem}.footer-col a{display:block;width:max-content;font-size:.9rem;margin-bottom:1rem}.footer-col a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding-top:1.7rem;display:flex;justify-content:space-between;gap:1rem;color:#aeb9bb;font-size:.72rem}
.js .reveal{opacity:1;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}.js .reveal.is-visible{opacity:1;transform:none}.hero-content>*{animation:riseIn .9s ease both}.hero-content>*:nth-child(2){animation-delay:.12s}.hero-content>*:nth-child(3){animation-delay:.24s}.hero-content>*:nth-child(4){animation-delay:.36s}@keyframes riseIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}.nojs-nav{margin-top:116px;position:relative;z-index:50;background:#182126;color:white;padding:1rem 4vw;display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:960px){.desktop-nav,.header-contact,.header-cta{display:none}.header-inner{height:90px;justify-content:space-between}.menu-toggle{display:flex}.hero{min-height:720px}.statement-grid{grid-template-columns:1fr 1.4fr}}
@media(max-width:760px){.container{width:min(100% - 2.6rem,1440px)}.header-inner{height:78px}.brand{min-width:0}.brand-wordmark{width:136px}.brand-tooth{width:28px;height:36px}.hero{min-height:720px;height:100svh}.hero-content{padding-top:70px}.hero .eyebrow{margin-bottom:1.4rem}.display{font-size:clamp(3.5rem,12vw,6rem)}.hero-copy{font-size:.91rem;margin:1.6rem 0 2rem}.hero-scroll{display:none}.hero-index{left:1.3rem}.statement-grid,.process-head,.split,.contact-grid{grid-template-columns:1fr;gap:2rem}.duality-top{display:block}.duality-grid,.process-list{grid-template-columns:1fr}.duality-card{min-height:440px}.process-item,.process-item:nth-child(2),.process-item:last-child{padding:2.2rem 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.process-item h3{margin:1.2rem 0 .5rem}.film-section{min-height:560px}.cta-panel-inner{display:block}.cta-panel-actions{margin-top:2rem}.subhero{min-height:430px}.subhero-inner{padding:9rem 0 4rem}.service-block{grid-template-columns:40px 1fr;gap:1rem}.footer-main{grid-template-columns:1fr 1fr;gap:3rem}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.intro-half{height:46vw;max-width:47vw}}
@media(max-width:520px){.hero-actions{align-items:stretch}.hero-actions .btn{width:100%}.hero h1{font-size:clamp(3.4rem,13vw,4.7rem)}.duality-card{padding:2rem}.form-grid{grid-template-columns:1fr;gap:0}.contact-form{padding:2rem 1.3rem}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.intro-half{height:57vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.intro-overlay{display:none!important}}
