/* =========================================================================
   HAUS ADIMA — style.css
   A design system drawn from twenty luxury houses.
   Rules: generous white space · a serif for display · three colours ·
   no sale colour, ever.
   ====================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --navy:#16243F;
  --ink:#0C1526;
  --ivory:#F7F4EF;
  --paper:#FFFFFF;
  --brass:#B08D57;
  --text:#1B2434;
  --soft:#5A6375;
  --line:rgba(22,36,63,.14);
  --line-soft:rgba(22,36,63,.07);

  --serif:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --sec:clamp(80px,10vw,160px);
  --gap:clamp(24px,3vw,48px);
  --wrap:1320px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:var(--sans);font-weight:300;font-size:16px;
  line-height:1.75;letter-spacing:.012em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--navy);color:#fff}

.sr-only{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--navy);color:#fff;padding:12px 20px}
.skip:focus{left:12px;top:12px}

/* ---------- 3. LAYOUT ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,56px)}
.narrow{max-width:860px}
.center{text-align:center}
.sec{padding-block:var(--sec)}
.sec--ivory{background:var(--ivory)}
.sechead{margin-bottom:clamp(44px,5vw,76px)}
.secfoot{margin-top:clamp(40px,4.5vw,70px)}

.rule{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}
.rule i{display:block;width:34px;height:1px;background:var(--brass);opacity:.6}
.rule b{display:block;width:5px;height:5px;transform:rotate(45deg);background:var(--brass)}
.rule--light i{opacity:.9}

/* ---------- 4. TYPE ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--navy);margin:0 0 .4em;text-wrap:balance}
.h1{font-size:clamp(36px,5.2vw,66px);line-height:1.08}
.h2{font-size:clamp(28px,3.8vw,50px);line-height:1.14}
.h3{font-size:clamp(20px,2.2vw,28px);line-height:1.25}
.h2--light{color:var(--ivory)}

.lead{font-size:clamp(15px,1.15vw,18px);line-height:1.85;color:var(--soft);max-width:62ch;margin:0 auto}
.lead--light{color:rgba(247,244,239,.8)}
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);margin:0 0 18px}
.note{font-size:14px;color:var(--soft);font-style:italic;max-width:70ch;margin:0 auto}

.link{
  display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy);padding-bottom:4px;border-bottom:1px solid var(--brass);
  transition:color .35s var(--ease);
}
.link:hover{color:var(--brass)}

/* ---------- 5. BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:54px;padding:0 38px;
  border:1px solid var(--navy);background:var(--navy);color:#fff;
  font-family:var(--sans);font-size:12px;letter-spacing:.26em;text-transform:uppercase;
  transition:background .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease);
  cursor:pointer;
}
.btn:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.btn--ghost{background:transparent;color:var(--navy)}
.btn--ghost:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn--onnavy{background:#fff;border-color:#fff;color:var(--navy)}
.btn--onnavy:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.btn--ghostlight{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--ghostlight:hover{background:#fff;border-color:#fff;color:var(--navy)}
.btn--block{display:flex;width:100%}

/* ---------- 6. ANNOUNCEMENT BAR ---------- */
.bar{background:var(--navy);color:rgba(255,255,255,.86);overflow:hidden}
.bar__track{
  display:flex;justify-content:center;gap:56px;padding:11px 20px;
  font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;
}
.bar__item{position:relative}
.bar__item+.bar__item::before{
  content:"";position:absolute;left:-28px;top:50%;
  width:3px;height:3px;transform:translateY(-50%) rotate(45deg);background:var(--brass);
}
@media(max-width:900px){.bar__track{gap:0}.bar__item+.bar__item{display:none}}

/* ---------- 7. HEADER ---------- */
.head{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line-soft);
  transition:background .4s var(--ease),border-color .4s var(--ease);
}
.head__in{
  max-width:var(--wrap);margin-inline:auto;padding:0 clamp(20px,5vw,56px);
  min-height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
}
.nav{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav a{
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);
  padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .35s var(--ease);
}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--brass)}
.brand{grid-column:2;justify-self:center}
.brand img{
  height:86px;width:auto;
  /* The supplied logo has a white background rather than transparency.
     Multiply blending drops the white against the white and ivory grounds.
     Replace with a transparent PNG or SVG and this rule becomes harmless. */
  mix-blend-mode:multiply;
}
.tools{grid-column:3;justify-self:end;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy)}
.tools a:hover{color:var(--brass)}

