/* =====================================================================
   AURELIA AQUATICS — Luxury Exotic Fish & Custom Aquariums
   Art direction: deep ocean, pearl glow, restrained gold, editorial serif
   ===================================================================== */

:root,
[data-theme='light'] {
  /* Surfaces — deep ocean light mode is actually airy pearl */
  --color-bg: #f4f7f8;
  --color-surface: #ffffff;
  --color-surface-2: #f8fbfc;
  --color-surface-offset: #eaf0f2;
  --color-surface-offset-2: #e1e8ec;
  --color-divider: #dde6ea;
  --color-border: #cfd9de;

  /* Text */
  --color-text: #0c1a22;
  --color-text-muted: #4d6470;
  --color-text-faint: #8fa3ad;
  --color-text-inverse: #f4f7f8;

  /* Deep Ocean (primary) */
  --color-ocean: #0a1f2a;
  --color-ocean-2: #0f3340;
  --color-teal: #1c7a86;
  --color-teal-hover: #125e68;

  /* Pearl / Aqua glow */
  --color-glow: #7fd6e0;

  /* Gold accent (restrained) */
  --color-gold: #b8902a;
  --color-gold-hover: #9c7620;
  --color-gold-soft: #e8d9a8;

  /* Ocean dark surface for hero overlap sections */
  --color-ocean-surface: #0c2230;
  --color-ocean-surface-2: #0e2938;

  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --radius-xl: 2rem;
  --radius-full: 9999px;

  --transition-interactive: 220ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-luxe: 600ms cubic-bezier(0.16, 1, 0.3, 1);

  --shadow-sm: 0 1px 3px rgba(10,31,42,0.08);
  --shadow-md: 0 8px 28px rgba(10,31,42,0.10);
  --shadow-lg: 0 24px 60px rgba(10,31,42,0.16);
  --shadow-gold: 0 10px 30px rgba(184,144,42,0.25);

  --content-narrow: 760px;
  --content-default: 1160px;
  --content-wide: 1320px;

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Switzer', 'Helvetica Neue', sans-serif;
}

[data-theme='dark'] {
  --color-bg: #07141c;
  --color-surface: #0a1a24;
  --color-surface-2: #0d2030;
  --color-surface-offset: #0e2232;
  --color-surface-offset-2: #102838;
  --color-divider: #163040;
  --color-border: #1e3a4a;

  --color-text: #e6eef1;
  --color-text-muted: #9ab0ba;
  --color-text-faint: #5e7884;
  --color-text-inverse: #07141c;

  --color-ocean: #07141c;
  --color-ocean-2: #0a1f2a;
  --color-teal: #5fb4c0;
  --color-teal-hover: #7dc6d0;
  --color-glow: #7fd6e0;

  --color-gold: #e0b54e;
  --color-gold-hover: #ecc779;
  --color-gold-soft: #4a3d22;

  --color-ocean-surface: #07141c;
  --color-ocean-surface-2: #0a1a24;

  --shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-md: 0 8px 28px rgba(0,0,0,0.45);
  --shadow-lg: 0 24px 60px rgba(0,0,0,0.55);
  --shadow-gold: 0 10px 30px rgba(224,181,78,0.20);
}

/* Type scale */
:root {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.8125rem);
  --text-sm: clamp(0.875rem, 0.83rem + 0.3vw, 0.9375rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.2rem, 1rem + 0.8vw, 1.5rem);
  --text-xl: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
  --text-2xl: clamp(2.2rem, 1.4rem + 3.6vw, 4rem);
  --text-3xl: clamp(2.8rem, 1.2rem + 6.5vw, 6rem);
}

/* ===================== LAYOUT PRIMITIVES ===================== */
.container{width:100%;max-width:var(--content-default);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
.container--narrow{max-width:var(--content-narrow)}

.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0.28em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-4);display:inline-block}
.eyebrow--gold{color:var(--color-gold)}
.section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}
.section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;letter-spacing:-0.01em;line-height:1.08;max-width:18ch}
.section__head{max-width:60ch;margin-bottom:clamp(var(--space-12),5vw,var(--space-20))}
.section__head--center{text-align:center;margin-inline:auto}
.section__head--center .section-title{margin-inline:auto}
.section__sub{margin-top:var(--space-5);color:var(--color-text-muted);font-size:var(--text-lg);max-width:56ch}
.section__head--center .section__sub{margin-inline:auto}

