/* =========================================================================
   OSLICK — Construction · Renovation · Restoration
   LIGHT "web 3.0" system: glass surfaces, aurora gradients, bronze + navy.
   ========================================================================= */

:root{
  /* light base */
  --bg:#EAECEE;          /* soft cool stone */
  --bg-2:#F3F4F5;
  --surface:#FFFFFF;
  --glass:rgba(255,255,255,.62);
  --glass-2:rgba(255,255,255,.78);
  --glass-brd:rgba(255,255,255,.85);

  /* ink (from logo navy-charcoal) */
  --ink:#1B222B;
  --ink-2:#2C3641;
  --body:#515E6A;
  --faint:#8693A0;
  --line:rgba(27,34,43,.12);
  --line-2:rgba(27,34,43,.07);

  /* bronze */
  --bronze:#C8A572;
  --bronze-2:#B68C50;
  --bronze-ink:#9A7740;     /* legible bronze for text on light */
  --bronze-deep:#8A6336;
  --bronze-lite:#E6C68F;
  --grad-bronze:linear-gradient(135deg,#8A6336 0%,#C8A572 46%,#E6C68F 100%);
  --grad-bronze-text:linear-gradient(120deg,#7A5A2E 0%,#B68A4A 48%,#C9A35F 100%);

  /* cool accent for aurora (slate, pairs with navy ink) */
  --slate:#5A7187;
  --slate-lite:#9FB2C4;

  --shadow-sm:0 2px 10px -4px rgba(27,34,43,.18);
  --shadow:0 24px 60px -28px rgba(27,34,43,.30);
  --shadow-bronze:0 18px 44px -18px rgba(176,140,80,.55);

  --maxw:1240px;
  --gut:clamp(20px,5vw,72px);
  --r:18px;
  --r-sm:12px;

  --f-disp:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  position:relative;
  background:var(--bg);
  color:var(--body);
  font-family:var(--f-body);
  font-size:17px;line-height:1.7;font-weight:400;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
/* ambient aurora blooms */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(46% 40% at 82% -4%,rgba(200,165,114,.30),transparent 60%),
    radial-gradient(44% 38% at 6% 8%,rgba(90,113,135,.20),transparent 62%),
    radial-gradient(50% 46% at 98% 70%,rgba(200,165,114,.16),transparent 60%),
    radial-gradient(60% 50% at 30% 108%,rgba(90,113,135,.16),transparent 60%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.5;
  background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 30%,transparent 78%,rgba(255,255,255,.6));
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:rgba(200,165,114,.32);color:var(--ink)}
code{background:rgba(27,34,43,.06);padding:.1em .4em;border-radius:6px;font-size:.92em}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(70px,10vw,140px);position:relative}
.section--tight{padding-block:clamp(54px,8vw,92px)}
.rule{height:1px;background:var(--line);border:0;margin:0;opacity:.7}

/* eyebrow */
.kicker{display:inline-flex;align-items:center;gap:.85em;font-family:var(--f-body);
  font-size:.72rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;
  color:var(--bronze-ink);margin:0 0 1.4rem}
.kicker::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--grad-bronze);display:inline-block}

/* headings */
h1,h2,h3,h4{font-family:var(--f-disp);font-weight:300;color:var(--ink);
  letter-spacing:-.014em;line-height:1.05;margin:0}
.h-xl{font-size:clamp(2.6rem,6.4vw,5.4rem)}
.h-lg{font-size:clamp(2.05rem,4.6vw,3.6rem)}
.h-md{font-size:clamp(1.55rem,2.6vw,2.3rem)}
.lede{font-size:clamp(1.04rem,1.5vw,1.22rem);color:var(--body);max-width:62ch;line-height:1.75}
.gold{background:var(--grad-bronze-text);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--bronze-ink)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.7em;font-family:var(--f-body);font-weight:700;
  font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;padding:1.05em 1.9em;
  border:1px solid transparent;border-radius:999px;cursor:pointer;
  transition:all .35s var(--ease);white-space:nowrap}
