/* ==========================================================================
   curiouslanebrowsng.lifestyle — "Aegean Sun Architecture"
   Aesthetic: Editorial / Magazine Grid
   Card system: Framed Canvas Card (offset frame + hover-lift foreground)
   v2 — rebuilt hero (no overlapping layers) + full-device responsiveness
   ========================================================================== */

:root{
  --limestone:#EEE6D6;
  --terracotta:#B85D42;
  --olive:#68704D;
  --gold:#D1A04A;
  --charcoal:#292622;
  --warm:#FBF8F0;

  --ink-60:rgba(41,38,34,.62);
  --ink-30:rgba(41,38,34,.28);
  --ink-12:rgba(41,38,34,.12);

  --ff-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --ff-body:"Jost","Helvetica Neue",Arial,sans-serif;

  --shadow-stone:24px 24px 0 rgba(184,93,66,.14);
  --shadow-soft:0 26px 60px -34px rgba(41,38,34,.55);

  --wrap:1280px;
  --gutter:clamp(1rem,4vw,2rem);
  --header-h:64px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--warm);
  color:var(--charcoal);
  font-family:var(--ff-body);
  font-weight:300;
  font-size:clamp(15.5px,.28vw + 14.8px,17px);
  line-height:1.72;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--terracotta);text-decoration:none;}
a:hover{color:var(--charcoal);}
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:400;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;overflow-wrap:break-word;}
h1{font-size:clamp(2.4rem,6.4vw,5.2rem);}
h2{font-size:clamp(1.9rem,4.2vw,3.4rem);}
h3{font-size:clamp(1.35rem,2.3vw,2rem);}
h4{font-size:1.15rem;}
p{margin:0 0 1.15em;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}
.wrap-narrow{width:100%;max-width:900px;margin-inline:auto;padding-inline:var(--gutter);}

/* ---------- Type helpers ---------- */
.eyebrow{
  font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;
  font-weight:500;color:var(--terracotta);margin:0 0 1.1rem;
}
.eyebrow-olive{color:var(--olive);}
.lede{font-size:clamp(1.05rem,1.4vw,1.32rem);line-height:1.62;color:var(--ink-60);}
.drop-first::first-letter{
  float:left;font-family:var(--ff-display);font-size:4.2rem;line-height:.78;
  padding:.06em .12em 0 0;color:var(--terracotta);
}
.num-tag{
  font-family:var(--ff-display);font-size:3.1rem;line-height:1;color:var(--gold);
  display:block;margin-bottom:.2rem;
}
.rule{height:1px;background:var(--ink-12);border:0;margin:0;}

/* ---------- Greek meander divider ---------- */
.meander-strip{
  height:18px;width:100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='18' viewBox='0 0 40 18'%3E%3Cpath d='M2 16V2h12v10H6V6h6' fill='none' stroke='%23B85D42' stroke-width='1.6'/%3E%3Cpath d='M22 16V2h12v10h-8V6h6' fill='none' stroke='%23B85D42' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:repeat-x;opacity:.55;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--ff-body);font-size:.78rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;text-align:center;
  padding:.9rem 1.6rem;border-radius:999px;min-height:44px;
  background:var(--charcoal);color:var(--warm);
  border:1px solid var(--charcoal);cursor:pointer;
  transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s,color .3s,box-shadow .35s;
}
.btn:hover{background:var(--terracotta);border-color:var(--terracotta);color:var(--warm);transform:translateY(-3px);box-shadow:0 14px 28px -16px rgba(184,93,66,.9);}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.btn-outline{background:transparent;color:var(--charcoal);border-color:var(--ink-30);}
.btn-outline:hover{background:var(--charcoal);color:var(--warm);border-color:var(--charcoal);}
.btn-ghost{background:rgba(251,248,240,.08);color:var(--warm);border-color:rgba(251,248,240,.55);}
.btn-ghost:hover{background:var(--warm);color:var(--charcoal);border-color:var(--warm);}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--charcoal);}
.btn-gold:hover{background:var(--terracotta);border-color:var(--terracotta);color:var(--warm);}
.btn-sm{padding:.55rem 1.1rem;font-size:.66rem;letter-spacing:.14em;min-height:38px;}
.btn-lg{padding:1.05rem 2rem;font-size:.78rem;}
.btn .arrow{transition:transform .35s;}
.btn:hover .arrow{transform:translateX(5px);}

