/* Praetos - shared identity.
   Single source of truth for design tokens, typography, header, nav, footer
   and the primary call to action. Every page links this file.
   Page-specific layout lives with its page. Never redeclare a token here elsewhere. */

/* Fonts, self-hosted from public/fonts/ since 26 Sep 2026: no visitor request goes to
   Google. The files are Google Fonts' own Latin variable files, so rendering is unchanged,
   and the weights match what the site requested from Google. OFL licences sit beside them.
   Each page preloads fraunces.woff2 and hanken-grotesk.woff2; _headers caches /fonts/* for
   a year, so a replaced font needs a new filename. check.sh [13] keeps this honest. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/fraunces.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/fraunces-italic.woff2) format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/hanken-grotesk.woff2) format('woff2')}

:root{
  --ink:#2A1B33; --bone:#F1EBDD; --gold:#AD8E5A; --tyrian:#5E2A4E;
  --pewter:#8B8089; --bone-shade:#D8CDB2; --stone:#87796A; --text:#3E3445;
  --paper-hover:#efe7d6;
  --display:'Fraunces',Georgia,serif;
  --sans:'Hanken Grotesk',-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bone);color:var(--text);font-weight:400;font-size:1.04rem;line-height:1.72;-webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.6rem}
a{color:inherit;text-decoration:none}
.label{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);display:inline-block;position:relative;padding-top:1rem}
.label::before{content:"";position:absolute;top:0;left:0;width:34px;height:1px;background:var(--gold)}
h1,h2,h3{font-family:var(--display);font-weight:500;color:var(--ink);line-height:1.1}
.gate-mark{display:block}
/* The gate takes currentColor. The plinth is gold, except on gold where it is
   bone; set --praetos-plinth on the placement to override. See CLAUDE.md. */
.on-gold{--praetos-plinth:var(--bone)}
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(42,27,51,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(173,142,90,.28)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:12px;color:var(--bone)}
.brand .gate{width:34px;height:34px;display:block;color:var(--bone)}
.brand .name{font-family:var(--sans);font-weight:600;letter-spacing:.26em;font-size:.98rem}
nav{display:flex;align-items:center;gap:2rem}
nav a{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--bone);opacity:.82;text-transform:uppercase}
nav a:hover{opacity:1;color:#fff}
nav a.enquire{letter-spacing:.14em;font-size:.74rem;border:1px solid rgba(173,142,90,.55);padding:.55rem 1.1rem;color:var(--gold);opacity:1}
nav a.enquire:hover{background:var(--gold);color:var(--ink)}
@media(max-width:780px){nav a:not(.enquire){display:none}}
.cta{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.95rem 1.8rem;display:inline-block;transition:background .2s}
.cta:hover{background:#c1a06b}
footer{background:var(--ink);color:var(--bone-shade);text-align:center;padding:3.5rem 0}
footer .gate{width:34px;height:34px;margin:0 auto 1rem;display:block;color:var(--bone)}
footer .name{font-family:var(--sans);font-weight:600;letter-spacing:.28em;color:var(--bone);font-size:.98rem}
footer .desc{font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin:.6rem 0 1.4rem}
footer .copy{font-size:.8rem;color:var(--stone)}
footer .copy a{color:var(--bone-shade)}
footer .copy a:hover{color:var(--gold)}