.btn .arw{transition:transform .35s var(--ease)}
.btn:hover .arw{transform:translateX(5px)}
.btn--gold{background:var(--grad-bronze);color:#241803;box-shadow:var(--shadow-bronze)}
.btn--gold:hover{filter:brightness(1.05);transform:translateY(-2px);
  box-shadow:0 24px 54px -16px rgba(176,140,80,.7)}
.btn--ghost{background:var(--glass);color:var(--ink);border-color:var(--line);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn--ghost:hover{border-color:var(--bronze);color:var(--ink);background:var(--glass-2);transform:translateY(-2px)}
.btn--block{width:100%;justify-content:center}

/* ---------- Navigation ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:60;transition:background .4s var(--ease),
  box-shadow .4s var(--ease),backdrop-filter .4s var(--ease);background:transparent}
.nav.is-stuck{background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 1px 0 var(--line),0 12px 30px -22px rgba(27,34,43,.4)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:78px;
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.brand{display:inline-flex;align-items:center;gap:.7em;color:var(--ink)}
.brand__mark{flex:0 0 auto}
.brand__word{font-family:var(--f-body);font-weight:600;font-size:1.15rem;letter-spacing:.42em;padding-left:.42em}
.nav__links{display:flex;align-items:center;gap:2.3rem;list-style:none;margin:0;padding:0}
.nav__links a{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--body);transition:color .3s}
.nav__links a:hover{color:var(--ink)}
.nav__cta{display:inline-flex;align-items:center}
.nav__toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav__toggle span{display:block;width:24px;height:2px;border-radius:2px;background:var(--ink);margin:5px 0;transition:.3s}

/* mobile menu */
.menu{position:fixed;inset:0;z-index:55;background:rgba(238,240,242,.86);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  display:flex;flex-direction:column;justify-content:center;gap:1.5rem;padding:var(--gut);
  transform:translateY(-100%);transition:transform .5s var(--ease);visibility:hidden}
.menu.is-open{transform:translateY(0);visibility:visible}
.menu a{font-family:var(--f-disp);font-weight:300;font-size:2rem;color:var(--ink)}
.menu a span{color:var(--bronze-ink);font-family:var(--f-body);font-size:.9rem;font-weight:700;margin-right:.7em}

/* ---------- Bracket signature ---------- */
.bracket{position:relative}
.bracket::before,.bracket::after{content:"";position:absolute;width:16px;height:16px;
  border-color:var(--bronze);opacity:.6;pointer-events:none}
.bracket::before{top:0;left:0;border-top:1.5px solid;border-left:1.5px solid}
.bracket::after{bottom:0;right:0;border-bottom:1.5px solid;border-right:1.5px solid}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  padding-top:120px;padding-bottom:64px;overflow:hidden}
.hero__grid{position:absolute;inset:0;z-index:0;opacity:.6;
  background:
    linear-gradient(rgba(27,34,43,.05) 1px,transparent 1px) 0 0/100% 92px,
    linear-gradient(90deg,rgba(27,34,43,.05) 1px,transparent 1px) 0 0/92px 100%;
  -webkit-mask-image:radial-gradient(120% 92% at 50% 30%,#000 30%,transparent 76%);
  mask-image:radial-gradient(120% 92% at 50% 30%,#000 30%,transparent 76%)}
.hero__glow{position:absolute;z-index:0;width:64vw;height:64vw;left:54%;top:-18%;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(200,165,114,.30),transparent 62%);filter:blur(10px)}
.hero__in{position:relative;z-index:2;max-width:980px}
.hero h1{margin:.4rem 0 0}
.hero h1 .l2{display:block}
.hero__sub{margin:1.9rem 0 0;max-width:60ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.6rem}
.hero__meta{display:flex;flex-wrap:wrap;gap:clamp(1.4rem,3vw,2.2rem);
  margin-top:clamp(3rem,6vw,4.4rem)}
.hero__meta div{flex:1 1 180px;min-width:150px;background:var(--glass);border:1px solid var(--glass-brd);
  border-radius:var(--r);padding:1.2rem 1.4rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:var(--shadow-sm)}
.hero__meta dt{font-family:var(--f-disp);font-weight:300;font-size:1.7rem;color:var(--ink)}
.hero__meta dd{margin:.3rem 0 0;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600}
.scrollcue{position:absolute;z-index:2;bottom:26px;left:50%;transform:translateX(-50%);
  font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);
  display:flex;align-items:center;gap:.8em}
.scrollcue::after{content:"";width:1px;height:34px;background:linear-gradient(var(--bronze),transparent)}

/* ---------- Section heading ---------- */
.shead{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-bottom:clamp(2.6rem,5vw,4rem)}
.shead--split{grid-template-columns:1.1fr .9fr;align-items:end;gap:2.4rem}
@media (max-width:760px){.shead--split{grid-template-columns:1fr}}

/* ---------- Glass card base ---------- */
.glass{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:var(--shadow-sm)}

/* ---------- Services ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:920px){.svc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}
.svc__item{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:var(--shadow-sm);padding:clamp(1.7rem,2.8vw,2.4rem);position:relative;overflow:hidden;
  min-height:250px;display:flex;flex-direction:column;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.svc__item::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(200,165,114,.6),transparent 40%);
  -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 .4s}
.svc__item:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.svc__item:hover::before{opacity:1}
.svc__no{font-family:var(--f-body);font-size:.72rem;letter-spacing:.2em;color:var(--bronze-ink);font-weight:800}
.svc__title{font-family:var(--f-disp);font-weight:300;font-size:1.5rem;color:var(--ink);margin:1.3rem 0 .85rem}
.svc__item p{color:var(--body);font-size:.96rem;line-height:1.65;margin:0}
.svc__line{height:2px;width:34px;border-radius:2px;background:var(--grad-bronze);margin-top:auto;transition:width .45s var(--ease)}
.svc__item:hover .svc__line{width:66px}

/* ---------- Projects ---------- */
.gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:230px;gap:18px}
@media (max-width:1024px){.gal{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px}}
@media (max-width:620px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:188px}}
.tile{grid-column:span 2;position:relative;overflow:hidden;border-radius:var(--r);
  border:1px solid var(--glass-brd);background:var(--surface);display:flex;flex-direction:column;
  justify-content:flex-end;padding:1.5rem;cursor:pointer;isolation:isolate;box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.tile:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tile--wide{grid-column:span 3}
.tile--tall{grid-row:span 2}
@media (max-width:1024px){.tile--wide{grid-column:span 2}}
@media (max-width:620px){.tile,.tile--wide{grid-column:span 1}.tile--tall{grid-row:span 1}}
.tile__bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;
  transition:transform .9s var(--ease)}