/* ---------- Header (slim, NON-sticky) ---------- */
.site-header{
  position:relative;z-index:60;background:var(--warm);
  border-bottom:1px solid var(--ink-12);
}
.header-inner{
  min-height:var(--header-h);display:flex;align-items:center;gap:1.2rem;justify-content:space-between;
}
.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--charcoal);min-width:0;}
.brand-mark{width:26px;height:26px;flex:none;}
.brand-name{
  font-family:var(--ff-body);font-weight:500;font-size:clamp(.76rem,1.8vw,.9rem);letter-spacing:.02em;
  white-space:nowrap;
}
.brand-tld{color:var(--terracotta);font-weight:300;}
.main-nav{display:flex;align-items:center;gap:clamp(.9rem,1.8vw,1.6rem);}
.main-nav a{
  color:var(--charcoal);font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;
  padding:.35rem 0;border-bottom:1px solid transparent;transition:border-color .3s,color .3s;white-space:nowrap;
}
.main-nav a:hover,.main-nav a[aria-current="page"]{border-color:var(--terracotta);color:var(--terracotta);}
.header-cta{flex:none;}
.nav-toggle{
  display:none;width:46px;height:40px;border:1px solid var(--ink-30);background:transparent;
  border-radius:999px;padding:0 11px;flex-direction:column;justify-content:center;gap:4px;cursor:pointer;
}
.nav-toggle span{display:block;height:1.5px;background:var(--charcoal);transition:.3s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

.nav-overlay{
  position:fixed;inset:0;z-index:90;background:var(--limestone);
  display:flex;flex-direction:column;justify-content:center;gap:.2rem;
  padding:5rem var(--gutter) 3rem;transform:translateY(-100%);transition:transform .5s cubic-bezier(.16,1,.3,1);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.nav-overlay.is-open{transform:translateY(0);}
.nav-overlay a{
  font-family:var(--ff-display);font-size:clamp(1.7rem,7vw,2.6rem);color:var(--charcoal);
  border-bottom:1px solid var(--ink-12);padding:.45rem 0;
}
.nav-overlay a:hover{color:var(--terracotta);}
.nav-overlay .overlay-close{
  position:absolute;top:.8rem;right:1rem;background:none;border:0;font-size:2.2rem;cursor:pointer;color:var(--charcoal);line-height:1;
  width:48px;height:48px;
}
.nav-overlay .overlay-meta{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);margin-top:1.6rem;}

/* ==========================================================================
   HERO — grid based, fully self-contained, nothing overlaps
   ========================================================================== */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--charcoal);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(2.6rem,6vw,4rem);
}
@media (min-width:901px){
  .hero{min-height:calc(100vh - var(--header-h));}
}
@supports (height:100svh){
  @media (min-width:901px){ .hero{min-height:calc(100svh - var(--header-h));} }
}

.hero-bg{position:absolute;inset:0;z-index:0;clip-path:inset(46% 0 46% 0);animation:cinemaOpen 1.5s cubic-bezier(.16,1,.3,1) 1.9s forwards;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(105deg,rgba(29,26,23,.86) 0%,rgba(29,26,23,.66) 46%,rgba(29,26,23,.34) 74%,rgba(29,26,23,.62) 100%),
    linear-gradient(180deg,rgba(29,26,23,.5),rgba(29,26,23,.18) 40%,rgba(29,26,23,.74));
}
@keyframes cinemaOpen{to{clip-path:inset(0 0 0 0);}}

.hero-grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  grid-template-areas:
    "copy visual"
    "card visual";
  align-content:center;
  gap:clamp(1.6rem,3.4vw,2.8rem) clamp(1.8rem,4vw,3.6rem);
}
.hero-copy{grid-area:copy;align-self:end;min-width:0;opacity:0;animation:fadeUp 1.1s cubic-bezier(.16,1,.3,1) 2.5s forwards;}
.hero-copy .eyebrow{color:var(--gold);}
.hero-copy h1{
  color:var(--warm);margin-bottom:.4em;
  font-size:clamp(2.3rem,5vw,4.3rem);
  text-shadow:0 18px 44px rgba(20,18,16,.6);
}
.hero-lede{color:rgba(251,248,240,.88);max-width:46ch;font-size:clamp(1rem,1.25vw,1.18rem);}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 0;}

