/* Global page layout: header, hero, page headers, footer and broad structural pieces. */

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .4s var(--ease)}
.site-header.scrolled{box-shadow:0 6px 24px -18px rgba(14,37,64,.5)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:11px;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.32rem;color:var(--navy);letter-spacing:.01em;line-height:1}
.brand>span{display:flex;flex-direction:column;white-space:nowrap}
.brand{margin-right:10px}
.nav-links{margin-left:auto}
.nav-cta{margin-left:28px}
.brand .mark{width:44px;height:44px;flex:0 0 44px;object-fit:contain}
.brand small{display:block;font-family:'Inter',sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-top:-2px}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:.92rem;font-weight:500;color:var(--navy);position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--gold);transition:width .35s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .btn{white-space:nowrap}
.nav-phone{font-weight:600;font-size:.9rem;color:var(--navy);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.nav-phone:hover{color:var(--gold-deep)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:0}
.burger span{display:block;height:2px;width:24px;background:var(--navy);margin:0 auto;transition:.3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile drawer */
.drawer{position:fixed;inset:78px 0 0;background:var(--white);transform:translateX(100%);transition:transform .42s var(--ease);z-index:55;padding:24px 28px;overflow-y:auto;display:none}
.drawer.open{transform:translateX(0)}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer li{border-bottom:1px solid var(--line)}
.drawer a{display:block;padding:16px 4px;font-size:1.05rem;font-weight:500}
.drawer .btn{width:100%;margin-top:20px}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;min-height:clamp(560px,78vh,760px);padding:60px 0}
.hero h1{color:#fff;margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p{color:#c2cfdf;font-size:1.18rem;max-width:48ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-meta{display:flex;gap:34px;margin-top:42px;flex-wrap:wrap}
.hero-meta .num{font-family:'Cormorant Garamond',serif;font-size:2.3rem;color:var(--gold);line-height:1}
.hero-meta .lbl{font-size:.78rem;letter-spacing:.04em;color:#9fb2c8;margin-top:4px}
.hero-visual{position:relative}
/* gold sightline frame — the signature */
.frame{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);width:100%}
.frame::after{content:"";position:absolute;inset:14px;border:1px solid var(--gold);pointer-events:none;border-radius:2px;z-index:2}
.hero-visual .frame img{width:100%;height:clamp(420px,56vh,580px);object-fit:cover}
.hero-tag{position:absolute;bottom:26px;left:26px;right:26px;z-index:3;background:rgba(14,37,64,.82);backdrop-filter:blur(6px);border:1px solid rgba(198,169,105,.4);padding:14px 18px;border-radius:3px;display:flex;align-items:center;gap:12px}
.hero-tag .dot{width:9px;height:9px;border-radius:50%;background:#5fcf8e;box-shadow:0 0 0 4px rgba(95,207,142,.2)}
.hero-tag span{font-size:.85rem;color:#dbe5f0}

/* ---------- Trust bar ---------- */
.trust{border-bottom:1px solid var(--line);background:var(--white)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:34px 0;align-items:center;justify-items:center}
.trust-item{display:flex;align-items:center;gap:14px}
.trust-item svg{flex:0 0 30px;color:var(--gold-deep)}
.trust-item h4{font-family:'Inter',sans-serif;font-size:.95rem;font-weight:700;margin:0}
.trust-item p{margin:0;font-size:.82rem;color:var(--ink)}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-size:.82rem;color:var(--ink);padding:18px 0}
.crumbs a:hover{color:var(--gold-deep)}
.crumbs span{margin:0 8px;color:var(--gold)}

/* ---------- Page hero (interior) ---------- */
.phero{background:var(--navy);color:#fff;padding:clamp(54px,8vw,90px) 0}
.phero h1{color:#fff;max-width:18ch;margin-bottom:18px}
.phero p{color:#c2cfdf;max-width:60ch;font-size:1.15rem;margin:0}
.phero .crumbs{color:#9fb2c8;padding-top:0;padding-bottom:22px}
.phero .crumbs a{color:#c2cfdf}

/* ---------- Stat strip ---------- */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stat-strip .num{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4vw,3.4rem);color:var(--navy);line-height:1}
.bg-navy .stat-strip .num{color:var(--gold)}
.stat-strip .lbl{font-size:.82rem;color:var(--ink);letter-spacing:.04em;margin-top:6px}
.bg-navy .stat-strip .lbl{color:#9fb2c8}

/* ---------- Footer ---------- */
.footer{background:var(--navy);color:#aebfd2;padding:70px 0 30px;font-size:.92rem}
.footer h4{font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:700}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer a{color:#aebfd2;display:block;padding:5px 0;transition:color .3s var(--ease)}
.footer a:hover{color:var(--gold)}
.footer .brand{color:#fff;margin-bottom:16px}
.footer .brand small{color:var(--gold)}
.footer p{color:#8ea3bd;max-width:34ch}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:26px;flex-wrap:wrap;font-size:.82rem;color:#7f94ae}
.footer-bottom a{display:inline;color:#7f94ae}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-cookie-settings{display:inline;background:none;border:0;color:#7f94ae;font:inherit;padding:5px 0;cursor:pointer}
.footer-cookie-settings:hover{color:var(--gold)}
