/* =========================================================================
   Λευκή Ποδιά — Ενοικίαση Προσωπικού
   Warm editorial / quiet-luxury brand · image-driven agency layout
   Palette #FFFFFF #F7F6F4 #CBBCA9 #222222 #B8986B  ·  EB Garamond + Manrope
   ========================================================================= */

/* ---------- Fonts (self-hosted, Greek + Latin subsets) ------------------- */
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/ebgaramond-greek-400.woff2") format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/ebgaramond-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ebgaramond-greek-600.woff2") format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ebgaramond-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:500;font-display:swap;
  src:url("../fonts/ebgaramond-greek-500-italic.woff2") format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
@font-face{font-family:"EB Garamond";font-style:italic;font-weight:500;font-display:swap;
  src:url("../fonts/ebgaramond-latin-500-italic.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/manrope-greek-400.woff2") format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/manrope-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/manrope-greek-600.woff2") format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/manrope-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/manrope-greek-700.woff2") format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/manrope-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Design tokens ------------------------------------------------ */
:root{
  /* ===== THEME TOKENS — επεξεργασία live στο dev.html ===== */
  --bg-main:#F7F6F4;          /* φόντο σελίδας */
  --bg-soft:#EAE3D9;          /* μπεζ — stats, εξωτερικός κύκλος hero */
  --bg-taupe:#D9CEBF;         /* βαθύ taupe — footer, εσωτ. κύκλος, caption bars */
  --bg-dark:#211f1c;          /* σκούρες ζώνες (φιλοσοφία / CTA) */
  --text-main:#222222;        /* τίτλοι / βασικό κείμενο */
  --text-muted:#5f5951;       /* παράγραφοι */
  --accent-gold:#B8986B;      /* premium accent (χρυσό) */
  --accent-gold-deep:#7d6239; /* αναγνώσιμο χρυσό (eyebrows / links) */
  --accent-soft:#CBBCA9;      /* soft accent — κύκλοι hero, λεπτομέρειες */
  --action:#B8986B;           /* χρώμα βασικών κουμπιών (default: χρυσό) */
  --action-hover:#a8875a;
  --action-fg:#ffffff;        /* κείμενο πάνω στα κουμπιά */

  /* ===== Shadows — live ===== */
  --shadow-rgb:34,34,34;
  --shadow-strength:.4;
  --shadow-y:20px;
  --shadow-blur:44px;
  --card-shadow:0 var(--shadow-y) var(--shadow-blur) -26px rgba(var(--shadow-rgb),var(--shadow-strength));

  /* ===== Hero circles — edge & shadow (live) ===== */
  --circle-edge:0px;
  --circle-edge-color:#B8986B;
  --circle-shadow-size:0;

  /* ===== Hero photos — corners, frame, shadow (live) ===== */
  --photo-radius:6px;
  --photo-edge:6px;
  --photo-edge-color:#ffffff;
  --photo-shadow:1;

  /* ===== Legacy aliases → theme tokens (μην πειράζετε) ===== */
  --white:#FFFFFF;
  --paper:var(--bg-main);
  --taupe:var(--accent-soft);
  --taupe-tint:var(--bg-soft);
  --sand:var(--bg-taupe);
  --taupe-inner:var(--bg-taupe);
  --ink:var(--text-main);
  --ink-warm:var(--bg-dark);
  --gold:var(--accent-gold);
  --gold-deep:var(--accent-gold-deep);
  --muted:var(--text-muted);
  --line:rgba(34,34,34,.12);
  --line-gold:rgba(184,152,107,.55);

  --font-head:"EB Garamond",Georgia,"Times New Roman",serif;
  --font-body:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --fs-head:1;             /* κλίμακα μεγέθους: τίτλοι */
  --fs-body:1;             /* κλίμακα μεγέθους: κείμενο */
  --fs-caption:1;          /* κλίμακα μεγέθους: λεζάντες εικόνων */
  --serif:var(--font-head);
  --sans:var(--font-body);
  --container:1180px;
  --measure:64ch;
  --pad-x:clamp(1.25rem,5vw,3rem);
  --section-y:clamp(4rem,9vw,7rem);
  --radius:6px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset & base ------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:calc(clamp(1rem,0.96rem + 0.2vw,1.0625rem) * var(--fs-body));line-height:1.75;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;}
h1,h2,h3,h4,p{margin:0;}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:2px;}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);
  padding:.7rem 1.1rem;z-index:200;border-radius:0 0 var(--radius) 0;}