.tile__ph{position:absolute;inset:0;z-index:-1;transition:transform .9s var(--ease);
  background:
    radial-gradient(120% 90% at 20% 10%,rgba(200,165,114,.35),transparent 55%),
    radial-gradient(120% 90% at 90% 100%,rgba(90,113,135,.30),transparent 55%),
    linear-gradient(150deg,#f4f2ee,#dfe3e6)}
.tile:hover .tile__ph,.tile:hover .tile__bg{transform:scale(1.05)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(255,255,255,.95) 3%,rgba(255,255,255,.5) 30%,rgba(255,255,255,0) 64%)}
.tile__cat{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-ink);font-weight:800}
.tile__name{font-family:var(--f-disp);font-weight:300;font-size:1.35rem;color:var(--ink);margin:.5rem 0 0;line-height:1.12}
.tile__cnr{position:absolute;top:14px;right:14px;width:16px;height:16px;
  border-top:1.5px solid var(--bronze);border-right:1.5px solid var(--bronze);opacity:.6;
  transition:opacity .4s,width .4s,height .4s}
.tile:hover .tile__cnr{opacity:1;width:22px;height:22px}
.gal__note{margin-top:1.4rem;font-size:.8rem;color:var(--faint)}

/* ---------- About ---------- */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.4rem,6vw,5rem);align-items:center}
@media (max-width:880px){.about{grid-template-columns:1fr;gap:2.6rem}}
.about__copy p{color:var(--body);max-width:54ch}
.signoff{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.signoff strong{font-family:var(--f-disp);font-weight:300;font-size:1.3rem;color:var(--ink);display:block}
.signoff span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600}
.why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){.why{grid-template-columns:1fr}}
.why li{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r-sm);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);
  padding:1.4rem 1.35rem;display:flex;align-items:flex-start;gap:.85rem;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.why li:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.why__tick{flex:0 0 auto;width:18px;height:18px;margin-top:3px;position:relative}
