:root{--bg: oklch(97.5% .004 80);--bg-warm: oklch(95.5% .008 75);--surface: oklch(99% .002 80);--dark: oklch(13.5% .012 260);--dark-raised: oklch(17% .012 260);--dark-border: oklch(22% .01 260);--text: oklch(16% .012 260);--text-2: oklch(42% .01 260);--text-3: oklch(52% .008 260);--text-on-dark: oklch(93% .005 80);--text-on-dark-2: oklch(65% .008 80);--text-on-dark-3: oklch(60% .008 260);--accent: oklch(56% .13 38);--accent-hover: oklch(49% .15 38);--accent-subtle: oklch(93% .025 40);--accent-text: oklch(44% .12 38);--kozite: oklch(48% .08 220);--border: oklch(90% .006 80);--border-strong: oklch(82% .008 80);--container: 1120px;--gutter: clamp(20px, 4vw, 32px);--r-sm: 4px;--r-md: 8px;--r-lg: 14px;--ease: cubic-bezier(.22, 1, .36, 1);--t-fast: .15s var(--ease);--t-med: .3s var(--ease)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{text-wrap:balance}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{display:block;max-width:100%}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.skip-link{position:absolute;top:-50px;left:var(--gutter);background:var(--dark);color:var(--text-on-dark);padding:10px 16px;border-radius:0 0 var(--r-md) var(--r-md);font-size:.8125rem;font-weight:500;z-index:200;transition:top var(--t-fast)}.skip-link:focus{top:0}.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}.label{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);margin-bottom:12px}.label--on-dark{color:var(--accent)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background var(--t-med),box-shadow var(--t-med)}.site-header.scrolled{background:#06080deb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--dark-border)}.header-inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;height:60px}.logo-link{display:flex;align-items:center;gap:10px}.logo-mark{height:24px;width:auto;filter:brightness(0) invert(1);opacity:.85}.logo-text{font-size:.9375rem;font-weight:600;color:var(--text-on-dark);letter-spacing:-.02em}.nav-list{display:flex;align-items:center;gap:28px}.nav-list a{font-size:.8125rem;font-weight:500;color:var(--text-on-dark-2);letter-spacing:-.01em;transition:color var(--t-fast)}.nav-list a:hover{color:var(--text-on-dark)}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--text-on-dark)}.hamburger{display:block;width:20px;height:2px;background:currentColor;position:relative;transition:background var(--t-fast)}.hamburger:before,.hamburger:after{content:"";position:absolute;width:20px;height:2px;background:currentColor;left:0;transition:transform var(--t-fast)}.hamburger:before{top:-6px}.hamburger:after{top:6px}.mobile-menu-toggle[aria-expanded=true] .hamburger{background:transparent}.mobile-menu-toggle[aria-expanded=true] .hamburger:before{transform:rotate(45deg) translate(4.5px,4.5px)}.mobile-menu-toggle[aria-expanded=true] .hamburger:after{transform:rotate(-45deg) translate(4.5px,-4.5px)}.hero{background:var(--dark);position:relative;padding:160px 0 120px;min-height:90vh;display:flex;align-items:center;overflow:hidden}.hero-arch{position:absolute;right:-2%;top:50%;transform:translateY(-50%);width:clamp(350px,42vw,560px);height:100%;color:var(--accent);pointer-events:none}.hero-arch svg{width:100%;height:100%}.hero-content{position:relative;max-width:640px}.hero-label{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-dark-2);margin-bottom:28px}.hero-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3rem,6.5vw,5rem);font-weight:500;line-height:1.08;letter-spacing:-.025em;color:var(--text-on-dark);margin-bottom:24px}.hero-title em{font-style:italic;color:var(--accent)}.hero-body{font-size:1.0625rem;line-height:1.7;color:var(--text-on-dark-2);max-width:480px;margin-bottom:40px}.hero-cta{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:#c76749;letter-spacing:-.01em;transition:gap var(--t-fast)}.hero-cta:hover{gap:12px}.hero-cta svg{transition:transform var(--t-fast)}.hero-cta:hover svg{transform:translateY(2px)}.products{padding:clamp(80px,10vw,128px) 0}.products-header{margin-bottom:56px}.products-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.025em;line-height:1.12;color:var(--text)}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.product-card{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--t-med)}.product-card:hover{border-color:var(--border-strong)}.product-card-inner{padding:36px;display:flex;flex-direction:column;gap:16px}.product-meta{display:flex;align-items:center;gap:12px}.product-badge{font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--kozite);background:#17687d14;padding:3px 10px;border-radius:100px}.product-badge--muted{color:var(--text-3);background:#787a7f14}.product-category{font-size:.75rem;font-weight:500;color:var(--text-3)}.product-name{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:600;letter-spacing:-.03em;color:var(--text);line-height:1.1}.product-name--muted{color:var(--text-3)}.product-desc{font-size:.9375rem;line-height:1.7;color:var(--text-2)}.product-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--accent-text);margin-top:4px;transition:gap var(--t-fast)}.product-link:hover{gap:10px}.product-link--muted{color:var(--text-3)}.product-link--muted:hover{color:var(--text-2)}.product-visual{padding:0 36px 36px}.product-visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;height:80px}.pv-block{border-radius:var(--r-sm);transition:transform .4s var(--ease)}.product-card:hover .pv-block{transform:scaleY(1.08)}.pv-block--1{background:#17687d26;transform-origin:bottom}.pv-block--2{background:#17687d40;transform-origin:bottom}.pv-block--3{background:#17687d1f;transform-origin:bottom}.pv-block--4{background:#17687d14;transform-origin:bottom}.approach{padding:clamp(80px,10vw,128px) 0;background:var(--bg-warm);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.approach-header{margin-bottom:64px}.approach-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.025em;line-height:1.12;color:var(--text)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.approach-item{display:flex;flex-direction:column;gap:12px}.approach-item-title{font-family:DM Sans,sans-serif;font-size:1.0625rem;font-weight:600;color:var(--text);letter-spacing:-.02em;line-height:1.3}.approach-item-body{font-size:.9375rem;line-height:1.75;color:var(--text-2)}.contact{background:var(--dark);padding:clamp(80px,10vw,128px) 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,80px);align-items:start}.contact-content{display:flex;flex-direction:column;gap:12px;padding-top:8px}.contact-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.5rem,5vw,3.75rem);font-weight:500;letter-spacing:-.025em;line-height:1.08;color:var(--text-on-dark)}.contact-body{font-size:1rem;line-height:1.7;color:var(--text-on-dark-2);max-width:380px}.contact-email{display:inline-block;font-size:.9375rem;font-weight:500;color:var(--accent);margin-top:8px;border-bottom:1px solid oklch(56% .13 38 / .3);padding-bottom:2px;transition:border-color var(--t-fast)}.contact-email:hover{border-color:var(--accent)}.contact-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.75rem;font-weight:600;color:var(--text-on-dark-2);letter-spacing:-.01em}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--dark-border);border-radius:var(--r-md);font-family:DM Sans,sans-serif;font-size:.9375rem;color:var(--text-on-dark);background:var(--dark-raised);transition:border-color var(--t-fast),box-shadow var(--t-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-on-dark-3)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b355371f}.form-group textarea{resize:vertical;min-height:100px}.btn-submit{align-self:flex-start;padding:11px 24px;border-radius:var(--r-md);font-size:.875rem;font-weight:600;letter-spacing:-.01em;background:var(--accent);color:#fcf7f6;border:none;cursor:pointer;transition:background var(--t-fast),transform var(--t-fast)}.btn-submit:hover{background:var(--accent-hover);transform:translateY(-1px)}.contact-form[hidden]{display:none}.form-error-banner{padding:10px 14px;background:#250e0d;border:1px solid oklch(35% .1 24);border-radius:var(--r-md);color:#ff847f;font-size:.8125rem}.form-error-banner[hidden]{display:none}.contact-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:40px 0;min-height:320px;color:var(--text-on-dark)}.contact-success[hidden]{visibility:hidden;display:none}.success-icon{color:var(--accent);margin-bottom:8px}.contact-success h3{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:500}.contact-success p{color:var(--text-on-dark-2);font-size:.9375rem;max-width:320px}.btn-reset{margin-top:12px;background:none;border:1px solid var(--dark-border);color:var(--text-on-dark-2);padding:8px 16px;border-radius:var(--r-md);font-size:.8125rem;cursor:pointer;transition:all var(--t-fast)}.btn-reset:hover{border-color:var(--text-on-dark-3);color:var(--text-on-dark)}.site-footer{background:var(--dark);border-top:1px solid var(--dark-border)}.footer-inner{padding:48px 0 32px;display:flex;align-items:flex-start;gap:48px;flex-wrap:wrap}.footer-brand{flex:1;min-width:180px}.footer-logo-link{display:inline-flex;align-items:center;gap:8px}.footer-mark{height:20px;width:auto;filter:brightness(0) invert(1);opacity:.6}.footer-logo-text{font-size:.8125rem;font-weight:600;color:var(--text-on-dark-2);letter-spacing:-.02em}.footer-nav,.footer-legal{display:flex;gap:24px}.footer-nav a,.footer-legal a{font-size:.8125rem;color:var(--text-on-dark-3);transition:color var(--t-fast)}.footer-nav a:hover,.footer-legal a:hover{color:var(--text-on-dark-2)}.footer-bottom{border-top:1px solid var(--dark-border)}.footer-bottom .container{padding-top:16px;padding-bottom:16px}.footer-bottom p{font-size:.75rem;color:var(--text-on-dark-3)}.reveal{transform:translateY(16px);transition:transform .6s var(--ease)}.reveal.revealed{transform:translateY(0)}.reveal-delay-1{transition-delay:60ms}.reveal-delay-2{transition-delay:.12s}.reveal-delay-3{transition-delay:.18s}@media(max-width:900px){.hero{min-height:auto;padding:130px 0 88px}.hero-arch{opacity:.5;right:-10%}.products-grid{grid-template-columns:1fr}.approach-grid{grid-template-columns:1fr;gap:36px}.contact-inner{grid-template-columns:1fr;gap:48px}}@media(max-width:640px){.hero{padding:110px 0 72px}.hero-arch{display:none}.hero-title{font-size:clamp(2.5rem,9vw,3.25rem)}.nav-list{display:none;position:absolute;top:60px;left:0;right:0;background:var(--dark-raised);border-bottom:1px solid var(--dark-border);flex-direction:column;padding:12px var(--gutter) 16px;gap:0}.nav-list.is-active{display:flex}.nav-list li{width:100%}.nav-list a{display:block;padding:10px 0;font-size:.9375rem;border-bottom:1px solid var(--dark-border)}.nav-list li:last-child a{border-bottom:none}.mobile-menu-toggle{display:flex}.footer-inner{flex-direction:column;gap:32px}.footer-nav,.footer-legal{flex-wrap:wrap;gap:16px}.btn-submit{align-self:stretch;text-align:center}}@media(prefers-reduced-motion:reduce){.reveal,.reveal.revealed{transform:none;transition:none}}