.link-arrow{color:var(--color-gold);font-weight:600;font-size:var(--text-sm);letter-spacing:0.02em;border-bottom:1px solid transparent;transition:var(--transition-interactive)}
.link-arrow:hover{border-color:var(--color-gold)}

/* ===================== BUTTONS ===================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:0.06em;padding:0.95em 1.8em;border-radius:var(--radius-full);border:1.5px solid transparent;cursor:pointer;transition:var(--transition-interactive);text-decoration:none;white-space:nowrap}
.btn--sm{padding:0.7em 1.3em;font-size:var(--text-xs)}
.btn--lg{padding:1.1em 2.4em;font-size:var(--text-base)}
.btn--block{width:100%}
.btn--gold{background:linear-gradient(180deg,var(--color-gold),var(--color-gold-hover));color:#1a1305;box-shadow:var(--shadow-gold);border-color:var(--color-gold)}
.btn--gold:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}
.btn--ghost:hover{border-color:var(--color-gold);color:var(--color-gold)}
.btn--ghost-light{background:rgba(255,255,255,0.06);color:#fff;border-color:rgba(255,255,255,0.3);backdrop-filter:blur(6px)}
.btn--ghost-light:hover{background:rgba(255,255,255,0.14);border-color:#fff}

/* ===================== HEADER ===================== */
.header{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid transparent;transition:box-shadow var(--transition-interactive),border-color var(--transition-interactive)}
.header--scrolled{box-shadow:var(--shadow-sm);border-color:var(--color-border)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:74px}
.brand{display:inline-flex;align-items:center;gap:0.55rem;text-decoration:none;color:var(--color-text)}
.brand__mark{width:30px;height:30px;color:var(--color-gold);flex-shrink:0}
.brand__name{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:0.01em}
.brand__dot{color:var(--color-gold)}
.brand__sub{display:block;font-family:var(--font-body);font-size:0.62rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--color-text-faint);margin-top:0.1em}
.brand--light .brand__sub{color:rgba(255,255,255,0.5)}

.brand--light{color:var(--color-text-inverse)}
.nav__list{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2rem)}
.nav__list a{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;letter-spacing:0.02em;position:relative;padding-block:0.3em}
.nav__list a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--color-gold);transition:width var(--transition-interactive)}
.nav__list a:hover{color:var(--color-text)}
.nav__list a:hover::after{width:100%}
.header__actions{display:flex;align-items:center;gap:var(--space-4)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-full);color:var(--color-text-muted);transition:var(--transition-interactive)}
.icon-btn:hover{color:var(--color-gold);background:var(--color-surface-offset)}
.menu-toggle{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menu-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:var(--transition-interactive)}
.mobile-nav{display:none}

/* ===================== HERO ===================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding-block-end:clamp(var(--space-16),8vw,var(--space-24))}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,28,0.55) 0%,rgba(7,20,28,0.35) 40%,rgba(7,20,28,0.92) 100%)}
[data-theme='light'] .hero__veil{background:linear-gradient(180deg,rgba(7,20,28,0.45) 0%,rgba(7,20,28,0.25) 40%,rgba(7,20,28,0.85) 100%)}
.hero__content{position:relative;z-index:2;color:#fff}
.hero__content .eyebrow{color:var(--color-gold)}
.hero__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:500;line-height:1.02;letter-spacing:-0.02em;max-width:16ch;margin-bottom:var(--space-6);color:#fff}
.hero__title em{font-style:italic;color:var(--color-gold)}
.hero__lede{font-size:var(--text-lg);color:rgba(255,255,255,0.82);max-width:52ch;margin-bottom:var(--space-8)}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-16)}
.hero__stats{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,5vw,4rem);padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,0.18)}
.hero__stats>div{display:flex;align-items:baseline;gap:0.15em}
.stat__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:#fff}
.stat__plus{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold);margin-right:0.5em}
.stat__label{font-size:var(--text-xs);color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.14em}
.hero__scroll{position:absolute;right:var(--space-8);bottom:var(--space-6);z-index:2;writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--text-xs);letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.5)}

/* ===================== MARQUEE ===================== */
.marquee{background:var(--color-ocean);color:var(--color-gold);overflow:hidden;padding-block:1.1em;border-block:1px solid rgba(255,255,255,0.06)}
.marquee__track{display:inline-flex;align-items:center;gap:2.2rem;white-space:nowrap;animation:scroll-x 38s linear infinite;font-family:var(--font-display);font-size:var(--text-lg);font-style:italic}
.marquee__track .dot{font-size:0.6em;color:var(--color-teal);font-style:normal;opacity:0.7}
@keyframes scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===================== ETHOS ===================== */
.ethos{padding-block:clamp(var(--space-16),8vw,var(--space-32))}
.ethos__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.ethos__lead .section-title{margin-top:0}
.ethos__body{padding-top:0.4em}
.ethos__body p{margin-bottom:var(--space-5);font-size:var(--text-lg);color:var(--color-text-muted)}
.ethos__body p:first-of-type{color:var(--color-text)}