.why__tick::before,.why__tick::after{content:"";position:absolute;background:var(--bronze-2);border-radius:2px}
.why__tick::before{left:0;bottom:5px;width:6px;height:2px;transform:rotate(45deg);transform-origin:left}
.why__tick::after{left:4px;bottom:5px;width:12px;height:2px;transform:rotate(-50deg);transform-origin:left}
.why li span{font-size:.96rem;color:var(--ink);line-height:1.45;font-weight:500}

/* ---------- Specialties ---------- */
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){.spec{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.spec{grid-template-columns:1fr}}
.spec a{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r-sm);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);
  padding:1.4rem 1.45rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.spec a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.spec a:hover .spec__arw{transform:translateX(4px);color:var(--bronze-ink)}
.spec b{font-weight:600;font-size:.95rem;color:var(--ink)}
.spec__arw{color:var(--faint);transition:transform .35s var(--ease),color .35s}

/* ---------- Contact / form ---------- */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.4rem,6vw,5rem)}
@media (max-width:880px){.contact{grid-template-columns:1fr;gap:2.6rem}}
.contact__aside p{color:var(--body);max-width:42ch}
.cdetail{margin-top:2rem;display:grid;gap:1.3rem}
.cdetail div{display:flex;gap:.9rem;align-items:flex-start}
.cdetail .lab{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-ink);
  width:78px;flex:0 0 auto;padding-top:4px;font-weight:800}
.cdetail .val{color:var(--ink)}

.form{background:var(--glass-2);border:1px solid var(--glass-brd);border-radius:var(--r);
  backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:var(--shadow);padding:clamp(1.6rem,3vw,2.6rem)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.2rem}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.5rem}
.field--full{grid-column:1/-1}
.field label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--body);font-weight:700}
.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);
  color:var(--ink);font-family:var(--f-body);font-size:.95rem;padding:.85em .95em;border-radius:var(--r-sm);
  transition:border-color .3s,box-shadow .3s;width:100%}
.field textarea{resize:vertical;min-height:120px;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze);
  box-shadow:0 0 0 4px rgba(200,165,114,.18)}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239A7740' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.upload{border:1.5px dashed var(--line);border-radius:var(--r-sm);padding:1.3rem;text-align:center;
  cursor:pointer;transition:border-color .3s,background .3s;color:var(--body);font-size:.9rem;background:var(--surface)}