.hero-visual{
  grid-area:visual;min-width:0;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(.5rem,2.4vw,2rem);
}
.hero-sunwrap{
  position:relative;width:min(100%,430px);aspect-ratio:1;
  display:grid;place-items:center;will-change:transform;
}
.sun{
  width:100%;height:100%;border-radius:50%;overflow:hidden;position:relative;
  background:radial-gradient(circle at 50% 35%,#F0CE8C,var(--gold) 58%,var(--terracotta));
  box-shadow:0 40px 90px -40px rgba(184,93,66,.8);
  transform:translateY(34%) scale(.6);opacity:0;
  animation:sunRise 2s cubic-bezier(.16,1,.3,1) .2s forwards;
}
@keyframes sunRise{to{transform:translateY(0) scale(1);opacity:1;}}
.sun img{
  width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.14);
  animation:sunImage 1.8s cubic-bezier(.16,1,.3,1) 1.1s forwards;
}
@keyframes sunImage{to{opacity:1;transform:scale(1);}}

.sun-orbit{
  position:absolute;inset:-11%;z-index:3;pointer-events:none;
  opacity:0;animation:orbitIn 1.2s ease 1.7s forwards;will-change:transform;
}
@keyframes orbitIn{to{opacity:1;}}
.orbit-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(209,160,74,.6);}
.orbit-ring.two{inset:6%;border:1px solid rgba(209,160,74,.42);}
.orbit-ring.three{inset:-6%;border:1px solid rgba(238,230,214,.25);}
.orbit-num{
  position:absolute;top:50%;left:50%;
  font-family:var(--ff-display);font-size:clamp(.85rem,1.6vw,1.15rem);letter-spacing:.06em;color:var(--warm);
  background:var(--charcoal);width:clamp(32px,7vw,42px);height:clamp(32px,7vw,42px);border-radius:50%;
  display:grid;place-items:center;margin:calc(clamp(32px,7vw,42px) / -2) 0 0 calc(clamp(32px,7vw,42px) / -2);
  transform:rotate(calc(var(--i) * 72deg)) translateY(-50%) rotate(calc(var(--i) * -72deg));
}
.orbit-num:nth-child(odd){background:var(--terracotta);}

/* stone information card — now a grid item, never overlaps */
.stone-card{
  grid-area:card;align-self:start;
  position:relative;z-index:3;
  width:min(100%,440px);background:var(--warm);
  border:1px solid rgba(41,38,34,.16);
  border-radius:4px 4px 4px clamp(60px,9vw,96px);
  padding:clamp(1.2rem,2.4vw,1.7rem) clamp(1.2rem,2.4vw,1.6rem) clamp(1.3rem,2.6vw,1.7rem);
  box-shadow:16px 16px 0 rgba(184,93,66,.22),0 40px 70px -45px rgba(20,18,16,.9);
  opacity:0;animation:fadeUp 1.1s cubic-bezier(.16,1,.3,1) 2.9s forwards;
}
.stone-card h4{font-size:clamp(1.2rem,2.2vw,1.45rem);margin-bottom:.25rem;}
.stone-card .stone-meta{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin:0 0 .7rem;}
.stone-card p{font-size:.92rem;color:var(--ink-60);margin-bottom:1rem;}
.stone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;border-top:1px solid var(--ink-12);padding-top:.9rem;}
.stone-grid span{display:block;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);}
.stone-grid strong{font-family:var(--ff-display);font-size:1.2rem;font-weight:500;}

.hero-scroll{
  position:relative;z-index:3;
  margin:clamp(1.6rem,4vw,2.6rem) auto 0;text-align:center;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(251,248,240,.75);
  opacity:0;animation:fadeUp 1s ease 3.3s forwards;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}

/* Hero stacking for tablets / phones */
@media (max-width:1024px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "copy"
      "visual"
      "card";
    justify-items:start;
  }
  .hero-copy{align-self:auto;}
  .hero-visual{width:100%;justify-content:center;padding:.5rem 0;}
  .hero-sunwrap{width:min(78vw,340px);}
  .stone-card{width:min(100%,560px);}
}
@media (max-width:620px){
  .hero{padding-top:2rem;}
  .hero-sunwrap{width:min(72vw,270px);}
  .hero-actions .btn{width:100%;}
  .hero-scroll{display:none;}
}