/* ===================== COLLECTION ===================== */
.collection{background:var(--color-surface)}
.collection__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem)}
.specimen{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-luxe),box-shadow var(--transition-luxe),border-color var(--transition-interactive)}
.specimen:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--color-gold)}
.specimen__img{aspect-ratio:4/3;overflow:hidden;background:var(--color-ocean)}
.specimen__img img{width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(0.16,1,0.3,1)}
.specimen:hover .specimen__img img{transform:scale(1.07)}
.specimen__body{padding:clamp(1.25rem,2vw,1.75rem)}
.specimen__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:0.3em}
.specimen__body h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}
.tag{font-size:var(--text-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:0.3em 0.7em;border-radius:var(--radius-full);background:var(--color-gold-soft);color:var(--color-gold)}
.tag--rare{background:linear-gradient(120deg,var(--color-gold),var(--color-gold-hover));color:#1a1305}
.specimen__latin{font-family:var(--font-display);font-style:italic;font-size:var(--text-sm);color:var(--color-text-faint);margin-bottom:var(--space-3)}
.specimen__desc{font-size:var(--text-sm);color:var(--color-text-muted)}
.collection__note{margin-top:clamp(var(--space-10),4vw,var(--space-12));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.collection__note p{color:var(--color-text-muted);margin:0}

/* ===================== INSTALLATION ===================== */
.installation{background:var(--color-ocean-surface);color:#fff}
[data-theme='light'] .installation{background:var(--color-ocean)}
.installation .eyebrow{color:var(--color-gold)}
.installation .section-title{color:#fff}
.install__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.install__media{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.install__media img{width:100%;aspect-ratio:3/4;object-fit:cover}
.install__media-cap{position:absolute;left:var(--space-4);bottom:var(--space-4);font-size:var(--text-xs);color:#fff;background:rgba(7,20,28,0.6);padding:0.5em 0.9em;border-radius:var(--radius-full);backdrop-filter:blur(6px);letter-spacing:0.04em}
.install__body p{color:rgba(255,255,255,0.78);margin-bottom:var(--space-6);font-size:var(--text-lg);max-width:54ch}
.feature-list{margin-bottom:var(--space-8);display:grid;gap:var(--space-3)}
.feature-list li{display:flex;align-items:center;gap:var(--space-3);color:rgba(255,255,255,0.9)}
.feature-list .check{color:var(--color-gold);font-size:0.7em;flex-shrink:0}

/* ===================== MAINTENANCE ===================== */
.maint__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem);align-items:stretch}
.plan{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.5rem,2.5vw,2.5rem);display:flex;flex-direction:column;transition:transform var(--transition-luxe),box-shadow var(--transition-luxe),border-color var(--transition-interactive)}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--color-gold)}
.plan--featured{border-color:var(--color-gold);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-offset));box-shadow:var(--shadow-gold);transform:scale(1.02)}
.plan--featured:hover{transform:scale(1.02) translateY(-6px)}
.plan__badge{position:absolute;top:-0.8em;left:50%;transform:translateX(-50%);background:linear-gradient(120deg,var(--color-gold),var(--color-gold-hover));color:#1a1305;font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:0.4em 1.1em;border-radius:var(--radius-full);white-space:nowrap}
.plan__head{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-divider)}
.plan__head h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-2)}
.plan__price{font-size:var(--text-sm);color:var(--color-text-muted)}
.plan__price span{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-text)}
.plan__price small{color:var(--color-text-faint)}
.plan__list{flex:1;display:grid;gap:var(--space-3);margin-bottom:var(--space-8)}
.plan__list li{position:relative;padding-left:1.6em;font-size:var(--text-sm);color:var(--color-text-muted)}
.plan__list li::before{content:"";position:absolute;left:0;top:0.6em;width:0.5em;height:0.5em;border-radius:50%;background:var(--color-gold);opacity:0.85}

