:root{--ink:#171713;--cream:#f2efe8;--paper:#faf9f6;--sage:#777c6b;--line:#d8d5cd;--white:#fff;--max:1440px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.6}
body.menu-open,body.dialog-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.announcement{height:33px;background:var(--ink);color:#f6f4ed;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.site-header{height:104px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(250,249,246,.96);position:relative;z-index:20;border-bottom:1px solid rgba(0,0,0,.08)}
.brand{display:flex;align-items:center;gap:18px}.brand img{width:118px;height:auto}.brand span{border-left:1px solid #aaa;padding-left:18px;font-size:9px;letter-spacing:.26em}
nav{display:flex;align-items:center;gap:clamp(18px,2.7vw,44px);font-size:12px;text-transform:uppercase;letter-spacing:.11em}nav a:not(.nav-cta){position:relative}nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:currentColor;transition:.25s}nav a:hover::after{width:100%}
.nav-cta{border:1px solid var(--ink);padding:13px 18px}.nav-cta:hover{background:var(--ink);color:#fff}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}.menu-toggle span{display:block;height:1px;background:#111;margin:7px 0}
.hero{min-height:calc(100vh - 137px);height:760px;position:relative;color:#fff;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,10,.7),rgba(15,13,10,.2) 62%,rgba(15,13,10,.08))}
.hero-content{position:absolute;left:clamp(24px,8vw,124px);top:50%;transform:translateY(-50%);max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:600;margin:0 0 24px}.eyebrow.dark{color:#5e6255}.hero h1,.intro h2,.section-heading h2,.applications h2,.about h2,.contact h2,.dialog-copy h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.04;letter-spacing:-.025em;margin:0}.hero h1{font-size:clamp(48px,6.7vw,96px)}.hero h1 em{font-weight:500}.hero-content>p:not(.eyebrow){max-width:580px;font-size:17px;margin:28px 0 34px;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;padding:15px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;cursor:pointer;transition:.25s}.button-light{background:#fff;color:#161616}.button-light:hover{background:var(--cream)}.button-dark{background:var(--ink);color:#fff}.button-outline-light{border-color:rgba(255,255,255,.7);color:#fff}.button-outline-light:hover{background:#fff;color:#111}
.text-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.text-link span{transition:.2s}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{border-color:rgba(255,255,255,.65)}
.hero-note{position:absolute;right:clamp(24px,5vw,76px);bottom:30px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl}
.section-pad{padding:clamp(80px,10vw,150px) clamp(24px,6vw,92px)}
.intro{max-width:var(--max);margin:auto;display:grid;grid-template-columns:80px minmax(340px,1.4fr) minmax(260px,.7fr);gap:5vw;align-items:end}.intro-number{font-family:Georgia,serif;font-size:16px;color:#777;align-self:start}.intro h2{font-size:clamp(40px,5.3vw,76px)}.intro-body{font-size:16px;color:#555;margin:0 0 8px}
.collection{background:#eeece6}.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:6vw;align-items:end;max-width:var(--max);margin:0 auto 60px}.section-heading h2{font-size:clamp(42px,5vw,70px)}.section-heading>p{margin:0;color:#5b5b55;max-width:520px}
.catalog-toolbar{max-width:var(--max);margin:0 auto 34px;padding:18px 0;border-top:1px solid #c9c5bc;border-bottom:1px solid #c9c5bc;display:flex;justify-content:space-between;gap:20px;align-items:center}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:0;background:transparent;padding:9px 13px;color:#6b6a63;font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff}.search-box{border-bottom:1px solid #999;display:flex;align-items:center;min-width:220px}.search-box input{border:0;background:transparent;outline:0;width:100%;padding:8px 0;font-size:12px}.search-box span{font-size:20px}
.product-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:42px 18px}.product-card[hidden]{display:none}.product-open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.product-image{display:block;background:#f8f7f3;overflow:hidden;aspect-ratio:1/1}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.product-open:hover .product-image img{transform:scale(1.035)}.product-meta{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 4px 0}.product-meta b{font-weight:500;font-size:14px;display:block}.product-meta small{display:block;color:#77736c;margin-top:4px;font-size:11px}.arrow{font-size:17px;transition:.2s}.product-open:hover .arrow{transform:translate(3px,-3px)}.empty-state{text-align:center;padding:70px}.collection-footer{max-width:var(--max);margin:55px auto 0;border-top:1px solid #c9c5bc;padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.applications{background:#22231f;color:#fff;display:grid;grid-template-columns:1.2fr .8fr;min-height:780px}.applications-image{min-height:650px;overflow:hidden}.applications-image img{width:100%;height:100%;object-fit:cover}.applications-copy{padding:clamp(70px,9vw,130px);display:flex;flex-direction:column;justify-content:center}.applications h2{font-size:clamp(42px,5vw,72px);margin-bottom:28px}.applications-copy>p:not(.eyebrow){color:#c9c8c2;max-width:520px}.applications ul{list-style:none;padding:0;margin:35px 0 48px;border-top:1px solid #55564f}.applications li{padding:16px 0;border-bottom:1px solid #55564f;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.applications li span{font-size:9px;color:#999c8d;display:inline-block;width:44px}
.contract{max-width:var(--max);margin:auto}.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.benefits article{padding:30px 30px 18px 0;border-right:1px solid var(--line);min-height:230px}.benefits article+article{padding-left:28px}.benefits article:last-child{border-right:0}.benefits span{font-size:10px;color:#888}.benefits h3{font-family:Georgia,serif;font-weight:500;font-size:24px;margin:36px 0 12px}.benefits p{color:#666;margin:0;font-size:13px}
.about{background:var(--cream);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center;overflow:hidden}.about-mark{font-family:Manrope,sans-serif;font-size:clamp(230px,35vw,520px);font-weight:200;line-height:.6;transform:scaleX(1.3);color:#dbd7cd;text-align:center}.about-copy{max-width:680px}.about h2{font-size:clamp(42px,5vw,70px);margin-bottom:28px}.about-copy>p:not(.eyebrow){color:#5f5d57;font-size:16px;margin-bottom:32px}
.contact{background:#303129;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact h2{font-size:clamp(46px,6vw,80px);margin-bottom:28px}.contact-intro>p:not(.eyebrow){color:#c9c8bf;max-width:520px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:50px;font-size:13px}.contact-details a{border-bottom:1px solid #77786f}.contact-details span{color:#aead9f;margin-top:14px}.project-form{display:grid;gap:24px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form label{display:grid;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#c8c8c0}.project-form input,.project-form select,.project-form textarea{width:100%;border:0;border-bottom:1px solid #6e6f67;background:transparent;color:#fff;border-radius:0;padding:10px 0;outline:0;text-transform:none;letter-spacing:0}.project-form select option{color:#111}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#fff}.project-form textarea{resize:vertical}.project-form .button{justify-self:start;margin-top:8px}.form-note{font-size:10px;color:#999b92;margin:0}
footer{padding:60px clamp(24px,6vw,92px) 28px;background:#f7f6f1}.footer-brand{justify-content:flex-start;width:max-content}.footer-links{display:flex;gap:34px;margin:45px 0;font-size:11px;text-transform:uppercase;letter-spacing:.11em}.footer-meta{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:28px;font-size:10px;color:#777;text-transform:uppercase;letter-spacing:.08em}.footer-meta span{margin-right:auto}
.product-dialog{width:min(1020px,calc(100% - 36px));border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px rgba(0,0,0,.3)}.product-dialog::backdrop{background:rgba(15,15,12,.7);backdrop-filter:blur(3px)}.product-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.dialog-close{position:absolute;right:18px;top:14px;width:38px;height:38px;border:0;background:none;font-size:28px;z-index:2;cursor:pointer}.dialog-image{background:#f1f0ec;min-height:620px}.dialog-image img{width:100%;height:100%;object-fit:contain}.dialog-copy{padding:72px 58px;display:flex;flex-direction:column;justify-content:center}.dialog-copy h2{font-size:52px}.dialog-finish{color:#696860;margin:15px 0 28px}.dialog-copy>p:not(.eyebrow):not(.dialog-finish){font-size:13px;color:#5f5d58}.dialog-copy dl{margin:30px 0}.dialog-copy dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0;font-size:11px}.dialog-copy dt{text-transform:uppercase;letter-spacing:.1em}.dialog-copy dd{margin:0;color:#6d6b65}.dialog-copy .button{align-self:flex-start}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(3,1fr)}.applications{grid-template-columns:1fr}.applications-image{height:560px}.benefits{grid-template-columns:1fr 1fr}.benefits article:nth-child(2){border-right:0}.contact{gap:6vw}.about{grid-template-columns:.65fr 1.35fr}}
@media(max-width:760px){.announcement{font-size:8px;text-align:center;padding:0 10px}.site-header{height:84px}.brand img{width:96px}.brand span{font-size:8px;gap:10px;padding-left:10px}.menu-toggle{display:block}nav{position:fixed;inset:117px 0 0;background:var(--paper);padding:45px 28px;flex-direction:column;align-items:flex-start;gap:26px;transform:translateX(100%);transition:.35s;font-size:14px}body.menu-open nav{transform:none}.nav-cta{margin-top:10px}.hero{height:680px;min-height:0}.hero-content{bottom:70px;top:auto;transform:none}.hero h1{font-size:48px}.hero-note{display:none}.intro{grid-template-columns:1fr;gap:30px}.intro-number{display:none}.intro h2{font-size:43px}.section-heading{grid-template-columns:1fr;gap:24px}.catalog-toolbar{align-items:flex-start;flex-direction:column}.search-box{width:100%}.product-grid{grid-template-columns:1fr 1fr;gap:34px 12px}.product-meta{padding-top:12px}.collection-footer{align-items:flex-start;gap:20px;flex-direction:column}.applications-image{height:390px;min-height:0}.applications-copy{padding:70px 28px}.benefits{grid-template-columns:1fr}.benefits article,.benefits article+article{border-right:0;border-bottom:1px solid var(--line);padding:28px 0;min-height:0}.about{grid-template-columns:1fr}.about-mark{display:none}.contact{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-meta{flex-direction:column;gap:9px}.footer-meta span{margin:0 0 8px}.product-dialog[open]{display:block;max-height:92vh;overflow:auto}.dialog-image{min-height:340px;height:42vh}.dialog-copy{padding:42px 28px}.dialog-copy h2{font-size:40px}}
@media(max-width:480px){.hero-actions{align-items:flex-start;flex-direction:column}.section-pad{padding:74px 20px}.product-grid{grid-template-columns:1fr}.product-image{aspect-ratio:1.1/1}.filters{gap:4px}.filter{padding:8px 10px}.contact{padding-left:20px;padding-right:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr}.product-meta b{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.product-image img{transition:none}}

/* Who We Work With */
nav a[aria-current="page"]::after{width:100%}
.professional-hero{height:650px;position:relative;color:#fff;overflow:hidden}.professional-hero>img{width:100%;height:100%;object-fit:cover}.professional-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,10,.76),rgba(15,13,10,.18) 70%)}.professional-hero-copy{position:absolute;left:clamp(24px,8vw,124px);top:50%;transform:translateY(-50%);max-width:820px}.professional-hero-copy.visible{transform:translateY(-50%)}.professional-hero h1,.professional-intro h2,.professional-audiences h2,.professional-process h2,.professional-cta h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.04;letter-spacing:-.025em;margin:0}.professional-hero h1{font-size:clamp(52px,6.8vw,98px)}.professional-hero h1 em{font-weight:500}.professional-hero-copy>p:last-child{max-width:610px;font-size:17px;color:rgba(255,255,255,.86);margin-top:28px}
.professional-intro{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:start}.professional-intro h2{font-size:clamp(42px,5vw,72px)}.professional-intro-copy{font-size:16px;color:#5e5c56;padding-top:35px}.professional-intro-copy p{margin:0 0 22px}
.professional-audiences{background:#eeece6}.audience-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c5bc;border-left:1px solid #c9c5bc}.audience-grid article{min-height:300px;padding:32px;border-right:1px solid #c9c5bc;border-bottom:1px solid #c9c5bc}.audience-grid span{font-size:10px;color:#777}.audience-grid h3{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:500;margin:55px 0 14px}.audience-grid p{font-size:13px;color:#68665f;margin:0}
.professional-process{background:#24251f;color:#fff;display:grid;grid-template-columns:1fr 1fr;padding:clamp(80px,9vw,140px) clamp(24px,8vw,124px);gap:10vw}.process-copy h2{font-size:clamp(44px,5vw,74px)}.process-copy>p:not(.eyebrow){color:#c5c5bd;max-width:570px;margin:26px 0 38px}.process-steps{list-style:none;padding:0;margin:0;border-top:1px solid #55564f}.process-steps li{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid #55564f}.process-steps li>span{font-size:10px;color:#97998b}.process-steps b{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:500}.process-steps p{margin:5px 0 0;color:#aaa99f;font-size:13px}
.professional-cta{text-align:center;max-width:1050px;margin:auto}.professional-cta h2{font-size:clamp(46px,6vw,82px)}.professional-cta>p:not(.eyebrow){color:#666;max-width:600px;margin:28px auto 35px}
@media(max-width:1100px) and (min-width:761px){.site-header{padding-left:28px;padding-right:28px}.site-header nav{gap:16px;font-size:10px}.site-header .nav-cta{padding:11px 13px}}
@media(max-width:860px){.professional-intro{grid-template-columns:1fr;gap:35px}.professional-intro-copy{padding-top:0}.audience-grid{grid-template-columns:1fr 1fr}.professional-process{grid-template-columns:1fr;gap:60px}}
@media(max-width:600px){.professional-hero{height:620px}.professional-hero h1{font-size:48px}.audience-grid{grid-template-columns:1fr}.audience-grid article{min-height:250px}.professional-process{padding-left:20px;padding-right:20px}}
