/* ==========================================================================
   Minky Homecare - premium brochure site
   Editorial homeware aesthetic. Real photography, no drawn elements.
   Palette references Minky brand colours only.
   Fonts: Fraunces (display serif) + Inter (sans).
   ========================================================================== */

:root{
  --ink:#0C2340;            /* navy - primary text + dark sections */
  --ink-soft:#3a4a5e;
  --paper:#FAF7F1;          /* warm off-white page */
  --paper-2:#F1EADD;        /* deeper warm neutral */
  --line:#E7DECF;
  --white:#ffffff;
  --cyan:#0090CE;           /* brand cyan - graphic accents */
  --cyan-deep:#0A6E9A;      /* accessible cyan for text/links (AA on white) */
  --red:#E4002B;            /* union-jack red - tiny accents only */
  --wrap:1200px;
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --shadow:0 18px 50px rgba(12,35,64,.14);
  --shadow-sm:0 8px 24px rgba(12,35,64,.08);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);
  line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--cyan-deep);text-decoration:none}
h1,h2,h3{font-family:var(--display);font-weight:500;color:var(--ink);margin:0;line-height:1.08;letter-spacing:-.01em}
p{margin:0}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:300;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:4px}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-weight:600;font-size:12px;color:var(--cyan-deep)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);
  font-weight:600;font-size:15px;letter-spacing:.01em;padding:15px 26px;border-radius:6px;
  color:#fff;min-height:52px;transition:transform .14s ease,background .2s ease,box-shadow .2s ease;
  border:1px solid transparent;cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:#183a5c}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-lg{font-size:16px;padding:17px 32px;min-height:58px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Announcement bar ---------- */
.topbar{background:var(--ink);color:#dfe8f2;font-size:13px;letter-spacing:.04em;text-align:center;padding:9px 16px}
.topbar b{color:#fff;font-weight:600}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(250,247,241,.92);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.logo img{height:38px;width:auto}
.site-nav{display:flex;align-items:center;gap:30px}
.nav-list{display:flex;list-style:none;gap:28px;margin:0;padding:0}
.nav-list a{color:var(--ink);font-weight:500;font-size:15px}
.nav-list a:hover{color:var(--cyan-deep)}
.header-cta{display:flex;gap:10px}
.header-cta .btn{padding:11px 18px;min-height:44px;font-size:14px}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px}

/* ---------- Hero ---------- */
.hero{padding:36px 0 40px}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.hero h1{font-size:clamp(40px,6vw,72px);font-weight:400}
.hero h1 em{font-style:italic;color:var(--cyan-deep)}
.hero-lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink-soft);max-width:520px;margin:22px 0 30px}
.hero-cta{margin-bottom:22px}
.hero-note{font-size:14px;color:var(--ink-soft)}
.hero-note a{font-weight:600}
.hero-figure{position:relative}
.hero-figure img:not(.hero-seal){width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}
.hero-seal{position:absolute;left:-14px;bottom:24px;width:116px;height:auto;filter:drop-shadow(0 8px 18px rgba(12,35,64,.28))}
.hero-tag{position:absolute;left:-18px;bottom:26px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 20px;box-shadow:var(--shadow-sm)}
.hero-tag b{font-family:var(--display);font-size:30px;color:var(--ink);display:block;line-height:1}
.hero-tag span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}

/* ---------- Credential strip ---------- */
.creds{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.creds-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding:22px 28px;max-width:var(--wrap);margin:0 auto}
.cred{display:flex;flex-direction:column;min-width:120px}
.cred b{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.cred span{font-size:12.5px;color:var(--ink-soft);margin-top:3px}

/* ---------- Section scaffolding ---------- */
.section{padding:90px 0}
.section-head{max-width:660px;margin:0 auto 54px;text-align:center}
.section-head h2{font-size:clamp(30px,4vw,46px);margin:14px 0 0;font-weight:400}
.section-head p{color:var(--ink-soft);font-size:18px;margin-top:16px}

/* ---------- Why / features ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.feature{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .25s ease}
.feature:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.feature-media{aspect-ratio:4/3;background:var(--paper-2);overflow:hidden}
.feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.feature:hover .feature-media img{transform:scale(1.05)}
.feature-body{padding:26px 26px 30px}
.feature-body .kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-deep);font-weight:600}
.feature-body h3{font-size:23px;margin:10px 0 10px}
.feature-body p{color:var(--ink-soft);font-size:15px}

/* ---------- Range gallery ---------- */
.range{background:var(--white)}
.range-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.tile{position:relative;flex:0 1 calc(33.333% - 15px);margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--paper);aspect-ratio:1/1}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile:hover img{transform:scale(1.06)}
.tile figcaption{position:absolute;inset:auto 0 0 0;padding:16px 18px;background:linear-gradient(180deg,transparent,rgba(12,35,64,.82));color:#fff;font-weight:600;font-size:16px;display:flex;justify-content:space-between;align-items:center}
.tile figcaption span{font-size:13px;font-weight:500;opacity:.9}
.range-foot{text-align:center;margin-top:44px}

/* ---------- Heritage ---------- */
.heritage{background:var(--ink);color:#e8eef6}
.heritage-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.heritage h2{color:#fff;font-size:clamp(30px,4vw,48px);font-weight:400}
.heritage h2 em{font-style:italic;color:#7fc4ec}
.heritage p{color:#c3d2e4;font-size:17px;margin-top:20px}
.heritage-crest{margin-top:30px;width:300px;max-width:100%;height:auto}
.heritage .eyebrow{color:#7fc4ec}
.quote{font-family:var(--display);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.35;color:#fff;border-left:3px solid var(--cyan);padding-left:24px;margin:0}
.quote cite{display:block;font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8fb6d8;margin-top:16px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 22px;margin-top:40px}
.stat b{font-family:var(--display);font-size:44px;font-weight:500;color:#fff;line-height:1;display:block}
.stat span{font-size:14px;color:#a9bdd6;margin-top:8px;display:block}

/* ---------- Buy band ---------- */
.buy{background:var(--paper-2);text-align:center}
.buy h2{font-size:clamp(30px,4vw,48px);font-weight:400}
.buy p{color:var(--ink-soft);font-size:18px;max-width:560px;margin:16px auto 32px}
.buy .cta-row{justify-content:center}

/* ---------- Footer ---------- */
.site-footer{background:#08182b;color:#aebfd2;padding:52px 0 34px;text-align:center}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:14px}
.footer-tag{font-size:15px;color:#9fb2c6;margin:0}
.footer-legal{max-width:620px;margin:8px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);font-size:12.5px;line-height:1.7;color:#7f96ae}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1000px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-figure{max-width:520px}
  .hero-tag{left:auto;right:24px}
  .features{grid-template-columns:1fr 1fr}
  .heritage-inner{grid-template-columns:1fr;gap:40px}
}
@media (max-width:760px){
  .header-cta{display:none}
  .nav-toggle{display:flex}
  .nav-list{position:absolute;top:74px;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;box-shadow:var(--shadow-sm)}
  .nav-list.open{max-height:320px}
  .nav-list li{width:100%;border-top:1px solid var(--line)}
  .nav-list a{display:block;padding:16px 28px}
  .section{padding:64px 0}
  .hero{padding:48px 0 24px}
  .features{grid-template-columns:1fr}
  .tile{flex-basis:100%}
  .range-grid{max-width:460px;margin:0 auto}
  .stats{grid-template-columns:repeat(3,1fr)}
  .cta-row .btn{flex:1 1 100%}
}
@media (max-width:420px){
  .wrap,.creds-inner{padding-left:20px;padding-right:20px}
  .stats{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
