:root{--color-bg:#faf7f2;--color-surface:#fff;--color-tint:#f1ebe1;--color-text:#2f2d29;--color-muted:#6f6a61;--color-primary:#3b3a36;--color-accent:#b08d57;--color-accent-soft:#e8dcc6;--color-border:#e3dccf;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--radius:4px;--container:1120px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-primary);margin:0 0 .6em;font-weight:500;line-height:1.15}h1{font-size:clamp(2.4rem,5vw,4rem)}h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}h3{font-size:1.5rem}p{margin:0 0 1em}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.center{text-align:center}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.8em;font-size:.78rem;font-weight:500}.logo{width:auto;height:50px;display:block}.footer .logo{height:42px}.header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#faf7f2eb;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;height:80px;display:flex}.header a:hover{text-decoration:none}.nav{gap:32px;display:flex}.nav a{color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #0000;padding:6px 0;font-size:.85rem}.nav a:hover,.nav a.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.header__toggle{cursor:pointer;background:0 0;border:0;padding:8px;display:none}.header__toggle span{background:var(--color-primary);width:24px;height:2px;margin:5px 0;display:block}.btn{border-radius:var(--radius);letter-spacing:.12em;text-transform:uppercase;border:1px solid #0000;padding:14px 28px;font-size:.82rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-block}.btn:hover{text-decoration:none}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-accent)}.btn--ghost{border-color:var(--color-primary);color:var(--color-primary)}.btn--ghost:hover{background:var(--color-primary);color:#fff}.hero{background:linear-gradient(135deg, var(--color-bg) 0%, var(--color-tint) 100%);padding:120px 0 140px;position:relative;overflow:hidden}.curtain{pointer-events:none;width:52%;height:100%;position:absolute;top:0;right:0}.curtain__panel,.curtain__tieback{transform-origin:100% 0;animation:7s ease-in-out infinite alternate sway}@keyframes sway{0%{transform:skew(0)}to{transform:skew(-.8deg)}}@media (prefers-reduced-motion:reduce){.curtain__panel,.curtain__tieback{animation:none}}.hero__content{max-width:760px;margin-left:max(24px, calc((100vw - var(--container)) / 2 + 24px));padding:0;position:relative}.hero__lead{color:var(--color-muted);max-width:540px;font-size:1.15rem}.hero__actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.section{padding:100px 0}.section--tinted{background:var(--color-tint)}.split{grid-template-columns:1fr 1.2fr;align-items:start;gap:64px;display:grid}.prose p{color:var(--color-muted);font-size:1.05rem}.prose strong{color:var(--color-text);font-weight:500}.photo{margin:32px 0 0}.photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.works{padding-top:0}.gallery{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;display:grid}.gallery figure{margin:0;overflow:hidden}.gallery img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto;transition:transform .4s;display:block}.gallery figure:hover img{transform:scale(1.03)}.team{border-top:1px solid var(--color-border);gap:20px;margin-top:28px;padding-top:28px;display:grid}.team__member{align-items:flex-start;gap:16px;display:flex}.team__member h3{margin-bottom:.1em;font-size:1.3rem}.team__member p{color:var(--color-muted);margin:0;font-size:.95rem}.team__initial{background:var(--color-tint);width:46px;height:46px;color:var(--color-accent);font-family:var(--font-serif);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.5rem;display:grid}.values{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);gap:40px;margin-top:72px;padding-top:48px;display:grid}.value h3{margin-bottom:.3em;font-size:1.35rem}.value h3:before{content:"";background:var(--color-accent);width:28px;height:2px;margin-bottom:14px;display:block}.value p{color:var(--color-muted);margin:0;font-size:.95rem}.lead{color:var(--color-muted);max-width:640px;font-size:1.08rem}.lead.intro{margin:0 auto}.lead strong{color:var(--color-text);font-weight:500}.cards{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;display:grid}.brands{margin-top:64px}.brands ul{flex-wrap:wrap;justify-content:center;gap:10px 36px;margin:0;padding:0;list-style:none;display:flex}.brands li{font-family:var(--font-serif);color:var(--color-muted);font-size:1.3rem}.card{background:var(--color-surface);border-top:2px solid var(--color-accent);padding:40px 32px}.card p{color:var(--color-muted);margin:0}.cta{background:var(--color-primary);color:#e9e4da;justify-content:space-between;align-items:center;gap:40px;padding:56px;display:flex}.cta h2{color:#fff}.cta p:last-child{margin:0}.cta .btn--primary{background:var(--color-accent);flex-shrink:0}.cta .btn--primary:hover{color:var(--color-primary);background:#fff}.coming{min-height:70vh}.coming__lead{max-width:620px;color:var(--color-muted);margin:0 auto 56px;font-size:1.1rem}.steps{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px;display:grid}.step{border:1px dashed var(--color-accent);background:var(--color-surface);padding:32px}.step__n{font-family:var(--font-serif);color:var(--color-accent);font-size:2.4rem}.step p{color:var(--color-muted);margin:0}.contact{grid-template-columns:1fr 1.4fr;gap:48px;margin-top:32px;display:grid}.contact__info{flex-direction:column;gap:24px;display:flex}.contact__info h3{margin-bottom:.3em;font-size:1.25rem}.contact__info p{color:var(--color-muted);margin:0 0 .3em}.contact__map{flex-direction:column;gap:10px;display:flex}.contact__map iframe{filter:grayscale(.3)sepia(.12);border:0;flex:1;width:100%;min-height:420px}.contact__map-link{font-size:.9rem}.hours__title{margin-top:80px}.hours{grid-template-columns:1fr 1fr;gap:32px;display:grid}.hours__table{background:var(--color-surface);border-top:2px solid var(--color-accent);padding:28px}.hours__table h3 span{font-family:var(--font-sans);color:var(--color-muted);font-size:.85rem}.hours table{border-collapse:collapse;width:100%;font-size:.95rem}.hours th,.hours td{text-align:left;border-bottom:1px solid var(--color-border);padding:9px 8px}.hours thead th{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-size:.72rem;font-weight:500}.hours tbody th{font-weight:500}.hours tbody tr:last-child th,.hours tbody tr:last-child td{border-bottom:0}.hours .closed{color:var(--color-muted);font-style:italic}.footer{background:var(--color-primary);color:#cfc8bb;padding:64px 0 24px;font-size:.92rem}.footer h4{color:#fff;font-size:1.15rem}.footer a{color:#e8dcc6}.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;display:grid}.footer__muted{margin-top:16px}.footer__bottom{border-top:1px solid #ffffff1f;margin-top:48px;padding-top:20px;font-size:.8rem}@media (width<=860px){.header__toggle{display:block}.nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;gap:0;display:none;position:absolute;top:80px;left:0;right:0}.nav--open{display:flex}.nav a{border-bottom:1px solid var(--color-border);padding:16px 24px}.split,.contact,.cards,.steps,.values,.hours{grid-template-columns:1fr;gap:24px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.values{margin-top:48px;padding-top:32px}.logo{height:40px}.hours__table{padding:20px 16px}.footer__grid{grid-template-columns:1fr 1fr}.cta{flex-direction:column;align-items:flex-start;padding:36px 24px}.hero{padding:80px 0 100px}.curtain{opacity:.5;width:100%}.section{padding:72px 0}.container{padding:0 16px}.hero__content{margin-left:16px;margin-right:16px}}