.burger{display:none;width:34px;height:34px;background:none;border:0;padding:0;cursor:pointer;
  flex-direction:column;justify-content:center;gap:6px}
.burger span{display:block;width:22px;height:1px;background:var(--navy);transition:transform .35s var(--ease)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

@media(max-width:1023px){
  .head__in{grid-template-columns:44px 1fr 44px;min-height:74px}
  .burger{display:flex;grid-column:1}
  .nav-wrap{grid-column:1/-1;grid-row:2;max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
  .nav-wrap.is-open{max-height:60vh}
  .nav{flex-direction:column;gap:0;padding:8px 0 22px}
  .nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line-soft)}
}

/* ---------- 8. HERO ---------- */
.hero{
  position:relative;background:var(--navy);color:#fff;
  padding:clamp(96px,13vw,190px) clamp(20px,5vw,56px) clamp(90px,12vw,170px);
  text-align:center;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(176,141,87,.20),transparent 62%),
    radial-gradient(90% 70% at 50% 110%,rgba(12,21,38,.75),transparent 60%);
}
.hero__in{position:relative;max-width:820px;margin-inline:auto}
.hero__eyebrow{font-size:11px;letter-spacing:.46em;text-transform:uppercase;color:rgba(255,255,255,.72);margin:0 0 26px}
.hero h1{
  font-family:var(--serif);font-weight:300;color:#fff;
  font-size:clamp(52px,9vw,124px);line-height:.96;margin:0 0 28px;letter-spacing:.005em;
}
.hero__sub{font-size:clamp(15px,1.3vw,18px);line-height:1.85;color:rgba(255,255,255,.86);max-width:54ch;margin:0 auto 46px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* ---------- 9. PAGE HEAD (inner pages) ---------- */
.pagehead{padding:clamp(64px,8vw,120px) 0 clamp(32px,4vw,54px);text-align:center}
.crumb{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:26px;
}
.crumb a:hover{color:var(--brass)}

/* ---------- 10. MANIFESTO ---------- */
.manifesto blockquote{
  margin:0 0 30px;font-family:var(--serif);font-weight:300;
  font-size:clamp(26px,3.4vw,44px);line-height:1.28;color:var(--navy);
}
.manifesto p{font-size:clamp(15px,1.15vw,17px);line-height:1.9;color:var(--soft);max-width:60ch;margin:0 auto 34px}

/* ---------- 11. FOUNDER ---------- */
.founder__grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(32px,5vw,88px);align-items:center}
.founder__media{
  position:relative;margin:0;aspect-ratio:4/5;background:var(--ivory);
  border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.founder__media img{width:100%;height:100%;object-fit:cover}
.slot{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);text-align:center;padding:0 20px}
.founder__body p{font-size:15.5px;line-height:1.95;color:var(--soft);margin:0 0 1.2em;max-width:60ch}
.founder__quote{
  margin:34px 0 30px;padding-left:26px;border-left:1px solid var(--brass);
  font-family:var(--serif);font-size:clamp(21px,2.2vw,27px);line-height:1.45;color:var(--navy);font-style:italic;
}
.founder__quote cite{
  display:block;margin-top:16px;font-family:var(--sans);font-style:normal;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);
}
@media(max-width:900px){.founder__grid{grid-template-columns:1fr}}