/* ---------- Page hero (interior pages) ---------- */
.page-hero{
  position:relative;padding:clamp(2.6rem,7vw,5.6rem) 0 clamp(2.2rem,5vw,3.8rem);
  background:var(--limestone);overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;right:-14%;top:-40%;width:60vw;height:60vw;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(209,160,74,.42),rgba(209,160,74,0) 68%);
  pointer-events:none;
}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero h1{max-width:20ch;}
.page-hero .lede{max-width:62ch;}
.crumbs{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);margin-bottom:1.3rem;}
.crumbs a{color:var(--ink-60);}
.crumbs a:hover{color:var(--terracotta);}

.hero-media-arch{
  margin-top:clamp(1.6rem,4vw,2.6rem);
  border-radius:clamp(120px,30vw,340px) clamp(120px,30vw,340px) 10px 10px;overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.hero-media-arch img{width:100%;height:clamp(230px,44vw,540px);object-fit:cover;}

/* ---------- Sections ---------- */
section{position:relative;}
.section{padding:clamp(2.8rem,7vw,6.5rem) 0;}
.section-limestone{background:var(--limestone);}
.section-charcoal{background:var(--charcoal);color:var(--limestone);}
.section-charcoal h2,.section-charcoal h3{color:var(--warm);}
.section-charcoal .lede{color:rgba(238,230,214,.72);}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.4rem clamp(2rem,4vw,4rem);align-items:end;margin-bottom:clamp(2rem,4vw,3rem);}
.section-head p{margin-bottom:0;}

/* stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:1px;background:var(--ink-12);border-block:1px solid var(--ink-12);}
.stat-strip div{background:var(--warm);padding:clamp(1.2rem,3vw,1.8rem) clamp(1rem,2vw,1.4rem);}
.section-limestone .stat-strip div{background:var(--limestone);}
.stat-strip strong{display:block;font-family:var(--ff-display);font-size:clamp(1.9rem,3.6vw,3rem);line-height:1;color:var(--terracotta);}
.stat-strip span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);}

/* ---------- FRAMED CANVAS CARD ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.9rem,3.6vw,3.2rem);}
.card-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));}
.frame-card{position:relative;display:block;}
.frame-card::before{
  content:"";position:absolute;inset:0;border:1.4px solid var(--terracotta);
  border-radius:6px 6px 6px 110px;transform:translate(13px,13px);
  transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .4s;
  pointer-events:none;
}
.frame-card__inner{
  position:relative;z-index:2;background:var(--warm);
  border:1px solid var(--ink-12);border-radius:4px 4px 4px clamp(70px,12vw,118px);overflow:hidden;
  display:flex;flex-direction:column;height:100%;
  box-shadow:0 18px 40px -32px rgba(41,38,34,.8);
  transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s;
}
.frame-card:hover .frame-card__inner{transform:translate(-8px,-10px);box-shadow:0 40px 70px -38px rgba(41,38,34,.85);}
.frame-card:hover::before{transform:translate(20px,20px);border-color:var(--olive);}
.card-media{position:relative;overflow:hidden;}
.card-media img{width:100%;height:clamp(195px,26vw,270px);object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1);}
.frame-card:hover .card-media img{transform:scale(1.06);}
.card-index{
  position:absolute;top:0;left:0;background:var(--warm);color:var(--charcoal);
  font-family:var(--ff-display);font-size:1.3rem;padding:.4rem 1.05rem .5rem;border-radius:0 0 40px 0;
}
.card-body{padding:clamp(1.3rem,2.6vw,1.7rem) clamp(1.2rem,2.4vw,1.7rem) clamp(1.6rem,3vw,2rem);display:flex;flex-direction:column;gap:.8rem;flex:1;}
.card-kicker{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin:0;}
.card-body h3{margin:0;}
.card-body p{margin:0;color:var(--ink-60);font-size:.95rem;}
.pill-row{display:flex;flex-wrap:wrap;gap:.45rem;}
.pill{
  font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--ink-30);border-radius:999px;padding:.3rem .7rem;color:var(--charcoal);
}
.pill-gold{border-color:var(--gold);background:rgba(209,160,74,.16);}
.card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);padding:.8rem 0;}
.card-stats span{display:block;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);}
.card-stats strong{font-family:var(--ff-display);font-size:1.1rem;font-weight:500;}
.card-cta{margin-top:auto;padding-top:.4rem;}

/* split feature */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split-media{position:relative;}
.split-media img{width:100%;height:clamp(280px,46vw,520px);object-fit:cover;border-radius:clamp(120px,28vw,300px) clamp(120px,28vw,300px) 8px 8px;}
.split-media .sun-badge{
  position:absolute;right:0;bottom:-14px;width:clamp(96px,18vw,130px);height:clamp(96px,18vw,130px);border-radius:50%;
  background:var(--gold);color:var(--charcoal);display:grid;place-items:center;text-align:center;
  font-family:var(--ff-display);font-size:clamp(.85rem,1.6vw,1.05rem);line-height:1.15;padding:.8rem;
  box-shadow:12px 12px 0 rgba(184,93,66,.2);
}

