:root{
  --ink:#14213d; --ink-2:#22325a; --paper:#f7f3ec; --paper-2:#efe8dc;
  --gold:#b8893b; --muted:#5b6475; --line:rgba(20,33,61,.14);
  --serif:"Libre Caslon Text",Georgia,serif; --sans:"Lato",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}
h1 em,h2 em{color:var(--gold);font-style:italic}
svg{flex-shrink:0}

/* Header */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:16px clamp(16px,5vw,64px);background:rgba(247,243,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:18px}
.brand small{display:block;font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:18px}
.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:700}
.desktop-nav a:hover{color:var(--gold)}
.header-call{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700;font-size:14px}
.header-call:hover{background:var(--gold)}
.menu-button{display:none;margin-left:auto;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px}
.mobile-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 16px 16px}
.mobile-nav[hidden]{display:none}
.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}

/* Shared */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.eyebrow>span{display:inline-block;width:28px;height:2px;background:var(--gold)}
.section-rail{padding:clamp(64px,9vw,120px) clamp(16px,5vw,64px);border-top:1px solid var(--line)}
section h2{font-size:clamp(34px,4.6vw,56px);margin-bottom:20px}
.button{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font-weight:900;font-size:15px;transition:.2s}
.button.primary{background:var(--gold);color:#fff}
.button.primary:hover{background:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:15px;border-bottom:2px solid var(--gold);padding-bottom:3px}
.text-link:hover{color:var(--gold)}
.edge-label{position:absolute;right:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right center;font-size:11px;letter-spacing:.25em;opacity:.5;white-space:nowrap}

/* Hero */
.hero{position:relative;min-height:calc(100vh - 73px);display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,8vw,110px) clamp(16px,5vw,64px) 48px;background:var(--ink);color:var(--paper);overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -10% -40% auto;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(184,137,59,.25),transparent 65%);pointer-events:none}
.hero-content{max-width:820px;position:relative;z-index:1}
.hero h1{font-size:clamp(46px,8vw,104px);margin-bottom:26px}
.hero-content>p{font-size:clamp(17px,1.8vw,21px);max-width:600px;opacity:.85;margin-bottom:36px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px}
.hero .text-link{color:var(--paper)}
.hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:72px;position:relative;z-index:1}
.hero-note{display:flex;gap:16px;align-items:flex-start;max-width:340px;font-size:15px;opacity:.9}
.small-rule{display:block;width:36px;height:2px;margin-top:11px;background:var(--gold);flex-shrink:0}
.hero-phone{display:flex;align-items:center;gap:14px;padding:16px 22px;border:1px solid rgba(247,243,236,.25);border-radius:14px}
.hero-phone:hover{border-color:var(--gold)}
.hero-phone span{font-size:11px;letter-spacing:.18em;opacity:.8}
.hero-phone strong{display:block;font-size:20px;letter-spacing:0;opacity:1}
.hero-index{position:absolute;left:clamp(16px,5vw,64px);bottom:16px;font-size:11px;letter-spacing:.22em;opacity:.45}

/* Information */
.section-heading{max-width:760px;margin-bottom:48px}
.information-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.information-grid figure img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
figcaption{margin-top:14px;font-family:var(--serif);font-style:italic;color:var(--muted)}
figcaption span{display:block;font-family:var(--sans);font-style:normal;font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--gold);margin-bottom:4px}
.information-copy p{margin-bottom:18px;color:var(--muted);font-size:17px}
.information-copy .lead{font-family:var(--serif);font-size:clamp(20px,2vw,25px);color:var(--ink);line-height:1.45}
.notice{display:flex;gap:14px;padding:20px 22px;margin:28px 0;border-left:3px solid var(--gold);background:var(--paper-2);border-radius:0 12px 12px 0}
.notice svg{color:var(--gold);margin-top:3px}
.notice p{margin:0;font-size:15px}
.notice strong{display:block;color:var(--ink);margin-bottom:4px}