.skip:focus{left:0;}

/* ---------- Layout & type helpers ---------------------------------------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad-x);}
.section{padding-block:var(--section-y);}
.measure{max-width:var(--measure);}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:.7rem;}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);opacity:.9;}
h2.title{font-family:var(--serif);font-weight:400;font-size:calc(clamp(2rem,1.4rem + 2.6vw,3.1rem) * var(--fs-head));
  line-height:1.1;letter-spacing:.005em;margin-top:1.1rem;}
.lead{font-size:calc(clamp(1.05rem,1rem + .3vw,1.2rem) * var(--fs-body));color:var(--muted);margin-top:1.4rem;}
.serif-accent{font-family:var(--serif);font-style:italic;font-weight:500;}
.section-head{margin-bottom:clamp(2.5rem,5vw,3.5rem);}

/* ---------- Buttons ------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-weight:600;font-size:.9rem;letter-spacing:.03em;
  padding:.92em 1.7em;border-radius:999px;border:1px solid transparent;text-decoration:none;
  cursor:pointer;white-space:nowrap;transition:background-color .25s var(--ease),
  color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);}
.btn:hover{transform:translateY(-2px);}
.btn svg{width:1.05em;height:1.05em;flex:none;}
.btn--primary{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn--primary:hover{background:#000;}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(34,34,34,.28);}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-deep);}
.btn--gold{background:transparent;color:var(--gold-deep);border-color:var(--gold);}
.btn--gold:hover{background:var(--gold);color:#fff;}
.btn--gold-solid{background:var(--action);color:var(--action-fg);border-color:var(--action);}
.btn--gold-solid:hover{background:var(--action-hover);border-color:var(--action-hover);}
.btn--ghost-light{background:transparent;color:var(--paper);border-color:rgba(247,246,244,.5);}
.btn--ghost-light:hover{border-color:var(--paper);background:rgba(247,246,244,.12);}
.link{color:var(--ink);text-decoration:none;font-weight:600;
  background-image:linear-gradient(var(--gold),var(--gold));background-size:0% 1px;
  background-position:0 100%;background-repeat:no-repeat;padding-bottom:2px;
  transition:background-size .3s var(--ease),color .3s var(--ease);}
.link:hover{background-size:100% 1px;color:var(--gold-deep);}

/* ---------- Image placeholder (swap by adding <img> inside) --------------- */
.media{position:relative;overflow:hidden;border-radius:var(--radius);isolation:isolate;
  background:linear-gradient(135deg,#e7dfd3,#d3c8b8);}
.media::before{content:"";position:absolute;inset:0;z-index:0;
  background:url("../img/logo-badge.png") center/38% no-repeat;opacity:.10;}
.media[data-label]::after{content:"◇  " attr(data-label);position:absolute;z-index:1;
  left:0;right:0;bottom:0;padding:.7rem .9rem;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;color:var(--gold-deep);
  background:linear-gradient(to top,rgba(255,255,255,.72),transparent);}
.media img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;}
.media:has(img)::before,.media:has(img)::after{display:none;}

/* ======================================================================== */
/*  Header                                                                    */
/* ======================================================================== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(247,246,244,.82);
  backdrop-filter:blur(10px);border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease),background-color .3s var(--ease),box-shadow .3s var(--ease);}
.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -24px rgba(34,34,34,.4);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  min-height:4.75rem;padding-block:.55rem;}
.brand{display:inline-flex;align-items:center;flex:none;}
.brand img{height:42px;width:auto;}
.brand:focus-visible{outline-offset:5px;}
.site-nav{display:flex;align-items:center;gap:2rem;}
.site-nav a:not(.btn){font-size:.9rem;font-weight:500;letter-spacing:.02em;text-decoration:none;
  color:var(--ink);position:relative;padding-block:.3rem;transition:color .25s var(--ease);}
.site-nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.site-nav a:not(.btn):hover{color:var(--gold-deep);}
.site-nav a:not(.btn):hover::after{transform:scaleX(1);}
.nav-actions{display:flex;align-items:center;gap:1.25rem;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;margin:-.5rem;color:var(--ink);}
.nav-toggle svg{width:26px;height:26px;}
.nav-toggle .icon-close{display:none;}
.nav-toggle[aria-expanded="true"] .icon-open{display:none;}
.nav-toggle[aria-expanded="true"] .icon-close{display:block;}

/* ======================================================================== */
/*  Hero — split copy + photo stack on a soft "blanket" blob                  */
/* ======================================================================== */
.hero-split{position:relative;overflow:hidden;background:var(--paper);}
.hero-blob{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-blob::before,.hero-blob::after{content:"";position:absolute;}
.hero-blob::before{right:-12%;top:-8%;width:74%;height:116%;background:var(--taupe-tint);
  border-radius:46% 54% 52% 48%/54% 46% 54% 46%;
  border:var(--circle-edge) solid var(--circle-edge-color);
  box-shadow:0 12px calc(var(--circle-shadow-size) * 55px) rgba(34,34,34,calc(var(--circle-shadow-size) * .28));}
.hero-blob::after{right:-3%;top:12%;width:54%;height:78%;
  background:color-mix(in srgb, var(--accent-soft) 50%, transparent);
  border-radius:54% 46% 48% 52%/46% 56% 44% 54%;
  border:var(--circle-edge) solid var(--circle-edge-color);
  box-shadow:0 12px calc(var(--circle-shadow-size) * 55px) rgba(34,34,34,calc(var(--circle-shadow-size) * .28));}
/* Hero-circle style variants (dev playground) */
.hero-split[data-circles="single"] .hero-blob::after{display:none;}
.hero-split[data-circles="single"] .hero-blob::before{width:90%;height:130%;}
.hero-split[data-circles="smooth"] .hero-blob::before,
.hero-split[data-circles="smooth"] .hero-blob::after{border-radius:50%;}
.hero-split[data-circles="rings"] .hero-blob::before{background:transparent;
  border:2px solid color-mix(in srgb,var(--accent-soft) 75%,transparent);}
.hero-split[data-circles="rings"] .hero-blob::after{background:transparent;
  border:2px solid color-mix(in srgb,var(--accent-soft) 60%,transparent);}
.hero-split[data-circles="none"] .hero-blob{display:none;}
.hero-split[data-circles="halo"] .hero-blob::before{width:44%;height:66%;right:8%;top:16%;border-radius:50%;
  background:transparent;border:2px solid color-mix(in srgb,var(--accent-soft) 70%,transparent);
  box-shadow:0 0 0 24px color-mix(in srgb,var(--accent-soft) 14%,transparent),
             0 0 0 25px color-mix(in srgb,var(--accent-soft) 42%,transparent),
             0 0 0 56px color-mix(in srgb,var(--accent-soft) 8%,transparent),
             0 0 0 57px color-mix(in srgb,var(--accent-soft) 26%,transparent);}
.hero-split[data-circles="halo"] .hero-blob::after{display:none;}
.hero-split[data-circles="arch"] .hero-blob::before{width:120%;height:200%;right:-25%;top:-72%;border-radius:50%;}
.hero-split[data-circles="arch"] .hero-blob::after{width:68%;height:120%;right:-4%;top:-34%;border-radius:50%;
  background:color-mix(in srgb,var(--accent-soft) 42%,transparent);}
.hero-split[data-circles="corner"] .hero-blob::before{width:82%;height:150%;right:-26%;top:-52%;border-radius:50%;}
.hero-split[data-circles="corner"] .hero-blob::after{width:38%;height:72%;right:-6%;top:-12%;border-radius:50%;
  background:color-mix(in srgb,var(--accent-gold) 22%,transparent);}
.hero-split[data-circles="wash"] .hero-blob::before{width:130%;height:150%;right:-30%;top:-25%;border-radius:0;
  background:linear-gradient(120deg,transparent 28%,color-mix(in srgb,var(--accent-soft) 45%,transparent) 62%,color-mix(in srgb,var(--accent-soft) 16%,transparent));}
.hero-split[data-circles="wash"] .hero-blob::after{display:none;}
.hero-split[data-circles="dots"] .hero-blob::before{inset:0;width:auto;height:auto;right:auto;top:auto;border-radius:0;
  background:radial-gradient(color-mix(in srgb,var(--accent-soft) 70%,transparent) 2px,transparent 2.5px) 0 0/26px 26px;
  -webkit-mask-image:linear-gradient(to left,#000 38%,transparent 82%);mask-image:linear-gradient(to left,#000 38%,transparent 82%);}
.hero-split[data-circles="dots"] .hero-blob::after{display:none;}
.hero-split-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,7vw,6rem);}
.hero-copy{max-width:34rem;}
.hero-brand{height:clamp(128px,14vw,196px);width:auto;margin-bottom:1.6rem;display:block;}
.hero-copy h1{font-family:var(--serif);font-weight:600;letter-spacing:.005em;
  font-size:calc(clamp(2.3rem,1.5rem + 3vw,3.9rem) * var(--fs-head));line-height:1.08;margin-top:1.2rem;}
.hero-lead{margin-top:1.5rem;color:var(--muted);max-width:40ch;
  font-size:calc(clamp(1.05rem,1rem + .3vw,1.2rem) * var(--fs-body));}
.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem;}
.hero-phone{display:inline-flex;align-items:center;gap:.85rem;margin-top:1.9rem;
  text-decoration:none;color:var(--ink);font-weight:600;}
.hero-phone-ico{width:44px;height:44px;border-radius:50%;background:var(--gold);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .25s var(--ease);}
.hero-phone-ico svg{width:20px;height:20px;}
.hero-phone-num{font-size:1.2rem;}
.hero-phone:hover .hero-phone-ico{background:var(--gold-deep);}
.hero-media-stack{position:relative;aspect-ratio:1/1;}
.hero-photo{position:absolute;overflow:hidden;border-radius:var(--photo-radius);
  border:var(--photo-edge) solid var(--photo-edge-color);
  box-shadow:0 calc(var(--photo-shadow) * 40px) calc(var(--photo-shadow) * 70px) -35px rgba(34,34,34,calc(var(--photo-shadow) * .55));}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-photo--back{width:70%;aspect-ratio:4/3;top:0;left:0;z-index:1;}
.hero-photo--front{width:62%;aspect-ratio:4/3;bottom:0;right:0;z-index:2;}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2.3rem;}
@media (max-width:860px){
  .hero-split-inner{grid-template-columns:1fr;gap:2.5rem;}
  .hero-copy{max-width:none;}
  .hero-media-stack{aspect-ratio:5/4;width:100%;max-width:540px;margin-inline:auto;}
}
@media (max-width:520px){
  .hero-photo--back{width:74%;}
  .hero-photo--front{width:66%;}
  .hero-phone-num{font-size:1.1rem;}
}