/* ---------- 12. FEATURED PRODUCT ---------- */
.feat{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,84px);align-items:center}
.feat__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ivory);margin:0}
.feat__img img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.feat__badge{
  position:absolute;left:0;bottom:0;background:var(--navy);color:#fff;
  padding:12px 20px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;
}
.feat h2{margin-top:0}
.feat__desc{font-size:15.5px;line-height:1.9;color:var(--soft);margin:0 0 26px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.feat__price{font-size:26px;letter-spacing:.09em;color:var(--navy);margin:0 0 6px;font-variant-numeric:tabular-nums}
.feat__pricenote{font-size:12px;letter-spacing:.1em;color:var(--soft);margin:0 0 30px}
.feat__cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
@media(max-width:860px){.feat{grid-template-columns:1fr}}

.assure{list-style:none;margin:0;padding:0}
.assure li{position:relative;padding:11px 0 11px 26px;font-size:13.5px;color:var(--soft);border-bottom:1px solid var(--line-soft)}
.assure li::before{content:"";position:absolute;left:2px;top:20px;width:5px;height:5px;transform:rotate(45deg);background:var(--brass)}

/* ---------- 13. SWATCHES ---------- */
.swatch{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.swatch__item{text-align:center}
.swatch__chip{aspect-ratio:1/1;border:1px solid var(--line-soft)}
.swatch__chip--red{background:#C8102E}
.swatch__chip--navy{background:#16243F}
.swatch__chip--ivory{background:#EFEAE1}
.swatch__name{font-family:var(--serif);font-size:20px;color:var(--navy);margin:18px 0 4px}
.swatch__meta{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0}
@media(max-width:620px){.swatch{grid-template-columns:1fr}}

/* ---------- 14. THE FOUR FIGURES ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.fact{padding:clamp(30px,3.4vw,50px) clamp(16px,2vw,32px);border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact__num{
  font-family:var(--serif);font-size:clamp(40px,4.4vw,62px);line-height:1;
  color:var(--navy);margin:0 0 14px;font-variant-numeric:tabular-nums;
}
.fact__num span{
  display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--brass);margin-top:8px;
}
.fact h3{font-size:19px;font-weight:500;margin:0 0 8px}
.fact p{font-size:13.5px;line-height:1.75;color:var(--soft);margin:0}
@media(max-width:980px){.facts{grid-template-columns:repeat(2,1fr)}.fact:nth-child(2n){border-right:0}}
@media(max-width:560px){.facts{grid-template-columns:1fr}.fact{border-right:0}}

/* ---------- 15. THE HOUSE SERVICE ---------- */
.service{background:var(--navy);color:var(--ivory);padding-block:var(--sec)}
.service h2{color:var(--ivory)}
.service__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(247,244,239,.18)}
.service__item{
  padding:clamp(30px,3.4vw,50px) clamp(16px,2vw,32px);
  border-bottom:1px solid rgba(247,244,239,.18);border-right:1px solid rgba(247,244,239,.18);
}
.service__item:last-child{border-right:0}
.service__num{font-family:var(--serif);font-size:30px;line-height:1;color:var(--brass);margin:0 0 20px;letter-spacing:.06em}
.service__title{font-family:var(--serif);font-size:23px;font-weight:400;color:#fff;margin:0 0 6px}
.service__meta{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.service__desc{font-size:13.5px;line-height:1.8;color:rgba(247,244,239,.78);margin:0}
.service__foot{
  margin:clamp(40px,4.5vw,66px) auto 0;max-width:46ch;font-family:var(--serif);
  font-size:clamp(20px,2.2vw,27px);line-height:1.45;font-style:italic;color:#fff;text-align:center;
}
@media(max-width:980px){.service__grid{grid-template-columns:repeat(2,1fr)}.service__item:nth-child(2n){border-right:0}}
@media(max-width:560px){.service__grid{grid-template-columns:1fr}.service__item{border-right:0}}

/* ---------- 16. ONE PRICE ---------- */
.policy{background:var(--navy);color:var(--ivory);padding-block:var(--sec);text-align:center}
.policy h2{color:var(--ivory)}
.policy__amount{
  font-family:var(--serif);font-size:clamp(46px,6.4vw,86px);line-height:1;color:#fff;
  margin:8px 0 28px;font-variant-numeric:tabular-nums;
}
.policy__body{font-size:clamp(15px,1.15vw,17px);line-height:1.95;color:rgba(247,244,239,.82);max-width:58ch;margin:0 auto 40px}
.policy__list{list-style:none;margin:0 auto 40px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 0;max-width:780px}
.policy__list li{
  position:relative;padding:0 26px;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(247,244,239,.9);
}
.policy__list li+li::before{
  content:"";position:absolute;left:0;top:50%;width:3px;height:3px;
  transform:translateY(-50%) rotate(45deg);background:var(--brass);
}
.policy__sign{font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--brass);margin:0}

/* ---------- 17. GRIDS ---------- */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3.4vw,52px)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gap)}
@media(max-width:1180px){.grid5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.grid3,.grid4,.grid5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid2,.grid3,.grid4,.grid5{grid-template-columns:1fr}}

/* ---------- 18. CLIENT PORTRAITS ---------- */
.leader{text-align:center}
.leader__mono{
  aspect-ratio:4/5;background:var(--ivory);border:1px solid var(--line-soft);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  margin-bottom:24px;overflow:hidden;
}
.leader__mono img{width:100%;height:100%;object-fit:cover}
.leader__initials{font-family:var(--serif);font-size:46px;color:var(--brass);letter-spacing:.08em}
.leader__quote{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;color:var(--navy);margin:0 0 18px}
.leader__name{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--navy);margin:0 0 4px}
.leader__role{font-size:12.5px;color:var(--brass);margin:0}

/* ---------- 19. JOURNAL CARDS ---------- */
.post__media{
  aspect-ratio:16/10;background:var(--ivory);border:1px solid var(--line-soft);
  margin-bottom:22px;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.post__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.post:hover .post__media img{transform:scale(1.04)}
.post__date{font-size:10.5px;letter-spacing:.26em;color:var(--brass);margin:0 0 10px}
.post h3{font-size:23px;line-height:1.28;margin:0 0 10px}
.post p{font-size:14px;color:var(--soft);margin:0 0 16px}

/* ---------- 20. PROSE (article + policy pages) ---------- */
.prose{font-size:16.5px;line-height:1.95;color:var(--text)}
.prose>*+*{margin-top:1.5em}
.prose h2{font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:400;color:var(--navy);line-height:1.2;margin-top:2em}
.prose h3{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);font-weight:500;color:var(--navy);margin-top:1.8em}
.prose a{color:var(--navy);border-bottom:1px solid var(--brass)}
.prose a:hover{color:var(--brass)}
.prose blockquote{
  margin:2.2em 0;padding:0 0 0 26px;border-left:1px solid var(--brass);
  font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--navy);font-style:italic;
}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.5em}
.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}
.prose strong{font-weight:500;color:var(--navy)}