.upload:hover{border-color:var(--bronze);background:rgba(200,165,114,.06)}
.upload input{display:none}
.upload b{color:var(--bronze-ink);font-weight:700}
.upload__list{margin-top:.6rem;font-size:.82rem;color:var(--ink)}
.fnote{font-size:.78rem;color:var(--faint);margin:.4rem 0 1.3rem}
.fdone{display:none;align-items:center;gap:.7rem;color:var(--bronze-ink);font-size:.92rem;margin-top:1rem;font-weight:600}
.fdone.show{display:flex}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--line);background:var(--bg-2)}
.foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.4rem;padding-block:clamp(3rem,6vw,4.6rem)}
@media (max-width:760px){.foot__top{grid-template-columns:1fr 1fr}.foot__brand{grid-column:1/-1}}
@media (max-width:480px){.foot__top{grid-template-columns:1fr}}
.foot__brand img{width:178px;margin-bottom:1.1rem;mix-blend-mode:multiply}
.foot__brand p{color:var(--faint);font-size:.92rem;max-width:34ch}
.foot h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-ink);
  font-family:var(--f-body);font-weight:800;margin-bottom:1.2rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.foot ul a{color:var(--body);font-size:.9rem;transition:color .3s}
.foot ul a:hover{color:var(--ink)}
.foot__bar{border-top:1px solid var(--line);padding-block:1.6rem;display:flex;flex-wrap:wrap;
  gap:1rem;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--faint)}

/* ---------- SEO landing pages ---------- */
.lp-hero{position:relative;padding-top:160px;padding-bottom:clamp(48px,7vw,90px);overflow:hidden}
.lp-hero .hero__grid{opacity:.5}
.crumb{display:flex;gap:.6em;align-items:center;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--faint);margin-bottom:1.6rem;font-weight:600}
.crumb a{color:var(--bronze-ink)}
.crumb span{color:var(--line)}
.prose{max-width:70ch}
.prose p{color:var(--body);margin:0 0 1.3rem}
.prose h2{margin:2.8rem 0 1.1rem}
.prose h3{font-size:1.3rem;margin:2rem 0 .7rem;color:var(--ink)}
.incl{list-style:none;padding:0;margin:1.4rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.6rem}
@media (max-width:560px){.incl{grid-template-columns:1fr}}
.incl li{display:flex;gap:.7rem;align-items:flex-start;color:var(--ink);font-size:.96rem;font-weight:500}
.incl li::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:.55em;border-radius:2px;
  background:var(--grad-bronze);transform:rotate(45deg)}
.faq{margin-top:1rem}
.faq details{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r-sm);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);
  padding:1.1rem 1.4rem;margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;font-family:var(--f-disp);font-weight:300;font-size:1.2rem;
  color:var(--ink);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--bronze-ink);font-family:var(--f-body);font-size:1.3rem;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:1rem 0 0;color:var(--body)}
.cta-band{position:relative;overflow:hidden;background:
  radial-gradient(60% 120% at 12% 10%,rgba(200,165,114,.22),transparent 60%),
  radial-gradient(60% 120% at 92% 90%,rgba(90,113,135,.20),transparent 60%),var(--bg-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-band__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.8rem}
.cta-band h2{max-width:18ch}

/* ---------- Reveal (no-JS safe) ---------- */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.js .reveal.in{opacity:1;transform:none}
html.js .reveal[data-d="1"]{transition-delay:.08s}
html.js .reveal[data-d="2"]{transition-delay:.16s}
html.js .reveal[data-d="3"]{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html.js .reveal{opacity:1;transform:none;transition:none}
  .btn .arw,.tile__ph,.tile__bg,.svc__line,.svc__item,.tile,.why li,.spec a{transition:none}
}

/* ---------- Mobile nav ---------- */
@media (max-width:880px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:block}
  .brand__word{font-size:1.05rem;letter-spacing:.34em}
}

/* focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,.upload:focus-visible{
  outline:2px solid var(--bronze-ink);outline-offset:3px}

/* glass fallback when backdrop-filter unsupported */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav.is-stuck{background:rgba(255,255,255,.96)}
  .svc__item,.why li,.spec a,.hero__meta div,.faq details{background:rgba(255,255,255,.92)}
  .form{background:rgba(255,255,255,.96)}
  .menu{background:rgba(238,240,242,.98)}
}