/* ======================================================================== */
/*  Value band                                                                */
/* ======================================================================== */
.valueband{border-bottom:1px solid var(--line);}
.valueband .container{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(2rem,5vw,4rem);
  align-items:center;}
.valueband h2{font-family:var(--serif);font-weight:400;font-size:calc(clamp(1.7rem,1.2rem + 2.1vw,2.7rem) * var(--fs-head));
  line-height:1.22;letter-spacing:.005em;}
.valueband h2 em{font-style:italic;color:var(--gold-deep);}
.valueband .vb-side p{color:var(--muted);}
.valueband .vb-side .btn{margin-top:1.5rem;}

/* ======================================================================== */
/*  Categories — image tiles with tint + label box                           */
/* ======================================================================== */
.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem);}
.cat{position:relative;aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;isolation:isolate;
  box-shadow:var(--card-shadow);}
.cat .media{position:absolute;inset:0;border-radius:0;z-index:0;}
.cat .media img{transition:transform .7s var(--ease);}
.cat:hover .media img{transform:scale(1.05);}
.cat::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:rgba(20,18,16,.2);transition:background .3s var(--ease);}
.cat:hover::after{background:rgba(20,18,16,.1);}
/* caption bar: μικρή λωρίδα στο κάτω μέρος, πάνω στη φωτογραφία */
.cat-label{position:absolute;left:0;right:0;bottom:0;z-index:2;
  background:var(--sand);padding:.72rem 1.1rem;transition:background .3s var(--ease);}