/* ---------- Article/Long-form ---------- */
.prose{max-width:74ch;min-width:0;}
.prose h2{margin-top:2.2em;}
.prose h3{margin-top:1.7em;}
.prose ul,.prose ol{padding-left:1.15rem;margin:0 0 1.3em;}
.prose li{margin-bottom:.5em;}
.prose blockquote{
  margin:2rem 0;padding:1.3rem clamp(1rem,3vw,1.8rem);border-left:3px solid var(--terracotta);
  background:var(--limestone);font-family:var(--ff-display);font-size:clamp(1.15rem,2.4vw,1.4rem);line-height:1.45;
}
.prose blockquote p{margin:0;}
.prose code{font-size:.9em;background:rgba(41,38,34,.07);padding:.1em .35em;border-radius:3px;overflow-wrap:anywhere;}
.figure{margin:2.4rem 0;}
.figure img{width:100%;height:clamp(210px,40vw,450px);object-fit:cover;border-radius:6px 6px 6px clamp(50px,10vw,90px);}
.figure figcaption{font-size:.78rem;letter-spacing:.04em;color:var(--ink-60);margin-top:.7rem;}

.fact-panel{
  background:var(--limestone);border:1px solid var(--ink-12);border-radius:6px 6px 6px clamp(60px,10vw,100px);
  padding:clamp(1.3rem,3vw,1.9rem);box-shadow:var(--shadow-stone);min-width:0;
}
.fact-panel h4{margin-bottom:1rem;}
.fact-list{list-style:none;margin:0;padding:0;}
.fact-list li{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.6rem 0;border-bottom:1px solid var(--ink-12);font-size:.88rem;}
.fact-list li:last-child{border-bottom:0;}
.fact-list span{color:var(--ink-60);letter-spacing:.04em;overflow-wrap:anywhere;}
.fact-list strong{font-weight:500;text-align:right;margin-left:auto;overflow-wrap:anywhere;}

.layout-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:clamp(2rem,4vw,4rem);align-items:start;}
.sticky-aside{position:sticky;top:1.6rem;display:grid;gap:1.5rem;min-width:0;}

.proscons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.4rem;margin:2rem 0;}
.proscons > div{border:1px solid var(--ink-12);border-radius:6px;padding:1.3rem 1.4rem;background:var(--warm);}
.proscons h4{margin-bottom:.7rem;}
.proscons ul{margin:0;padding-left:1.1rem;}
.pros{border-top:4px solid var(--olive);}
.cons{border-top:4px solid var(--terracotta);}

table.data{width:100%;min-width:520px;border-collapse:collapse;margin:1.5rem 0 2rem;font-size:.9rem;}
table.data th,table.data td{border:1px solid var(--ink-12);padding:.75rem .85rem;text-align:left;vertical-align:top;}
table.data thead th{background:var(--limestone);font-family:var(--ff-body);font-weight:500;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;}
table.data tbody tr:nth-child(even){background:rgba(238,230,214,.42);}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.link-list{list-style:none;padding:0;margin:0;}
.link-list li{border-bottom:1px solid var(--ink-12);padding:.75rem 0;}
.link-list a{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;flex-wrap:wrap;overflow-wrap:anywhere;}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.2rem;}
.field{display:flex;flex-direction:column;gap:.45rem;min-width:0;}
.field.full{grid-column:1/-1;}
.field label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);}
.field input,.field select,.field textarea{
  width:100%;max-width:100%;
  font-family:var(--ff-body);font-size:16px;color:var(--charcoal);
  background:var(--warm);border:1px solid var(--ink-30);border-radius:3px;
  padding:.85rem .9rem;transition:border-color .3s,box-shadow .3s;
}
.field textarea{min-height:160px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--terracotta);box-shadow:0 0 0 4px rgba(184,93,66,.14);
}
.check-row{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:var(--ink-60);}
.check-row input{margin-top:.25rem;width:20px;height:20px;flex:none;accent-color:var(--terracotta);}
.form-note{font-size:.8rem;color:var(--ink-60);}
.form-status{
  display:none;margin-top:1.2rem;padding:1rem 1.1rem;border-radius:4px;
  background:rgba(104,112,77,.14);border:1px solid var(--olive);font-size:.9rem;
}
.form-status.is-visible{display:block;}
.form-status.is-error{background:rgba(184,93,66,.12);border-color:var(--terracotta);}