/* ---------- 21. TABLES ---------- */
.table-wrap{overflow-x:auto;margin-block:2em}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-soft)}
th{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--line);
}
td{color:var(--soft);font-variant-numeric:tabular-nums}
tbody tr:hover{background:var(--ivory)}

/* ---------- 22. STEPS ---------- */
.step{padding-top:26px;border-top:1px solid var(--line)}
.step__num{font-family:var(--serif);font-size:40px;line-height:1;color:var(--brass);margin:0 0 16px}
.step__title{font-family:var(--serif);font-size:21px;font-weight:500;color:var(--navy);margin:0 0 10px}
.step__desc{font-size:14px;line-height:1.8;color:var(--soft);margin:0}

/* ---------- 23. FORMS ---------- */
.form{max-width:640px;margin-inline:auto}
.field{margin-bottom:22px}
.field label{
  display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy);margin-bottom:8px;
}
input[type=text],input[type=email],input[type=tel],input[type=search],
textarea,select{
  width:100%;padding:15px 18px;background:#fff;border:1px solid var(--line);border-radius:0;
  font-family:var(--sans);font-size:15px;font-weight:300;color:var(--text);
  transition:border-color .35s var(--ease);
}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--navy)}
::placeholder{color:#9AA1AF}
textarea{min-height:130px;resize:vertical}
.form .btn{margin-top:8px}
.form__note{font-size:12.5px;color:var(--soft);margin-top:18px;font-style:italic}

/* ---------- 24. PRODUCT PAGE ---------- */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(34px,5vw,80px);align-items:start;padding-block:clamp(24px,3vw,46px)}
.pdp__gallery{display:grid;gap:14px}
.pdp__main{aspect-ratio:4/5;overflow:hidden;background:var(--ivory)}
.pdp__main img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.pdp__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pdp__thumb{aspect-ratio:4/5;background:var(--ivory);border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center}
.pdp__info{position:sticky;top:120px}
.pdp__title{font-size:clamp(30px,3.6vw,46px);font-weight:400;line-height:1.12;margin:0 0 18px}
.pdp__price{font-size:26px;letter-spacing:.09em;color:var(--navy);margin:0 0 6px;font-variant-numeric:tabular-nums}
.pdp__pricenote{font-size:12px;letter-spacing:.1em;color:var(--soft);margin:0 0 26px}
.pdp__short{
  font-size:15.5px;line-height:1.9;color:var(--soft);
  padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line);
}
.sizes{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.size{
  min-width:56px;height:48px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:#fff;font-size:13px;letter-spacing:.1em;
  color:var(--navy);cursor:pointer;transition:all .3s var(--ease);
}
.size:hover{border-color:var(--navy)}
.size[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.pdp__cta{display:grid;gap:12px;margin-bottom:8px}
@media(max-width:900px){.pdp{grid-template-columns:1fr}.pdp__info{position:static}}

/* Specification list */
.spec{list-style:none;margin:0;padding:0;font-size:14.5px}
.spec li{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.spec dt,.spec b{
  flex:0 0 38%;font-weight:400;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--navy);padding-top:3px;
}
.spec span{flex:1;color:var(--soft)}

/* ---------- 25. NEWSLETTER ---------- */
.news{background:var(--ivory);padding-block:var(--sec)}
.news__form{display:flex;gap:12px;max-width:520px;margin:32px auto 0}
.news__form input{flex:1}
.news__form .btn{flex:0 0 auto}
@media(max-width:560px){.news__form{flex-direction:column}.news__form .btn{width:100%}}

/* ---------- 26. FOOTER ---------- */
.foot{background:var(--navy);color:rgba(247,244,239,.78);padding:clamp(56px,7vw,100px) 0 32px;font-size:13.5px}
.foot__top{
  display:grid;grid-template-columns:1.1fr 2fr;gap:clamp(34px,5vw,76px);
  padding-bottom:clamp(38px,5vw,66px);border-bottom:1px solid rgba(247,244,239,.14);
}
.foot__lockup{display:inline-block;margin-bottom:22px}
.foot__lockup b{
  display:block;font-family:var(--serif);font-weight:400;font-size:26px;
  letter-spacing:.3em;text-transform:uppercase;color:#fff;line-height:1.1;
}
.foot__lockup i{
  display:block;margin-top:7px;font-style:normal;font-size:8.5px;
  letter-spacing:.42em;text-transform:uppercase;color:var(--brass);
}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.foot h4{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.28em;
  text-transform:uppercase;color:#fff;margin:0 0 18px;
}
.foot ul{list-style:none;margin:0;padding:0}
.foot li+li{margin-top:11px}
.foot a:hover{color:var(--brass)}
.foot address{font-style:normal;line-height:1.9;margin:0 0 14px}
.foot__social{
  display:flex;gap:26px;justify-content:center;padding:30px 0;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
}
.foot__bottom{text-align:center;border-top:1px solid rgba(247,244,239,.14);padding-top:26px}
.foot__policy{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.foot__copy{font-size:12px;color:rgba(247,244,239,.5);margin:0}
@media(max-width:860px){
  .foot__top{grid-template-columns:1fr;text-align:center}
  .foot__cols{grid-template-columns:1fr 1fr;text-align:left}
  .foot__logo{margin-inline:auto}
}
@media(max-width:520px){.foot__cols{grid-template-columns:1fr}.foot__social{flex-wrap:wrap;gap:16px}}

/* ---------- 27. CONCIERGE ---------- */
.concierge{
  position:fixed;right:22px;bottom:22px;z-index:80;
  display:inline-flex;align-items:center;gap:10px;padding:13px 20px;
  background:var(--navy);color:#fff;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  box-shadow:0 10px 34px rgba(12,21,38,.24);transition:background .4s var(--ease);
}
.concierge:hover{background:var(--brass)}
@media(max-width:560px){.concierge{right:14px;bottom:14px;padding:12px 14px}.concierge span:last-child{display:none}}

/* ---------- 28. REVEAL ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- 29. PRINT ---------- */
@media print{
  .bar,.head,.foot,.concierge,.news{display:none!important}
  body{color:#000}
}