.cat:hover .cat-label{background:#e2dacd;}
.cat-label span{display:block;font-family:var(--serif);font-weight:600;
  font-size:calc(clamp(1.05rem,1rem + .4vw,1.3rem) * var(--fs-caption));color:var(--ink);line-height:1.15;}
.cat-label small{display:block;font-family:var(--sans);font-weight:500;font-size:calc(.72rem * var(--fs-caption));
  letter-spacing:.03em;color:var(--muted);margin-top:.1rem;}

/* ======================================================================== */
/*  About — image + story                                                     */
/* ======================================================================== */
.about .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);
  align-items:stretch;}
.about-media{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.6rem);}
.about-media .media{flex:1 1 0;min-height:0;}   /* two photos share the text height */
.about-body p{margin-top:1.2rem;}
.about-body .eyebrow{margin-bottom:1rem;}

/* ======================================================================== */
/*  Why us — numbered                                                         */
/* ======================================================================== */
.whyus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem);}
.why{background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:clamp(1.5rem,2.5vw,2rem);box-shadow:var(--card-shadow);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.why:hover{transform:translateY(-4px);box-shadow:0 30px 56px -26px rgba(34,34,34,.5);}
.why::before{content:"";display:block;width:30px;height:3px;border-radius:2px;
  background:var(--gold);margin-bottom:1.1rem;}
.why h3{font-family:var(--serif);font-weight:600;font-size:calc(1.3rem * var(--fs-head));line-height:1.2;margin-top:0;}
.why p{color:var(--muted);font-size:.96rem;margin-top:.6rem;}

/* ======================================================================== */
/*  Stats band                                                                */
/* ======================================================================== */
.stats{background:var(--taupe-tint);border-block:1px solid var(--line);}
.stats .container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;
  padding-block:clamp(2.5rem,5vw,3.5rem);}