.map-frame{border:1px solid var(--ink-12);border-radius:6px 6px 6px clamp(50px,10vw,90px);overflow:hidden;box-shadow:var(--shadow-stone);}
.map-frame iframe{width:100%;height:clamp(250px,46vw,380px);border:0;display:block;filter:sepia(.18) saturate(.9);}

/* ---------- Footer ---------- */
.site-footer{background:var(--charcoal);color:rgba(238,230,214,.78);padding:clamp(2.6rem,6vw,5rem) 0 2rem;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(1.8rem,3vw,2.4rem);}
.footer-grid > *{min-width:0;}
.site-footer h5{
  font-family:var(--ff-body);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1rem;font-weight:500;
}
.site-footer a{color:rgba(238,230,214,.78);overflow-wrap:anywhere;}
.site-footer a:hover{color:var(--gold);}
.site-footer .brand{color:var(--warm);margin-bottom:1rem;}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;font-size:.88rem;}
.footer-meta{font-size:.85rem;line-height:1.7;color:rgba(238,230,214,.6);overflow-wrap:anywhere;}
.footer-bottom{
  margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(238,230,214,.18);
  display:grid;gap:.5rem;font-size:.76rem;color:rgba(238,230,214,.55);
}

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed;left:50%;bottom:1rem;transform:translateX(-50%) translateY(160%);
  width:min(100% - 1.4rem,1080px);z-index:120;
  max-height:min(82vh,660px);overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--warm);border:1px solid var(--charcoal);
  border-radius:6px 6px 6px 70px;padding:clamp(1rem,2.4vw,1.35rem) clamp(1.1rem,2.6vw,1.5rem);
  box-shadow:14px 14px 0 rgba(184,93,66,.2),0 30px 60px -30px rgba(41,38,34,.7);
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.cookie-banner.is-visible{transform:translateX(-50%) translateY(0);}
.cookie-inner{display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:1rem 1.8rem;align-items:center;}
.cookie-inner p{margin:0;font-size:.86rem;color:var(--ink-60);}
.cookie-inner h4{margin:0 0 .3rem;font-size:1.2rem;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.55rem;}
.cookie-prefs{display:none;grid-column:1/-1;border-top:1px solid var(--ink-12);padding-top:1rem;margin-top:.3rem;}
.cookie-prefs.is-open{display:block;}
.cookie-prefs .pref{display:flex;gap:.8rem;align-items:flex-start;padding:.55rem 0;font-size:.84rem;color:var(--ink-60);}
.cookie-prefs input{margin-top:.25rem;width:18px;height:18px;flex:none;accent-color:var(--terracotta);}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.reveal.is-in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .header-cta{display:none;}
}
@media (max-width:1080px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .layout-aside{grid-template-columns:minmax(0,1fr);}
  .sticky-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
}
@media (max-width:900px){
  :root{--header-h:58px;}
  .main-nav{display:none;}
  .nav-toggle{display:flex;}
  .section-head{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:620px){
  .frame-card::before{transform:translate(9px,9px);}
  .frame-card:hover::before{transform:translate(12px,12px);}
  .footer-grid{grid-template-columns:minmax(0,1fr);}
  .cookie-banner{border-radius:6px;bottom:.6rem;}
  .cookie-inner{grid-template-columns:minmax(0,1fr);}
  .cookie-actions .btn{flex:1 1 auto;}
  .split-media .sun-badge{right:-4px;bottom:-12px;}
  .stone-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .prose blockquote{margin-inline:0;}
}
@media (max-width:380px){
  :root{--gutter:.9rem;}
  .brand-name{font-size:.72rem;}
  .card-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (hover:none){
  .frame-card:hover .frame-card__inner{transform:none;}
  .frame-card:hover::before{transform:translate(13px,13px);}
  .btn:hover{transform:none;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-delay:0ms !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto;}
  .hero-bg{clip-path:inset(0);}
  .sun{opacity:1;transform:none;}
  .sun img{opacity:1;transform:none;}
  .hero-copy,.stone-card,.sun-orbit,.hero-scroll{opacity:1;}
  .reveal{opacity:1;transform:none;}
}