/* Preparation */
.preparation{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,6vw,96px);background:var(--paper-2)}
.preparation-intro p{color:var(--muted);font-size:17px;max-width:440px}
.step{display:flex;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.step:first-child{padding-top:0}
.step>span{font-family:var(--serif);font-size:36px;color:var(--gold);line-height:1;min-width:52px}
.step h3{font-size:24px;margin-bottom:8px}
.step p{color:var(--muted)}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(32px,6vw,96px)}
.faq-intro p{color:var(--muted);font-size:17px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--serif);font-size:clamp(18px,1.8vw,22px)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{color:var(--gold);transition:transform .25s}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list details p{padding:0 40px 26px 0;color:var(--muted)}

/* Contact */
.contact{position:relative;padding:clamp(64px,9vw,120px) clamp(16px,5vw,64px);background:var(--ink);color:var(--paper);overflow:hidden}
.contact-heading{max-width:760px;margin-bottom:48px}
.contact-heading p{opacity:.85;font-size:18px;max-width:560px}
.contact-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:960px}
.contact-links a{display:flex;align-items:center;gap:18px;padding:26px 28px;border:1px solid rgba(247,243,236,.22);border-radius:18px;transition:.2s}
.contact-links a:hover{background:var(--gold);border-color:var(--gold)}
.contact-links a span{flex:1;font-size:11px;letter-spacing:.18em;opacity:.85;min-width:0}
.contact-links a strong{display:block;font-size:clamp(17px,2vw,22px);letter-spacing:0;margin-top:4px;opacity:1;overflow-wrap:anywhere}
.contact-footnote{margin-top:28px;font-size:14px;opacity:.65}

/* Social directory */
.social-directory{padding:clamp(56px,8vw,100px) clamp(16px,5vw,64px);background:var(--paper)}
.social-card{display:grid;grid-template-columns:1.3fr 1fr;max-width:1180px;margin:0 auto;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -30px rgba(20,33,61,.35)}
.social-panel{padding:clamp(28px,4vw,52px)}
.social-brandline{display:flex;align-items:center;gap:20px;margin-bottom:32px}
.social-scales{color:var(--gold)}
.social-divider{width:2px;align-self:stretch;background:var(--gold)}
.social-title{font-size:clamp(24px,2.6vw,32px);margin:0}
.social-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.social-item{display:flex;align-items:center;gap:14px}
.social-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;flex-shrink:0;transition:.2s}
.social-icon:hover{background:var(--gold)}
.social-icon.is-instagram{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888)}
.social-icon.is-tiktok{background:#000}
.social-icon.is-facebook{background:#1877f2}
.social-icon.is-telegram{background:#229ed9}
.social-text{font-size:15px;min-width:0;overflow-wrap:anywhere}
.social-text a:hover{color:var(--gold);text-decoration:underline}
.social-label{font-weight:900}
.social-photo{margin:0;min-height:100%}
.social-photo img{width:100%;height:100%;object-fit:cover}

/* Footer */
.site-footer{padding:56px clamp(16px,5vw,64px) 32px;background:#0e1830;color:var(--paper)}
.footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-bottom:32px;border-bottom:1px solid rgba(247,243,236,.15)}
.site-footer .brand small{color:rgba(247,243,236,.6)}
.site-footer .brand-mark{background:var(--gold)}
.footer-top>p{font-family:var(--serif);font-style:italic;opacity:.8}
.footer-top nav{display:flex;flex-wrap:wrap;gap:22px;font-size:14px;font-weight:700}
.footer-top nav a:hover{color:var(--gold)}
.legal-note{padding:28px 0;font-size:13px;opacity:.6;max-width:900px}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;opacity:.7}

/* Responsive */
@media (max-width:900px){
  .desktop-nav,.header-call{display:none}
  .menu-button{display:block}
  .information-grid,.preparation,.faq,.social-card{grid-template-columns:1fr}
  .social-photo{max-height:420px}
  .edge-label{display:none}
}
@media (max-width:600px){
  .contact-links{grid-template-columns:1fr}
  .contact-links a{padding:20px}
  .hero-bottom{margin-top:48px}
  .hero-phone{width:100%}
  .faq-list details p{padding-right:0}
}