.stat .n{font-family:var(--serif);font-weight:600;line-height:1;color:var(--gold-deep);
  font-size:calc(clamp(2.4rem,1.6rem + 3vw,3.6rem) * var(--fs-head));}
.stat .l{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-top:.7rem;}
.stat+.stat{border-left:1px solid var(--line);}

/* ======================================================================== */
/*  Philosophy band (dark)                                                    */
/* ======================================================================== */
.philosophy{position:relative;overflow:hidden;background:var(--ink-warm);color:var(--paper);text-align:center;}
.philosophy::after{content:"";position:absolute;z-index:0;right:-6%;top:50%;width:min(60vw,520px);
  aspect-ratio:1;transform:translateY(-50%);
  background:url("../img/logo-badge.png") center/contain no-repeat;opacity:.07;pointer-events:none;}
.philosophy .container{position:relative;z-index:1;max-width:52rem;}
.philosophy .eyebrow{color:var(--gold);justify-content:center;}
.philosophy .eyebrow::before{background:var(--gold);}
.philosophy blockquote{margin:1.6rem 0 0;font-family:var(--serif);font-weight:400;
  font-size:calc(clamp(1.7rem,1.2rem + 2.4vw,2.8rem) * var(--fs-head));line-height:1.28;}
.philosophy blockquote em{font-style:italic;color:var(--taupe);}
.philosophy .attrib{margin-top:1.8rem;color:rgba(247,246,244,.72);font-size:1.05rem;
  max-width:44ch;margin-inline:auto;}

/* ======================================================================== */
/*  CTA band                                                                  */
/* ======================================================================== */
.cta-band{position:relative;overflow:hidden;color:var(--paper);text-align:center;background:var(--ink-warm);}
.cta-band .media{position:absolute;inset:0;z-index:0;border-radius:0;}
.cta-band .media::before{opacity:.16;}
.cta-band .cta-scrim{position:absolute;inset:0;z-index:1;background:rgba(20,18,16,.72);}
.cta-band .container{position:relative;z-index:2;}
.cta-band .eyebrow{color:var(--gold);justify-content:center;}
.cta-band .eyebrow::before{background:var(--gold);}
.cta-band h2{font-family:var(--serif);font-weight:400;font-size:calc(clamp(2rem,1.4rem + 2.6vw,3.1rem) * var(--fs-head));line-height:1.12;}
.cta-band p{max-width:50ch;margin:1.2rem auto 0;color:rgba(247,246,244,.85);}
.cta-band .hero-cta{margin-top:2.2rem;}

/* ======================================================================== */
/*  Contact                                                                   */
/* ======================================================================== */
.contact .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);
  align-items:center;margin-top:clamp(2.2rem,4vw,3rem);}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:1.6rem;}