/* ===================== PROCESS ===================== */
.process{background:var(--color-surface-offset)}
.process__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(1rem,2vw,2rem);counter-reset:step}
.process__steps li{position:relative;padding-top:var(--space-2)}
.step__num{display:block;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-gold);margin-bottom:var(--space-3);letter-spacing:0.05em}
.process__steps li::before{content:"";position:absolute;left:0;top:2.2em;width:100%;height:1px;background:var(--color-border)}
.process__steps li:last-child::before{display:none}
.process__steps h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}
.process__steps p{font-size:var(--text-sm);color:var(--color-text-muted)}


/* ===================== SHOWCASE VIDEO ===================== */
.showcase-video{margin-bottom:clamp(1rem,2vw,2rem);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:#000}
.showcase-video__player{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.showcase-video__cap{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-5) var(--space-6);background:linear-gradient(180deg,rgba(7,20,28,0.96),rgba(7,20,28,1))}
.showcase-video__label{font-size:var(--text-xs);font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-gold);white-space:nowrap}
.showcase-video__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:#fff}

/* ===================== GALLERY ===================== */
.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:clamp(0.75rem,1.5vw,1.25rem)}
.g-item{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform 1100ms cubic-bezier(0.16,1,0.3,1)}
.g-item:hover img{transform:scale(1.06)}
.g-item figcaption{position:absolute;inset:auto 0 0 0;padding:var(--space-6) var(--space-4) var(--space-4);font-size:var(--text-sm);color:#fff;background:linear-gradient(180deg,transparent,rgba(7,20,28,0.85));max-width:none}
.g-item--lg{grid-column:span 2;grid-row:span 2}
/* wide variant removed */

/* ===================== TESTIMONIALS ===================== */
.testimonials{background:var(--color-ocean-surface);color:#fff}
[data-theme='light'] .testimonials{background:var(--color-ocean)}
.testimonials .eyebrow{color:var(--color-gold)}
.testimonials .section-title{color:#fff}
.testi__grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:clamp(1rem,2vw,2rem);align-items:stretch}
.testi{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:clamp(1.5rem,2.5vw,2.5rem);display:flex;flex-direction:column}
.testi--featured{background:linear-gradient(180deg,rgba(224,181,78,0.12),rgba(255,255,255,0.04));border-color:rgba(224,181,78,0.4)}
.testi p{font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;line-height:1.5;color:rgba(255,255,255,0.92);margin-bottom:var(--space-6);flex:1}
.testi footer{font-size:var(--text-sm);border-top:1px solid rgba(255,255,255,0.12);padding-top:var(--space-4)}
.testi strong{display:block;font-weight:600;color:#fff}
.testi span{color:rgba(255,255,255,0.6)}

/* ===================== FAQ ===================== */
.faq{background:var(--color-surface)}
.faq__list{display:grid;gap:var(--space-3);margin-top:var(--space-10)}
.faq-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-interactive)}
.faq-item[open]{border-color:var(--color-gold)}
.faq-item summary{list-style:none;cursor:pointer;padding:var(--space-5) var(--space-6);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);transition:color var(--transition-interactive)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.4rem;color:var(--color-gold);font-weight:400;transition:transform var(--transition-interactive);flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 var(--space-6) var(--space-5);color:var(--color-text-muted);font-size:var(--text-base)}

