:root{--ink:#252824;--cream:#f4f0e8;--stone:#c9beae;--clay:#a46f55;--olive:#596253;--line:#d6cfc3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--clay);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.02;letter-spacing:-.035em}h2{font-size:clamp(42px,4.4vw,70px)}em{font-weight:400}p+p{margin-top:20px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;line-height:1.8;margin-bottom:25px}.section-pad{padding:110px max(5.5vw,24px)}.header{height:102px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);gap:24px}.brand{display:flex;flex-direction:column;font-family:var(--serif);font-size:26px;line-height:.88;letter-spacing:3px;font-weight:500;flex-shrink:0}.brand span+span{margin-top:6px}.brand i{font-size:23px;font-weight:400;text-transform:none}.brand-dot{color:var(--clay)}nav{display:flex;gap:30px}nav a{font-size:11px}nav a:hover,.text-link:hover{color:var(--clay)}.header-cta{font-size:11px;border-bottom:1px solid var(--ink);padding:9px 0;display:flex;gap:25px}.header-cta span{font-size:19px}.menu{display:none}.hero{height:min(770px,calc(100svh - 102px));min-height:620px;position:relative;color:var(--cream);overflow:hidden}.hero-image{position:absolute;inset:0;object-position:50% 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,25,21,.66),rgba(22,25,21,.16) 75%),linear-gradient(0deg,rgba(22,25,21,.45),transparent 40%)}.hero-content{position:relative;padding:100px 5.5vw 40px;max-width:850px}.hero h1{font-size:clamp(70px,7.7vw,122px);line-height:.95}.hero-copy{font-size:14px;line-height:1.9;margin:30px 0 35px;color:#f6f2e9}.tiny-line{display:inline-block;width:34px;border-top:1px solid #ded6c7;vertical-align:middle;margin-right:12px}.button{padding:16px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:11px;border:1px solid transparent;transition:background .2s,color .2s;line-height:1.5}.button span{font-size:20px}.light{background:var(--cream);color:var(--ink)}.light:hover{background:var(--stone)}.dark{background:var(--ink);color:var(--cream)}.dark:hover{background:var(--olive)}.hero-bottom{position:absolute;bottom:44px;left:5.5vw;right:5.5vw;border-top:1px solid #ffffff50;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.hero-bottom a{letter-spacing:0}.hero-credit{position:absolute;bottom:10px;right:5.5vw;font-size:9px;color:#eee7dc}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro-copy{padding-top:5px;max-width:530px;font-size:13px;color:#55584f}.intro-copy .lead{font-family:var(--serif);font-size:29px;line-height:1.3;color:var(--ink);margin-bottom:25px}.text-link{display:inline-flex;gap:28px;font-size:11px;border-bottom:1px solid currentColor;padding-bottom:8px;margin-top:28px}.services{padding-top:85px;background:#eae5db}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:55px}.section-heading>p{font-size:12px;line-height:1.9;color:#626459;max-width:420px}.service-row{display:grid;grid-template-columns:55px 1.1fr 1fr 30px;gap:20px;width:100%;align-items:center;text-align:left;padding:29px 0;background:none;border:0;border-top:1px solid #c9c2b7;color:var(--ink)}.service-row:last-child{border-bottom:1px solid #c9c2b7}.service-row:hover .service-title{transform:translateX(8px);color:var(--clay)}.service-number{font-size:10px;color:#696d61}.service-title{font-family:var(--serif);font-size:34px;line-height:1.15;transition:transform .2s,color .2s}.service-description{font-size:11px;color:#63665c}.service-arrow{font-size:27px;text-align:right}.image-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.large-figure img{height:650px}.small-figures figure img{height:360px}figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:17px;font-size:10px}figcaption span:first-child{letter-spacing:1.5px}.material-note{height:240px;margin-top:35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;gap:20px}.material-symbol{font-family:var(--serif);font-size:96px;line-height:1}.material-symbol span{color:var(--clay);font-style:italic;font-size:115px}.material-note p{font-family:var(--serif);font-size:27px;line-height:1.3}.tech{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream)}.tech-art{min-height:640px;background:linear-gradient(110deg,#3b3d32,#8b806a 80%,#4c4b3d);position:relative;overflow:hidden;display:flex;align-items:end;justify-content:center}.arch{width:58%;height:75%;position:absolute;bottom:0;background:linear-gradient(120deg,#242820,#4c4f40);border-radius:50% 50% 0 0;box-shadow:16px 1px 28px #1a1c1599}.light-line{position:absolute;bottom:0;left:23%;height:62%;width:3px;background:#ffe6b1;box-shadow:0 0 12px 5px #ffe1a755,0 0 90px 30px #ffda9166}.tech-art>span{position:relative;z-index:1;padding-bottom:35px;font-size:9px;letter-spacing:3px;color:#fff4dc}.tech-copy{padding:80px 12%}.tech h2{font-size:clamp(39px,4vw,65px)}.tech-copy>p:not(.eyebrow){font-size:12px;color:#d0d0c4;margin-top:28px}.sister-brands{display:flex;gap:50px;margin-top:40px;padding:24px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}.sister-brands span{font-size:9px;color:#cccfc3}.sister-brands strong{display:block;font-size:21px;font-weight:500;color:var(--cream);letter-spacing:-.6px;margin-bottom:4px}.tech-copy p.group-note{font-size:9px;margin-top:12px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px}.process-grid article{border-top:1px solid var(--line);padding-top:20px}.process-grid article>span{color:var(--clay);font-size:11px}.process h3{font-family:var(--serif);font-size:34px;margin:20px 0 13px}.process article p{font-size:12px;color:#5e6258}.faq{padding-top:20px;display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:13px;list-style:none;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:20px;line-height:1.3}details[open] summary:after{content:'−'}details p{font-size:12px;color:#5e6258;padding:16px 30px 4px 0;max-width:600px}.contact{background:#e5ded2;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:95px;padding-bottom:95px}.contact-copy>p:not(.eyebrow){font-size:12px;margin-top:25px}.phone{font-family:var(--serif);font-size:42px;display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #a49c8e;margin-top:30px;line-height:1.5}.phone span{font-family:var(--sans);font-size:27px}.contact-copy p.contact-location{font-size:10px;margin-top:10px}form{padding-top:10px}form h3{font-family:var(--serif);font-size:32px}.form-intro{font-size:11px;color:#5d6057;margin:7px 0 26px}label{display:block;font-size:10px;margin:20px 0 7px}input,select,textarea{background:transparent;border:0;border-bottom:1px solid #a49c8e;padding:10px 0;width:100%;border-radius:0;font-size:12px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:0;border-bottom:2px solid var(--ink)}select option{background:var(--cream)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}form .button{margin-top:25px;width:100%;text-align:left}p.form-note{font-size:9px;margin-top:12px;color:#5c6055;line-height:1.7}#form-status{font-size:11px;color:#34482e;margin-top:12px}footer{padding:50px 5.5vw 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:45px}.footer-top>p{font-family:var(--serif);font-size:27px}.footer-top .text-link{margin:0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#64685c}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{border:0;padding:0;background:transparent;font-size:9px;color:inherit}.skip{position:absolute;left:10px;top:-100px;z-index:10;background:var(--cream);padding:10px}.skip:focus{top:10px}dialog{width:min(640px,calc(100% - 32px));border:0;background:var(--cream);color:var(--ink);padding:55px;max-height:85svh}dialog::backdrop{background:#171b17b3;backdrop-filter:blur(5px)}dialog h2{font-size:48px;margin-bottom:25px}dialog p,dialog li{font-size:13px}dialog ul{padding-left:18px;margin:22px 0 30px}.dialog-close{position:absolute;right:18px;top:10px;border:0;background:transparent;font-size:32px;color:var(--ink)}body:has(dialog[open]){overflow:hidden}#legal-copy p+p{margin-top:18px}
@media(min-width:1600px){.section-pad{padding-left:max(5.5vw,calc((100vw - 1450px)/2));padding-right:max(5.5vw,calc((100vw - 1450px)/2))}}@media(max-width:1000px){nav{gap:18px}.header{padding:0 30px}.header-cta{gap:12px}.hero-content{padding-top:95px}.hero{min-height:650px}.service-row{grid-template-columns:35px 1fr 30px}.service-description{display:none}.tech-copy{padding:65px 9%}.sister-brands{gap:25px}.section-heading>p{max-width:300px}.process-grid{gap:22px}.large-figure img{height:550px}.small-figures figure img{height:320px}.material-note{height:190px}.material-note p{font-size:23px}.contact{gap:6%}}@media(max-width:760px){html{scroll-padding-top:25px}.header{height:84px;padding:0 24px;position:relative;gap:20px}.brand{font-size:22px}.brand i{font-size:18px}.header-cta{margin-left:auto;font-size:10px;gap:10px}.header-cta span{font-size:16px}.menu{display:block;background:transparent;border:0;font-size:21px;padding:5px;color:var(--ink)}nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);padding:25px;z-index:5;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column;gap:20px}nav a{font-size:14px}.hero{height:calc(90svh - 84px);min-height:590px;max-height:800px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#191e19bb,#191e1944),linear-gradient(0deg,#191e1955,transparent)}.hero-content{padding:75px 24px 50px}.hero h1{font-size:clamp(64px,12vw,90px)}.hero .eyebrow{font-size:8px;letter-spacing:1.6px}.tiny-line{width:20px;margin-right:6px}.hero-copy{font-size:12px;margin:26px 0 30px}.hero-bottom{left:24px;right:24px;bottom:40px;font-size:8px;letter-spacing:.7px;gap:18px}.hero-credit{right:24px;font-size:8px}.section-pad{padding:70px 24px}.intro{grid-template-columns:1fr;gap:32px}.intro-copy{max-width:none}.intro-copy .lead{font-size:26px}.eyebrow{font-size:9px;margin-bottom:19px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px;max-width:none;font-size:11px}.service-row{gap:12px;padding:25px 0;grid-template-columns:25px 1fr 24px}.service-title{font-size:28px}.service-arrow{font-size:24px}.image-grid{grid-template-columns:1fr;gap:30px}.large-figure img{height:440px}.small-figures figure img{height:310px}.material-note{height:170px;margin-top:25px}.material-note p{font-size:26px}.tech{grid-template-columns:1fr}.tech-art{min-height:370px}.tech-art .arch{width:47%}.tech-copy{padding:55px 24px 65px}.tech h2{font-size:48px}.sister-brands{gap:55px}.process-grid{grid-template-columns:1fr 1fr;gap:30px 25px}.process h3{font-size:29px;margin-top:12px}.process article p{font-size:11px}.faq{display:block;padding-top:10px}.faq-list{margin-top:35px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:50px}.phone{font-size:39px}.contact-copy>p br{display:none}.footer-top{flex-wrap:wrap;gap:28px;align-items:start}.footer-top>p{font-size:23px}.footer-top .text-link{font-size:10px}.footer-bottom{flex-direction:column;gap:13px}.footer-bottom>div{flex-wrap:wrap;gap:16px}footer{padding:40px 24px 25px}dialog{padding:45px 26px}dialog h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