.contact-list li{display:flex;gap:1.1rem;align-items:flex-start;}
.contact-ico{width:22px;height:22px;color:var(--gold-deep);flex:none;margin-top:.35rem;}
.contact-ico svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round;}
.contact-list .k{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.contact-list .v{font-size:1.15rem;margin-top:.15rem;}
.contact-list .v a{text-decoration:none;color:var(--ink);transition:color .25s var(--ease);}
.contact-list .v a:hover{color:var(--gold-deep);}
.map-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  min-height:320px;height:100%;background:radial-gradient(circle at 30% 30%,rgba(184,152,107,.14),transparent 60%),
  linear-gradient(135deg,var(--taupe-tint),#dcd3c6);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:1.1rem;text-align:center;padding:2rem;}
.map-card .pin{width:46px;height:46px;color:var(--gold-deep);}
.map-card .pin svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.map-card address{font-style:normal;font-family:var(--serif);font-size:1.3rem;color:var(--ink);line-height:1.4;}

/* ======================================================================== */
/*  Footer                                                                    */
/* ======================================================================== */
.site-footer{background:var(--taupe-inner);border-top:1px solid var(--line);
  padding-block:clamp(3rem,6vw,4.5rem) 2rem;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem;}
.footer-brand img{height:88px;width:auto;margin-bottom:1.2rem;}
.footer-brand p{color:var(--muted);max-width:34ch;font-size:.96rem;}
.footer-col h4{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-deep);margin-bottom:1.1rem;}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;}
.footer-col a{text-decoration:none;color:var(--ink);font-size:.95rem;transition:color .25s var(--ease);}
.footer-col a:hover{color:var(--gold-deep);}
.footer-col .muted{color:var(--muted);font-size:.95rem;line-height:1.7;}
.footer-bottom{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;
  align-items:center;margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:1.6rem;
  border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;}
.footer-bottom .legal{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;}

/* ---------- Legal / long-form (privacy) ---------------------------------- */
.page-hero{padding-block:clamp(3rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line);}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,1.8rem + 3vw,4rem);
  line-height:1.05;margin-top:1rem;}
.page-hero .updated{color:var(--muted);font-size:.9rem;margin-top:1rem;}
.legal-body{max-width:72ch;}
.legal-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,1.2rem + 1vw,1.9rem);
  margin-top:clamp(2.4rem,4vw,3rem);padding-top:1.6rem;border-top:1px solid var(--line);}
.legal-body h2:first-of-type{border-top:0;padding-top:0;margin-top:0;}
.legal-body h3{font-family:var(--sans);font-weight:700;font-size:1.05rem;margin-top:1.6rem;}
.legal-body p{margin-top:1rem;color:#3a352e;}
.legal-body ul{margin-top:1rem;padding-left:1.2rem;color:#3a352e;}
.legal-body li{margin-top:.5rem;}
.legal-body a{color:var(--gold-deep);text-underline-offset:3px;}
.ph{background:rgba(184,152,107,.16);border-bottom:1px dashed var(--gold);padding:0 .25em;
  border-radius:2px;font-style:normal;white-space:nowrap;}

/* ---------- Motion (progressive enhancement) ----------------------------- */
.js .reveal{opacity:0;transform:translateY(22px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);}
.js .reveal.in{opacity:1;transform:none;}
.js .reveal[data-delay="1"]{transition-delay:.08s;}
.js .reveal[data-delay="2"]{transition-delay:.16s;}
.js .reveal[data-delay="3"]{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none;}
  .btn:hover,.cat:hover .media img,.why:hover{transform:none;}
  .hero-slide{transition:none;}
}

/* ---------- Responsive --------------------------------------------------- */
@media (max-width:960px){
  .whyus-grid{grid-template-columns:repeat(2,1fr);}
  .valueband .container{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .cats{grid-template-columns:repeat(2,1fr);}
  .about .container{grid-template-columns:1fr;}
  .about-media{order:2;}                           /* photos drop BELOW the text */
  .about-media .media{flex:none;aspect-ratio:16/10;}
}
@media (max-width:820px){
  .nav-toggle{display:inline-flex;}
  .site-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--pad-x) 1.5rem;
    box-shadow:0 24px 40px -30px rgba(34,34,34,.5);clip-path:inset(0 0 100% 0);opacity:0;
    pointer-events:none;transition:clip-path .35s var(--ease),opacity .25s var(--ease);}
  .site-nav.open{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto;}
  .site-nav a:not(.btn){padding:.95rem .25rem;border-bottom:1px solid var(--line);}
  .site-nav a:not(.btn)::after{display:none;}
  .nav-actions{margin-top:1.1rem;}
  .nav-actions .btn{width:100%;}
}
@media (max-width:640px){
  .contact .grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .stats .container{grid-template-columns:1fr;}
  .stat+.stat{border-left:0;border-top:1px solid var(--line);padding-top:2rem;}
  .hero-cta .btn{width:100%;}
}
@media (max-width:540px){
  .cats{grid-template-columns:1fr;}
  .whyus-grid{grid-template-columns:1fr;}
}