/* ===================== CTA / CONTACT ===================== */
.cta{position:relative;padding-block:clamp(var(--space-16),8vw,var(--space-24));overflow:hidden}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,28,0.7),rgba(7,20,28,0.92))}
.cta__card{position:relative;z-index:2;max-width:640px;margin-inline:auto;background:color-mix(in oklab,var(--color-surface) 94%,transparent);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-xl);padding:clamp(1.75rem,4vw,3rem);box-shadow:var(--shadow-lg)}
.cta__card .section-title{margin-bottom:var(--space-4)}
.cta__sub{color:var(--color-text-muted);margin-bottom:var(--space-8);font-size:var(--text-lg)}
.contact-form{display:grid;gap:var(--space-5)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.field{display:grid;gap:0.4em}
.field label{font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-muted)}
.field input,.field select,.field textarea{width:100%;padding:0.8em 1em;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);transition:border-color var(--transition-interactive)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-gold)}
.field textarea{resize:vertical;min-height:90px}
.form-note{font-size:var(--text-sm);color:var(--color-teal);min-height:1.2em;text-align:center}
.form-note.error{color:var(--color-notification,#dd6974)}
.contact-direct{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr)}
.contact-direct>div{display:flex;flex-direction:column;gap:0.2em;text-align:center}
.contact-direct span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-faint)}
.contact-direct a{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text);text-decoration:none}
.contact-direct a:hover{color:var(--color-gold)}

/* ===================== FOOTER ===================== */
.footer{background:var(--color-ocean);color:rgba(255,255,255,0.7);padding-top:clamp(var(--space-12),5vw,var(--space-20))}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,4rem);padding-bottom:var(--space-12)}
.footer__brand p{margin-top:var(--space-4);max-width:42ch;color:rgba(255,255,255,0.55)}
.footer__links{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}
.footer__links h4{font-size:var(--text-xs);font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-4)}
.footer__links ul{display:grid;gap:var(--space-3)}
.footer__links a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:var(--text-sm)}
.footer__links a:hover{color:#fff}
.footer__base{border-top:1px solid rgba(255,255,255,0.08);padding-block:var(--space-6)}
.footer__base .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:rgba(255,255,255,0.4)}
.footer__disclaimer{font-style:italic}

/* ===================== REVEAL ANIMATION ===================== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 800ms cubic-bezier(0.16,1,0.3,1),transform 800ms cubic-bezier(0.16,1,0.3,1)}
.reveal.is-visible{opacity:1;transform:none}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 980px){
  .nav{display:none}
  .menu-toggle{display:flex}
  .mobile-nav{display:block;position:fixed;inset:74px 0 auto 0;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-4) clamp(1.25rem,4vw,2.5rem);transform:translateY(-120%);transition:transform var(--transition-interactive);z-index:90;box-shadow:var(--shadow-lg)}
  .mobile-nav.open{transform:translateY(0)}
  .mobile-nav ul{display:grid;gap:var(--space-2)}
  .mobile-nav a{display:block;padding:0.7em 0;font-size:var(--text-lg);font-family:var(--font-display);border-bottom:1px solid var(--color-divider)}
  .header__actions .btn--ghost{display:none}

  .ethos__grid,.install__grid{grid-template-columns:1fr}
  .collection__grid,.maint__grid{grid-template-columns:1fr 1fr}
  .process__steps{grid-template-columns:1fr 1fr}
  .testi__grid{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
  .g-item--lg{grid-column:span 2;grid-row:span 1}
  .contact-direct{grid-template-columns:1fr}
  .contact-direct>div{text-align:left}
  .footer__grid{grid-template-columns:1fr}
  .hero__scroll{display:none}
}

@media (max-width: 620px){
  .collection__grid,.maint__grid,.form-row,.process__steps,.gallery__grid{grid-template-columns:1fr}
  .plan--featured{transform:none}
  .plan--featured:hover{transform:translateY(-6px)}
  .g-item--lg{grid-column:span 1}
  .gallery__grid{grid-auto-rows:180px}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .install__media img{aspect-ratio:4/5}
  .install__body .btn{width:100%}
}
