.site-header { position:sticky; top:0; z-index:50; height:80px; background:rgba(243,238,229,.86); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); transition:box-shadow .4s,background .4s; }
.site-header.is-scrolled { box-shadow:0 4px 28px #41070d12; background:rgba(243,238,229,.92); }
.logo-lockup { width:190px; height:56px; }
.logo-lockup img { filter:none; }
.site-header nav { gap:22px; }
.site-header .brand { flex-shrink:0; }
html { scroll-padding-top:100px; }
body#top { scroll-margin-top:0; }
section[id] { scroll-margin-top:0; }
.use-cases,.faq { padding:80px max(24px,calc((100vw - 1200px)/2)); }
.use-cases { background:#eee5d8; }
.use-cases .section-heading > p { max-width:260px; color:var(--muted); font-size:16px; }
.case-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:24px; scrollbar-width:none; border-radius:5px; }
.case-track::-webkit-scrollbar { display:none; }
.case-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; display:grid; grid-template-columns:1.2fr 1fr; background:var(--burgundy-dark); color:var(--ivory); }
.case-slide > img { width:100%; height:440px; object-fit:cover; }
.case-copy { padding:44px; display:flex; flex-direction:column; justify-content:center; }
.case-copy h3 { font-size:clamp(2rem,3vw,3rem); line-height:1.15; }
.case-copy > p:not(.eyebrow) { color:#e1d1c1; line-height:1.8; font-size:16px; margin-top:24px; }
.case-copy small { color:#d0bba4; font-size:13px; }
.case-controls { display:flex; justify-content:center; align-items:center; gap:24px; margin-top:24px; }
.case-controls button { cursor:pointer; font:inherit; color:var(--burgundy); background:transparent; border:1px solid #71111d33; min-width:44px; min-height:44px; border-radius:50%; transition:background .25s,color .25s; }
.case-controls button:hover,.case-dots button[aria-current=true] { background:var(--burgundy); color:var(--ivory); }
.case-controls button:disabled { opacity:.35; cursor:default; }
.case-dots { display:flex; gap:10px; }
.case-dots button { font-size:14px; }
.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; }
.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; border-top:1px solid var(--line); }
.faq h2 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.16; }
.faq > div > p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.8; }
.faq a { text-decoration:underline; text-underline-offset:4px; color:var(--burgundy); }
.faq details { border-bottom:1px solid var(--line); }
.faq details:first-child { border-top:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:22px 34px 22px 0; font-size:17px; font-weight:500; position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; position:absolute; right:2px; top:18px; font-size:26px; font-weight:400; color:var(--burgundy); }
.faq details[open] summary::after { content:'−'; }
.faq details p { margin:0; padding:0 25px 24px 0; color:var(--muted); line-height:1.8; font-size:16px; }
.reveal-ready { opacity:0; transform:translateY(26px); transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1); }
.reveal-ready.is-visible { opacity:1; transform:translateY(0); }
.hero-kicker { margin:0 0 22px; color:#dfc8a4; font-size:15px; font-family:'Canela','DM Sans',sans-serif; font-style:italic; font-weight:400; line-height:1.5; }
.hero-visual { aspect-ratio:1.08; border-radius:50% 50% 3px 3px / 40% 40% 3px 3px; border:1px solid rgba(223,200,164,.45); }
.hero-visual > img { inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:none; }
.hero .text-link { border:0; padding:10px 0 7px; background-image:linear-gradient(currentColor,currentColor); background-size:100% 1px; background-position:0 100%; background-repeat:no-repeat; }
.hero .button { border-radius:2px; box-shadow:none; }
.eyebrow { text-transform:none; letter-spacing:.015em; font-family:'Canela','DM Sans',sans-serif; font-style:italic; font-size:15px; font-weight:400; line-height:1.5; }
.case-track { border-radius:0; }
#service { background:#191919; color:#f5ecdc; }
#service .eyebrow, #service .service-steps > div > span { color:#c6a56b; }
#service .intro-copy > p, #service .service-steps p { color:#c5bfb6; }
#service .service-steps { border-color:rgba(245,236,220,.18); }
@media(max-width:1000px) { .site-header { padding:10px 24px; height:auto; min-height:78px; gap:16px; } .site-header nav { gap:15px; font-size:14px; } .logo-lockup { width:160px; height:48px; } .case-copy { padding:28px; } }
@media(max-width:760px) { .site-header { flex-wrap:wrap; gap:2px; } .site-header nav { width:100%; flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; gap:22px; padding-bottom:5px; } .site-header nav a { white-space:nowrap; flex-shrink:0; } .site-header nav .nav-cta { padding:8px 13px; } .use-cases,.faq { padding:52px 24px; } .case-slide { grid-template-columns:1fr; } .case-slide > img { height:290px; } .case-copy { padding:28px; min-height:280px; } .faq { grid-template-columns:1fr; gap:28px; } html { scroll-padding-top:145px; } section[id] { scroll-margin-top:145px; } }
@media(max-width:650px) {
 .product-image,
 .product-lotus .product-image {
  min-height:0;
  aspect-ratio:1.2;
  background:#e4d8c7;
 }
 .product-image img,
 .product-lotus .product-image img {
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
  transform:none;
 }
 .product-lotus .product-image img {
  object-position:center 20%;
 }
}
@media(prefers-reduced-motion:reduce) { .reveal-ready { opacity:1; transform:none; transition:none; } html { scroll-behavior:auto; } }
