/* GrowStone polish: same design, smoother + Sora everywhere */
:root{--serif:'Sora',system-ui,sans-serif;--sans:'Sora',system-ui,sans-serif;--e2:cubic-bezier(.16,1,.3,1)}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body,button,input,textarea{font-family:'Sora',system-ui,sans-serif}
h1,h2,.scrub,.home .ac h3,.pre .mk{font-family:'Sora',sans-serif}
h1{font-weight:300;letter-spacing:-.045em;line-height:1.04}h1 em,h2 em{font-weight:200;font-style:normal;background:linear-gradient(100deg,#B8893F,#E3C27A 50%,#B8893F);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-weight:300;letter-spacing:-.04em}h2 strong,h2 b{font-weight:700}
.scrub{font-weight:300;letter-spacing:-.04em;line-height:1.22}
.home .ac h3{font-weight:400;font-size:1.35rem;letter-spacing:-.02em}
/* reveal: no blur filter (this was the lag), GPU transform only */
.js .rv{filter:none;transform:translate3d(0,34px,0);transition:opacity .9s var(--e2),transform 1s var(--e2);transition-delay:calc(var(--d,0)*70ms);will-change:opacity,transform}
.js .rv.in{transform:none;will-change:auto}
.js .sp .w>span{transform:translate3d(0,115%,0);transition:transform 1s var(--e2);transition-delay:calc(var(--i)*55ms)}
/* aurora: soft edge by mask instead of heavy blur filter, transform-only motion */
.aur i{filter:none;-webkit-mask:radial-gradient(closest-side,#000 20%,transparent);mask:radial-gradient(closest-side,#000 20%,transparent);will-change:transform}
.pre{transition-duration:.9s}
.btn,.pc,.ac,.stone{transition-timing-function:var(--e2)}
.btn:active{transform:scale(.96)!important}
/* touch devices: gentle CSS sway instead of mouse tilt, cheaper glass */
@media(hover:none){.hero .stage{animation:sway 9s ease-in-out infinite;transition:none}@keyframes sway{0%,100%{transform:translate3d(0,0,0) rotateY(-7deg)}50%{transform:translate3d(0,-10px,0) rotateY(7deg)}}}
@media(max-width:860px){
.aur i{animation:none}
.home .glass,.home .stone,.home .stp,.home .dyo,.eyebrow,.sw3 span,.home .btn.line,.gl{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.78)}
.home .hd,.home .float{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.btn,.filter button,nav a{min-height:48px}
h1{font-size:clamp(2.2rem,10vw,3.2rem)}.scrub{font-size:clamp(1.55rem,6.4vw,2.2rem)}
.home .stone .sw{height:150px}
}
@media(prefers-reduced-motion:reduce){.hero .stage{animation:none}}
/* ===== PREMIUM LAYER ===== */
::selection{background:#E3C27A;color:#1F1B17}
:focus-visible{outline:2px solid #B8893F;outline-offset:3px;border-radius:8px}
html{scrollbar-width:thin;scrollbar-color:#B8893F transparent}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.7rem}
.eyebrow:before{content:"";width:26px;height:1px;background:#B8893F}
/* primary button: deep charcoal + gold shine */
.btn:not(.line){position:relative;overflow:hidden;background:linear-gradient(135deg,#1F1B17,#3d2f25);color:#F6EBD5;border:1px solid rgba(184,137,63,.55);box-shadow:0 14px 30px -14px rgba(31,27,23,.7),inset 0 1px 0 rgba(255,255,255,.12);letter-spacing:.02em}
.btn:not(.line):after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(227,194,122,.45) 50%,transparent 65%);transform:translate3d(-120%,0,0);transition:transform .9s var(--e2)}
@media(hover:hover){.btn:not(.line):hover:after{transform:translate3d(120%,0,0)}}
.btn.line{letter-spacing:.02em}
/* cards: hairline gold on hover, richer shadow */
.pc,.ac,.stone{position:relative}
.pc:before,.ac:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(160deg,rgba(227,194,122,.9),transparent 45%,rgba(184,137,63,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s;pointer-events:none}
@media(hover:hover){.pc:hover:before,.ac:hover:before{opacity:1}.pc:hover{box-shadow:0 36px 60px -30px rgba(120,80,50,.45)}}
.pc .m h3{font-weight:500;letter-spacing:-.02em}
.chip{letter-spacing:.04em;font-weight:500}
.marq span{font-weight:300;letter-spacing:.12em;text-transform:uppercase}
/* trust row */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid rgba(184,137,63,.35)}
.trust>div{padding:30px 22px;text-align:center;border-left:1px solid rgba(184,137,63,.25)}.trust>div:first-child{border-left:0}
.trust b{display:block;font-weight:300;font-size:1.05rem;letter-spacing:-.02em;color:var(--ink)}
.trust small{display:block;margin-top:6px;font-size:.78rem;font-weight:300;color:var(--mut);line-height:1.5}
.trust i{display:block;width:7px;height:7px;margin:0 auto 14px;background:#B8893F;transform:rotate(45deg)}
/* quote form */
.quote input,.quote textarea{border-radius:14px;border:1px solid rgba(184,137,63,.35);background:rgba(255,255,255,.7);padding:16px 18px;font-size:16px;font-weight:300;transition:border-color .3s,box-shadow .3s}
.quote input:focus,.quote textarea:focus{outline:0;border-color:#B8893F;box-shadow:0 0 0 4px rgba(184,137,63,.15)}
.qbox h2,.cta h2{font-weight:300}
/* footer: dark premium */
footer{background:#1A1612!important;color:#CFC4B2;border-top:1px solid rgba(184,137,63,.4)}
footer h3{color:#E3C27A;font-weight:500;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
footer a{color:#CFC4B2;font-weight:300;transition:color .25s}footer a:hover{color:#E3C27A}
footer p,footer .copy{color:#8F8472}footer .logo{color:#F6EBD5}
footer .mark{background:#E3C27A;color:#1A1612}
/* product page */
.prod .info{position:sticky;top:96px}
.prod .info dl{border-top:1px solid rgba(184,137,63,.3);padding-top:18px}
/* desktop-only film grain */
@media(min-width:861px) and (hover:hover){body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 .3 0 0 0 0 .22 0 0 0 0 .15 0 0 0 .06 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>")}}
@media(max-width:860px){.trust{grid-template-columns:1fr 1fr}.trust>div{padding:24px 12px}.trust>div:nth-child(3){border-left:0}.trust>div:nth-child(n+3){border-top:1px solid rgba(184,137,63,.25)}.prod .info{position:static}}
