:root{--ink: #11100f;--charcoal: #24211f;--stone: #8b867d;--mist: #d8d2c7;--paper: #f7f3eb;--ivory: #fbfaf6;--line: rgba(17, 16, 15, .16);--serif: "Bodoni Moda", Didot, "Times New Roman", serif;--sans: "Manrope", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--ivory);color:var(--ink);font-family:var(--sans);scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--ivory);color:var(--ink)}body.menu-open{overflow:hidden}body,button,input,textarea,select{font:400 14px/1.5 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{border-radius:0}button{background:transparent;border:0;color:inherit;cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--ink);color:var(--ivory)}@keyframes header-enter{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-media-enter{0%{opacity:0;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@keyframes hero-curtain{0%{transform:translate(0)}to{transform:translate(101%)}}@keyframes hero-copy-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.site-header{align-items:start;animation:header-enter .9s cubic-bezier(.22,1,.36,1) both;background:#fbfaf600;color:var(--ink);display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);left:0;padding:26px 34px 22px;position:absolute;right:0;top:0;transition:background .5s ease,border-color .5s ease,padding .5s ease;z-index:50}.site-header.is-scrolled{background:#fbfaf600;border-bottom:0;padding-top:26px;-webkit-backdrop-filter:none;backdrop-filter:none}.brand-block{display:inline-flex;flex-direction:column;gap:2px;letter-spacing:0;line-height:1.1}.brand-name{font-size:14px;font-weight:600;letter-spacing:.12em}.brand-sub{color:#11100f94;font-size:9px;font-weight:500;letter-spacing:.28em}.main-nav{align-items:center;display:flex;gap:clamp(24px,4vw,64px);justify-content:center;padding-top:2px}.main-nav a,.footer-col a,.text-link{position:relative}.main-nav a{color:#11100fb8;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.main-nav a:after,.footer-col a:after,.text-link:after{background:currentcolor;bottom:-4px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .42s cubic-bezier(.22,1,.36,1);width:100%}.main-nav a:hover:after,.main-nav a.is-active:after,.footer-col a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{align-items:center;display:flex;gap:22px;justify-content:end}.language{font-size:11px;font-weight:500;letter-spacing:.18em}.site-header :is(.main-nav a,.language,.menu-button){transform-origin:center;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);will-change:transform}.site-header:has(:is(.main-nav a,.language,.menu-button):hover) :is(.main-nav a,.language,.menu-button){opacity:.48;transform:scale(.9)}.site-header:has(:is(.main-nav a,.language,.menu-button):hover) :is(.main-nav a,.language,.menu-button):hover{opacity:1;transform:scale(1.14)}.menu-button{display:grid;gap:7px;height:24px;padding:4px 0;width:34px}.menu-button span{background:currentcolor;display:block;height:1px;transform-origin:center;transition:transform .35s ease,width .35s ease;width:100%}.menu-button:hover span:last-child{width:72%}.menu-button.is-open span:first-child{transform:translateY(4px) rotate(18deg)}.menu-button.is-open span:last-child{transform:translateY(-4px) rotate(-18deg);width:100%}.drawer{opacity:0;pointer-events:none;position:fixed;inset:0;transition:opacity .52s cubic-bezier(.22,1,.36,1);z-index:45}.drawer:before{background:#11100f2e;content:"";inset:0;opacity:0;position:absolute;transition:opacity .52s cubic-bezier(.22,1,.36,1)}.drawer.is-open{opacity:1;pointer-events:auto}.drawer.is-open:before{opacity:1}.drawer-inner{background:var(--ivory);border-left:1px solid var(--line);display:flex;flex-direction:column;height:100%;margin-left:auto;padding:112px 44px 40px;position:relative;transform:translate(100%);transition:transform .76s cubic-bezier(.22,1,.36,1);width:min(540px,88vw)}.drawer.is-open .drawer-inner{transform:translate(0)}.drawer-head,.drawer-meta{opacity:0;transform:translateY(14px);transition:opacity .64s cubic-bezier(.22,1,.36,1),transform .64s cubic-bezier(.22,1,.36,1)}.drawer.is-open .drawer-head{opacity:1;transform:translateY(0);transition-delay:.18s}.drawer-head{color:#11100f85;display:flex;font-size:10px;font-weight:600;justify-content:space-between;letter-spacing:.26em;text-transform:uppercase}.drawer-nav{display:grid;margin:clamp(40px,8vh,78px) 0}.drawer-nav a{align-items:center;border-top:1px solid var(--line);display:grid;font-family:var(--serif);font-size:clamp(38px,5.4vw,70px);grid-template-columns:58px 1fr;line-height:.96;opacity:0;padding:clamp(18px,3vh,28px) 0;transform:translate(28px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1),padding-left .42s cubic-bezier(.22,1,.36,1);transition-delay:0ms,0ms,90ms}.drawer-nav a:last-child{border-bottom:1px solid var(--line)}.drawer-nav a:hover{padding-left:14px}.drawer-nav a span{color:#11100f6b;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.22em}.drawer.is-open .drawer-nav a{opacity:1;transform:translate(0);transition-delay:var(--delay),var(--delay),90ms}.drawer-meta{color:#11100f94;display:grid;gap:14px;margin-top:auto;max-width:300px}.drawer-meta p{font-family:var(--serif);font-size:22px;line-height:1.12;margin:0}.drawer-meta a{border-bottom:1px solid currentcolor;font-size:11px;justify-self:start;letter-spacing:.16em;padding-bottom:5px;text-transform:uppercase}.drawer.is-open .drawer-meta{opacity:1;transform:translateY(0);transition-delay:.56s}.media{height:100%;object-fit:cover;width:100%}.monochrome{filter:grayscale(1) contrast(1.06)}.home-hero{background:var(--ivory);display:grid;grid-template-columns:minmax(420px,44%) 1fr;height:100vh;position:relative}.hero-image{height:100vh;overflow:hidden;position:relative}.hero-image:after{animation:hero-curtain 1.3s .18s cubic-bezier(.22,1,.36,1) both;background:var(--ivory);content:"";inset:0;position:absolute;z-index:1}.hero-image img{animation:hero-media-enter 1.8s cubic-bezier(.22,1,.36,1) both}.hero-copy{align-self:center;justify-self:start;margin-left:clamp(48px,8vw,148px);max-width:680px;padding-top:28px}.hero-copy .page-count,.hero-copy h1,.hero-copy p:not(.page-count),.hero-copy .text-link{animation:hero-copy-enter .9s cubic-bezier(.22,1,.36,1) both}.hero-copy h1{animation-delay:.13s}.hero-copy p:not(.page-count){animation-delay:.26s}.hero-copy .text-link{animation-delay:.39s}.page-count{color:#11100f7a;font-size:10px;letter-spacing:.2em;margin:0 0 clamp(34px,6vh,62px)}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:0;line-height:.96;margin:0}.hero-copy h1{font-size:clamp(66px,7.7vw,118px);line-height:.9}.hero-copy p:not(.page-count){color:#11100fad;font-size:clamp(16px,1.35vw,22px);font-weight:300;margin:clamp(30px,5vh,54px) 0 40px}.text-link{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2em;padding-bottom:6px;text-transform:uppercase}.text-link:after{transform:scaleX(1)}.hero-dots{display:grid;gap:12px;position:absolute;right:32px;top:50%;transform:translateY(-50%)}.hero-dots span{border:1px solid rgba(17,16,15,.45);height:5px;width:5px}.hero-dots span:first-child{background:var(--ink)}.split{display:grid;overflow:hidden}.split-38{grid-template-columns:minmax(360px,42%) 1fr;height:72vh}.split-55{grid-template-columns:57% 43%;height:86vh}.split-45{grid-template-columns:43% 57%;height:86vh}.panel-copy{align-self:center;padding:clamp(46px,7vw,118px)}.panel-copy.narrow{padding-left:clamp(46px,7vw,118px);padding-right:clamp(32px,5vw,82px)}.eyebrow{color:#11100f7a;font-size:10px;font-weight:600;letter-spacing:.28em;margin:0 0 22px;text-transform:uppercase}.panel-copy h2,.section-head h2,.feature-copy h2,.story-copy h2,.timeline-head h2{font-size:clamp(38px,5.2vw,82px)}.panel-copy p,.section-summary p,.feature-copy p,.story-copy p,.text-band p,.detail-copy p,.contact-heading p{color:#11100fad;font-size:clamp(15px,1.05vw,18px);font-weight:300;line-height:1.75}.panel-copy p{max-width:420px}.panel-image,.tile-image,.detail-image,.story-image,.feature-image,.page-hero-image{overflow:hidden;position:relative}.panel-image:after,.tile-image:after,.detail-image:after,.story-image:after,.feature-image:after,.page-hero-image:after{background:var(--ivory);content:"";inset:0;position:absolute;transform:translate(0);transition:transform 1.1s cubic-bezier(.22,1,.36,1);z-index:1}.panel-image img,.tile-image img,.detail-image img,.story-image img,.feature-image img,.page-hero-image img{transform:scale(1.045);transition:transform 1.4s cubic-bezier(.22,1,.36,1)}.panel-image.is-visible:after,.tile-image.is-visible:after,.detail-image.is-visible:after,.story-image.is-visible:after,.feature-image.is-visible:after,.page-hero-image.is-visible:after{transform:translate(101%)}.panel-image.is-visible img,.tile-image.is-visible img,.detail-image.is-visible img,.story-image.is-visible img,.feature-image.is-visible img,.page-hero-image.is-visible img{transform:scale(1)}.contact-info img,.hero-image img{transition:transform 1.4s cubic-bezier(.22,1,.36,1)}.panel-image:hover img,.tile-image:hover img,.detail-image:hover img,.story-image:hover img,.feature-image:hover img,.page-hero-image:hover img,.contact-info:hover img,.hero-image:hover img{transform:scale(1.035)}.stats-strip{align-items:stretch;background:var(--ivory);border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);height:18vh}.stat{align-content:center;border-right:1px solid var(--line);display:grid;justify-items:center;text-align:center}.stat:last-child{border-right:0}.stat strong{font-family:var(--serif);font-size:clamp(46px,5.8vw,92px);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:.9;min-width:3.2ch}.stat span{color:#11100f85;font-size:10px;font-weight:600;letter-spacing:.2em;margin-top:14px;text-transform:uppercase}.services-home{display:grid;gap:clamp(42px,5vw,78px);min-height:94vh;padding:clamp(58px,7vw,104px) clamp(24px,4vw,70px) clamp(62px,7vw,104px)}.section-head{align-items:start;display:grid;grid-template-columns:minmax(480px,50%) minmax(300px,36%);justify-content:space-between}.section-summary{align-self:end;padding-bottom:12px}.service-tiles{align-items:start;display:grid;gap:clamp(22px,3vw,44px);grid-template-columns:1.35fr 1fr 1fr 1.1fr}.service-tile{min-width:0}.tile-image{background:var(--mist);height:100%}.tile-meta{border-top:1px solid var(--line);display:grid;gap:6px;grid-template-columns:34px 1fr;margin-top:12px;padding-top:13px}.service-tile:nth-child(1){grid-column:1;margin-top:clamp(28px,5vw,80px)}.service-tile:nth-child(1) .tile-image{height:clamp(300px,40vh,470px)}.service-tile:nth-child(2){grid-column:2;margin-top:0}.service-tile:nth-child(2) .tile-image{height:clamp(250px,34vh,390px)}.service-tile:nth-child(3){grid-column:3;margin-top:clamp(58px,8vw,118px)}.service-tile:nth-child(3) .tile-image{height:clamp(240px,32vh,370px)}.service-tile:nth-child(4){grid-column:4;margin-top:clamp(22px,4vw,70px)}.service-tile:nth-child(4) .tile-image{height:clamp(290px,39vh,450px)}.tile-meta span{color:#11100f6b;font-size:10px;letter-spacing:.2em}.tile-meta h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.tile-meta p,.tile-meta a{grid-column:2}.tile-meta p{color:#11100f94;font-size:12px;line-height:1.38;margin:0}.tile-meta a{color:#11100fc2;font-size:10px;letter-spacing:.18em;margin-top:3px;text-transform:uppercase}.brand-strip{align-content:center;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:20px;height:20vh;overflow:hidden;padding:0;text-align:center}.brand-strip p{color:#11100f70;font-size:10px;font-weight:600;letter-spacing:.26em;margin:0}.brand-marquee{align-items:center;display:flex;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.brand-marquee-track{align-items:center;animation:brand-marquee 32s linear infinite;display:flex;flex:0 0 auto;gap:clamp(42px,6vw,104px);padding:0 clamp(24px,4vw,64px);white-space:nowrap;width:max-content}.brand-marquee:hover .brand-marquee-track{animation-play-state:paused}.brand-marquee span{color:#11100f7a;font-family:var(--serif);font-size:clamp(17px,1.8vw,28px);letter-spacing:0;white-space:nowrap}.site-footer{background:var(--ivory);border-top:1px solid var(--line);display:grid;min-height:34vh;padding:clamp(34px,4vw,56px) 34px 22px}.footer-grid{display:grid;gap:34px;grid-template-columns:2.1fr repeat(4,1fr)}.footer-brand p{color:#11100f94;font-size:12px;font-weight:300;line-height:1.65;margin:24px 0 0;max-width:330px}.footer-col{display:flex;flex-direction:column;gap:9px}.footer-col h3{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.2em;margin:0 0 10px;text-transform:uppercase}.footer-col a{color:#11100f94;font-size:12px;width:fit-content}.footer-bottom{align-items:end;align-self:end;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:18px}.footer-bottom p,.footer-bottom a{color:#11100f80;font-size:10px;letter-spacing:.14em;margin:0;text-transform:uppercase}.footer-bottom div{display:flex;gap:28px}.page-hero{display:grid;grid-template-columns:48% 52%;min-height:100vh;padding-top:80px}.page-hero.reverse{grid-template-columns:52% 48%}.page-hero.reverse .page-hero-copy{order:2}.page-hero-copy{align-self:center;padding:clamp(38px,5vw,82px)}.page-hero-copy h1{font-size:clamp(48px,5.8vw,88px)}.page-hero-image{min-height:calc(100vh - 80px)}.story-block,.feature-grid,.detail-row{border-top:1px solid var(--line);display:grid;min-height:66vh}.story-block.image-right,.detail-row.image-right,.feature-grid{grid-template-columns:46% 54%}.story-block.image-left,.detail-row.image-left,.feature-grid.reverse{grid-template-columns:54% 46%}.feature-grid.reverse .feature-image{order:2}.story-copy,.feature-copy,.detail-copy{align-self:center;padding:clamp(44px,7vw,112px)}.story-copy h2,.feature-copy h2,.detail-copy h2{margin-bottom:28px}.text-band{align-content:center;border-top:1px solid var(--line);display:grid;min-height:36vh;padding:clamp(42px,7vw,104px)}.text-band p{font-family:var(--serif);font-size:clamp(35px,4.8vw,78px);line-height:1.08;max-width:1120px}.timeline-section{border-top:1px solid var(--line);display:grid;grid-template-columns:38% 62%;padding:clamp(48px,7vw,110px) clamp(28px,5vw,74px)}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;padding:28px 0}.timeline-item strong{font-family:var(--serif);font-size:32px;font-weight:400}.timeline-item p{color:#11100f9e;margin:0;max-width:560px}.service-detail-list{border-bottom:1px solid var(--line)}.detail-copy span{color:#11100f6b;display:inline-block;font-size:10px;letter-spacing:.22em;margin-bottom:24px}.contact-page{padding:150px clamp(28px,5vw,72px) 70px}.contact-heading{display:grid;grid-template-columns:minmax(420px,58%) minmax(260px,32%);grid-template-rows:auto auto;justify-content:space-between;margin-bottom:68px}.contact-heading .eyebrow,.contact-heading h1{grid-column:1}.contact-heading .eyebrow{grid-row:1}.contact-heading h1{font-size:clamp(72px,10vw,160px);grid-row:2}.contact-heading p{align-self:end;grid-column:2;grid-row:2;margin:0 0 14px}.contact-layout{border-top:1px solid var(--line);display:grid;gap:clamp(36px,6vw,90px);grid-template-columns:minmax(360px,52%) minmax(280px,1fr);padding-top:38px}.contact-form{display:grid;gap:26px 22px;grid-template-columns:repeat(2,1fr)}.contact-form label{display:grid;gap:8px}.contact-form .wide,.contact-form button{grid-column:1 / -1}.contact-form span{color:#11100f7a;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);min-height:48px;outline:0;padding:8px 0;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--ink)}.contact-form button{border-bottom:1px solid var(--ink);justify-self:start;letter-spacing:.2em;margin-top:8px;padding:0 0 8px;text-transform:uppercase}.contact-info{display:grid;gap:28px}.contact-info img{aspect-ratio:4 / 3;object-fit:cover;width:100%}.contact-info div{border-top:1px solid var(--line);display:grid;gap:10px;padding-top:18px}.contact-info p{margin:0}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(min-width:1181px){body[data-route=home] .site-header{column-gap:16px;grid-template-columns:150px minmax(0,1fr) 72px;left:44%;padding-left:clamp(28px,2.4vw,42px);padding-right:34px;right:0}body[data-route=home] .main-nav{gap:clamp(12px,1.45vw,24px);justify-content:center}body[data-route=home] .main-nav a{font-size:10px;letter-spacing:.14em}body[data-route=home] .brand-name{font-size:12px}body[data-route=home] .brand-sub{font-size:8px;letter-spacing:.24em}}@media(max-width:1180px){.site-header{grid-template-columns:1fr auto}.main-nav{display:none}.services-home{height:auto;min-height:0}.section-head,.service-tiles{grid-template-columns:repeat(2,1fr)}.service-tiles{margin-top:44px}.service-tile:nth-child(n){grid-column:auto;margin-top:0}.service-tile:nth-child(n) .tile-image{height:clamp(220px,34vh,360px)}.footer-grid{grid-template-columns:2fr repeat(2,1fr)}.site-footer{height:auto}}@media(max-width:820px){.site-header{padding:18px 20px}.drawer-inner{padding:92px 26px 32px;width:min(440px,92vw)}.drawer-nav a{font-size:clamp(34px,12vw,54px);grid-template-columns:48px 1fr}.drawer-meta p{font-size:20px}.brand-name{font-size:12px}.home-hero,.split,.page-hero,.page-hero.reverse,.story-block.image-left,.story-block.image-right,.detail-row.image-left,.detail-row.image-right,.feature-grid,.feature-grid.reverse,.timeline-section,.contact-heading,.contact-layout{grid-template-columns:1fr}.home-hero,.split-38,.split-55,.split-45{height:auto;min-height:0}.hero-image,.page-hero-image,.panel-image,.detail-image,.story-image,.feature-image{min-height:0}.hero-image{height:64vh;order:1}.hero-copy{margin:0;order:2;padding:54px 24px 72px}.hero-copy h1{font-size:clamp(46px,13vw,68px)}.hero-dots{display:none}.panel-image{height:54vh}.craft-intro .panel-image,.technology-home .panel-image{order:-1}.panel-copy,.panel-copy.narrow,.story-copy,.feature-copy,.detail-copy,.page-hero-copy{padding:54px 24px}.stats-strip{grid-template-columns:repeat(2,1fr);height:auto}.stat{border-bottom:1px solid var(--line);min-height:130px}.stat:nth-child(2n){border-right:0}.section-head,.service-tiles{grid-template-columns:1fr}.services-home{padding:54px 24px}.service-tiles{margin-top:0}.service-tile:nth-child(n) .tile-image{height:52vh;min-height:310px}.brand-strip{height:auto;min-height:150px}.brand-marquee-track{animation-duration:26s;gap:36px}.site-footer{padding:44px 24px 24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:start;flex-direction:column;gap:18px}.page-hero{padding-top:70px}.page-hero.reverse .page-hero-copy,.feature-grid.reverse .feature-image{order:initial}.page-hero-image{height:60vh;order:-1}.story-image,.feature-image,.detail-image{height:58vh}.text-band{padding:68px 24px}.timeline-item{grid-template-columns:1fr;gap:10px}.contact-page{padding:116px 24px 54px}.contact-form{grid-template-columns:1fr}.contact-heading .eyebrow,.contact-heading h1,.contact-heading p{grid-column:1;grid-row:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
