:root{--alabaster:#f0ece3;--obsidian:#0c0c0d;--charcoal:#2a2926;--flax:#c7ae87;--hairline-light:#dcd4c4;--hairline-dark:#f0ece329;--serif:"Cormorant Garamond", "Didot", Georgia, serif;--sans:"Inter", "Helvetica Neue", Arial, sans-serif;--dur-hover:.4s;--dur-reveal:.8s;--dur-panel:.5s;--dur-theme:.9s;--gutter:clamp(1rem, 2vw, 2rem);--margin:clamp(1.25rem, 5vw, 4.5rem)}body[data-theme=dark]{--bg:var(--obsidian);--ink:var(--alabaster);--ink-2:#f0ece3b8;--accent:var(--flax);--hairline:var(--hairline-dark)}body[data-theme=light]{--bg:var(--alabaster);--ink:var(--obsidian);--ink-2:var(--charcoal);--accent:var(--charcoal);--hairline:var(--hairline-light)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);transition:background-color var(--dur-theme) ease, color var(--dur-theme) ease;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6;overflow-x:hidden}::selection{background:var(--flax);color:var(--obsidian)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img,svg,canvas{max-width:100%;display:block}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--obsidian);color:var(--alabaster);letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1rem;font-size:.75rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-300%)}.skip-link:focus{transform:none}h1,h2,h3,.voice-serif{font-family:var(--serif);font-weight:500;line-height:1.12}.eyebrow{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:500}.wordmark{font-family:var(--serif);letter-spacing:.42em;text-transform:uppercase;white-space:nowrap;font-size:clamp(.95rem,1.4vw,1.25rem);font-weight:500}.text-cta{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;align-items:center;gap:.75rem;padding-block:.5rem;font-size:.78rem;font-weight:500;display:inline-flex;position:relative}.text-cta:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--dur-hover) cubic-bezier(.25, .1, .25, 1);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.text-cta:hover:after,.text-cta:focus-visible:after{transform:scaleX(1)}.text-cta .arrow{transition:transform var(--dur-hover) cubic-bezier(.25, .1, .25, 1)}.text-cta:hover .arrow{transform:translate(6px)}.grid{column-gap:var(--gutter);padding-inline:var(--margin);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}section{z-index:1;position:relative}.site-header{inset-inline:0;z-index:40;padding:1.4rem var(--margin);mix-blend-mode:difference;color:var(--alabaster);grid-template-columns:1fr auto 1fr;align-items:center;column-gap:1rem;display:grid;position:fixed;top:0}.site-header .menu-btn{justify-self:start}.site-header .header-cta{justify-self:end}.header-cta .cta-short{display:none}@media (width<=700px){.site-header{padding-block:1.1rem}.site-header .wordmark{letter-spacing:.22em;font-size:.78rem}.header-cta .cta-full{display:none}.header-cta .cta-short{display:inline}}.site-header .menu-btn span{background:currentColor}.menu-btn{flex-direction:column;gap:6px;width:2rem;padding:.5rem 0;display:inline-flex}.menu-btn span{background:var(--ink);width:100%;height:1px;transition:transform var(--dur-hover) ease, width var(--dur-hover) ease}.menu-btn:hover span:nth-child(2){width:60%}.header-cta{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;font-size:.72rem}.scene-mount{z-index:0;pointer-events:none;position:fixed;inset:0}.hero{column-gap:var(--gutter);min-height:100svh;padding:0 var(--margin) clamp(3rem, 8vh, 6rem);grid-template-columns:repeat(12,minmax(0,1fr));align-content:end;display:grid;position:relative}.hero-mark{color:var(--flax);opacity:.9;position:absolute;top:24%;left:78%;transform:translate(-50%,-50%)}@media (width<=800px){.hero-mark{top:18%;left:82%}}.hero-copy{text-align:left;grid-column:2/13}.hero .eyebrow{margin-bottom:1.5rem;display:block}.hero h1{letter-spacing:.18em;text-transform:uppercase;max-width:18ch;margin-bottom:2.2rem;font-size:clamp(2.1rem,6.2vw,5.4rem);font-weight:500}.hero .text-cta{color:var(--alabaster)}.origin{padding-block:clamp(7rem,18vh,13rem)}.origin .eyebrow{grid-column:1/4;padding-top:.8rem}.origin h2{text-wrap:pretty;grid-column:5/13;font-size:clamp(1.5rem,3.4vw,2.9rem);font-weight:400;line-height:1.32}.disciplines{padding-block:clamp(5rem,14vh,10rem)}.disciplines .eyebrow{grid-column:1/5;margin-bottom:4rem}.discipline-list{column-gap:var(--gutter);grid-column:1/13;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:clamp(2.5rem,6vh,4.5rem);list-style:none;display:grid}.discipline{border-top:1px solid var(--hairline);padding-top:1.4rem}.discipline:nth-child(odd){grid-column:1/7}.discipline:nth-child(2n){grid-column:7/13}@media (width<=800px){.discipline:nth-child(n){grid-column:1/13}}.discipline h3{margin-bottom:.6rem;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:500}.discipline p{color:var(--ink-2);max-width:42ch;font-size:.92rem}.discipline .index{font-family:var(--sans);letter-spacing:.25em;color:var(--accent);margin-bottom:.9rem;font-size:.7rem;display:block}.cloth{padding-block:clamp(5rem,14vh,10rem)}.cloth .eyebrow{grid-column:1/4;margin-bottom:1.2rem}.cloth h2{grid-column:1/10;margin-bottom:clamp(3rem,8vh,5.5rem);font-size:clamp(1.7rem,3.6vw,3.1rem);font-weight:400;line-height:1.25}.cloth-grid{column-gap:var(--gutter);grid-column:1/13;grid-template-rows:auto auto auto;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:3rem;display:grid}.cloth-card{grid-template-rows:subgrid;text-align:left;grid-area:span 3/span 3;row-gap:.35rem;display:grid}.cloth-card .swatch{aspect-ratio:3/4;background:var(--swatch-base,var(--charcoal));margin-bottom:.9rem;position:relative;overflow:hidden}.cloth-card .swatch svg{width:100%;height:100%;transition:transform var(--dur-hover) cubic-bezier(.22, .08, .25, 1);position:absolute;inset:0}.cloth-card .swatch .weave-macro{opacity:0;transition:opacity var(--dur-hover) ease, transform var(--dur-hover) cubic-bezier(.22, .08, .25, 1)}.cloth-card.inspecting .swatch .weave-fine{transform:scale(1.7)}.cloth-card.inspecting .swatch .weave-macro{opacity:1;transform:scale(1.08)}.cloth-card .swatch:after{content:"HAND-FEEL";font-family:var(--sans);letter-spacing:.3em;color:var(--alabaster);opacity:0;transition:opacity var(--dur-hover) ease;font-size:.58rem;position:absolute;bottom:.6rem;right:.7rem}.cloth-card.inspecting .swatch:after{opacity:.85}.cloth-card h3{font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:500}.cloth-card .use{font-family:var(--sans);letter-spacing:.08em;color:var(--ink-2);font-size:.78rem}@media (width<=900px){.cloth-card{grid-column:span 6}}@media (width<=560px){.cloth-card{grid-column:span 12}}.tailored{align-items:center;padding-block:clamp(5rem,14vh,10rem)}.tailored .portrait{aspect-ratio:4/5;border:1px solid var(--hairline);background:linear-gradient(160deg,#c7ae8724,#0c0c0d00 55%),linear-gradient(20deg,#2a29268c,#2a292626);grid-column:1/7;position:relative;overflow:hidden}.tailored .portrait svg{opacity:.5;width:100%;height:100%;position:absolute;inset:0}.tailored .statement{grid-column:8/13}.tailored .eyebrow{margin-bottom:1.4rem;display:block}.tailored h2{margin-bottom:2.4rem;font-size:clamp(1.7rem,3.4vw,3rem);font-weight:400;line-height:1.28}@media (width<=800px){.tailored .portrait{grid-column:1/13;margin-bottom:3rem}.tailored .statement{grid-column:1/13}}.observations{padding-block:clamp(5rem,14vh,10rem)}.observations .eyebrow{grid-column:1/4;margin-bottom:1.2rem}.observations h2{grid-column:1/10;margin-bottom:clamp(3rem,8vh,5rem);font-size:clamp(1.6rem,3.2vw,2.8rem);font-weight:400;line-height:1.28}.obs-list{column-gap:var(--gutter);grid-column:1/13;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:2.5rem;list-style:none;display:grid}.obs-card{grid-column:span 4}.obs-card .frame{aspect-ratio:16/10;border:1px solid var(--hairline);background:linear-gradient(145deg,#2a29263d,#c7ae871a);margin-bottom:1rem;position:relative;overflow:hidden}.obs-card .frame:after{content:"";background:linear-gradient(120deg,#0000 30%,#f0ece31a 50%,#0000 70%);transition:transform .9s;position:absolute;inset:0;transform:translate(-100%)}.obs-card:hover .frame:after{transform:translate(100%)}.obs-card h3{font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:500}.obs-card .kind{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);font-size:.7rem}@media (width<=800px){.obs-card{grid-column:span 12}}.atelier{text-align:left;padding-block:clamp(8rem,20vh,14rem)}.atelier .eyebrow{grid-column:3/11;margin-bottom:1.6rem}.atelier h2{grid-column:3/11;margin-bottom:3rem;font-size:clamp(1.8rem,3.8vw,3.3rem);font-weight:400;line-height:1.3}.atelier .paths{flex-wrap:wrap;grid-column:3/11;gap:2.5rem;display:flex}.chronicle{border-top:1px solid var(--hairline);align-items:center;padding-block:clamp(6rem,16vh,11rem)}.chronicle h2{grid-column:1/6;font-size:clamp(1.9rem,4vw,3.4rem);font-weight:400;line-height:1.15}.chronicle form{grid-column:7/13;grid-template-columns:1fr auto;align-items:end;column-gap:2rem;display:grid}.chronicle label{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.8rem;font-size:.7rem;display:block}.chronicle input{border:0;border-bottom:1px solid var(--hairline);width:100%;color:var(--ink);font-family:var(--sans);background:0 0;padding-block:.6rem;font-size:.95rem}.chronicle input:focus{border-bottom-color:var(--accent);outline:none}.chronicle input::placeholder{color:var(--ink-2);opacity:.55}.chronicle .confirm{font-family:var(--serif);color:var(--accent);grid-column:1/-1;margin-top:1.2rem;font-size:1.1rem}@media (width<=800px){.chronicle h2{grid-column:1/13;margin-bottom:2.5rem}.chronicle form{grid-column:1/13}}.contact{row-gap:clamp(2.5rem,6vh,4rem);padding-block:clamp(6rem,15vh,10rem)}.contact .eyebrow{grid-column:1/4}.contact h2{grid-column:1/10;margin-bottom:clamp(1.5rem,4vh,3rem);font-size:clamp(1.7rem,3.4vw,3rem);font-weight:400;line-height:1.25}.contact-detail{border-top:1px solid var(--hairline);grid-column:span 5;padding-top:1.6rem}.contact-detail:nth-of-type(odd){grid-column:1/6}.contact-detail:nth-of-type(2n){grid-column:7/12}.contact-label{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:1.4rem;font-size:.7rem;font-weight:500}.contact-address{font-family:var(--serif);color:var(--ink);margin-bottom:1.6rem;font-size:clamp(1.4rem,2.4vw,2rem);font-style:normal;line-height:1.4}.contact-numbers{gap:.9rem;list-style:none;display:grid}.contact-numbers a{font-family:var(--serif);color:var(--ink);transition:color var(--dur-hover) ease, letter-spacing var(--dur-hover) ease;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3}.contact-numbers a:hover,.contact-numbers a:focus-visible{color:var(--accent);letter-spacing:.02em}@media (width<=800px){.contact h2,.contact-detail:nth-of-type(odd),.contact-detail:nth-of-type(2n){grid-column:1/13}}.site-footer{border-top:1px solid var(--hairline);padding-block:clamp(4rem,10vh,7rem) 3rem}.footer-cols{column-gap:var(--gutter);grid-column:1/13;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:2.5rem;margin-bottom:clamp(4rem,10vh,6rem);display:grid}.footer-col{grid-column:span 3}.footer-col h3{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2);margin-bottom:1.3rem;font-size:.7rem;font-weight:500}.footer-col ul{gap:.8rem;list-style:none;display:grid}.footer-col a{font-family:var(--sans);color:var(--ink-2);transition:color var(--dur-hover) ease;font-size:.88rem}.footer-col a:hover{color:var(--ink)}.footer-sig{text-align:center;grid-column:1/13;padding-top:2rem}.footer-sig .wordmark{color:var(--flax);font-size:.95rem}@media (width<=640px){.footer-col{grid-column:span 6}}@keyframes menuIn{0%{opacity:0}to{opacity:1}}@keyframes groupIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.menu-overlay{z-index:60;background:var(--obsidian);color:var(--alabaster);padding:1.4rem var(--margin) 3rem;grid-template-rows:auto 1fr;animation:.5s both menuIn;display:grid;position:fixed;inset:0;overflow-y:auto}.menu-head{justify-content:space-between;align-items:center;display:flex}.menu-head .eyebrow{color:var(--flax)}.menu-close{padding:.4rem .6rem;font-size:1.4rem;line-height:1}.menu-groups{gap:3rem var(--gutter);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-content:center;display:grid}.menu-group{animation:.7s both groupIn}.menu-group:nth-child(2){animation-delay:80ms}.menu-group:nth-child(3){animation-delay:.16s}.menu-group h2{margin-bottom:1.6rem;font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:500}.menu-group ul{gap:1rem;list-style:none;display:grid}.menu-group a{font-family:var(--sans);color:#f0ece3b8;transition:color var(--dur-hover) ease, letter-spacing var(--dur-hover) ease;font-size:.95rem}.menu-group a:hover,.menu-group a:focus-visible{color:var(--flax)}.panel-scrim{z-index:70;opacity:0;visibility:hidden;transition:opacity var(--dur-panel) ease, visibility 0s linear var(--dur-panel);background:#0c0c0d8c;position:fixed;inset:0}.panel-scrim.open{opacity:1;visibility:visible;transition:opacity var(--dur-panel) ease}.panel{visibility:hidden;transition:transform var(--dur-panel) cubic-bezier(.65, 0, .35, 1), visibility 0s linear var(--dur-panel);z-index:71;background:var(--obsidian);width:min(30rem,92vw);color:var(--alabaster);border-left:1px solid var(--hairline-dark);flex-direction:column;gap:1.8rem;padding:2.2rem 2.4rem 3rem;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.panel.open{visibility:visible;transition:transform var(--dur-panel) cubic-bezier(.65, 0, .35, 1);transform:none}.panel .eyebrow{color:var(--flax)}.panel-head{justify-content:space-between;align-items:start;display:flex}.panel h2{max-width:14ch;font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:500;line-height:1.15}.panel-close{padding:.3rem .5rem;font-size:1.3rem}.panel .swatch-strip{border:1px solid var(--hairline-dark);height:7.5rem;position:relative;overflow:hidden}.panel .swatch-strip svg{width:100%;height:100%;position:absolute;inset:0}.spec-table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.82rem}.spec-table th{text-align:left;letter-spacing:.18em;text-transform:uppercase;color:#f0ece38c;width:42%;padding:.65rem 0;font-size:.62rem;font-weight:500}.spec-table td{color:#f0ece3e0;padding:.65rem 0}.spec-table tr+tr{border-top:1px solid var(--hairline-dark)}.panel .narrative{font-family:var(--serif);color:#f0ece3d9;font-size:1.08rem;line-height:1.55}.units-row{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:1.2rem;font-size:.8rem;display:flex}.units-row .stepper{border:1px solid var(--hairline-dark);align-items:center;gap:1rem;padding:.35rem .9rem;display:inline-flex}.units-row button{padding:.1rem .4rem;font-size:1rem}.panel .text-cta{color:var(--flax);align-self:start}.panel .empty-state{gap:1.4rem;padding-block:2rem;display:grid}.panel .empty-state p{font-family:var(--serif);color:#f0ece3cc;font-size:1.15rem}.cloth-fallback{position:absolute;inset:0;overflow:hidden}.cloth-fallback svg{width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}body{transition:none}}
