/* =========================================================
   VOG Migration — shared stylesheet
   Theme: travel-document / passport-stamp identity
   ========================================================= */
:root{
  --ink:#0F2340;
  --ink-2:#1B3762;
  --paper:#EEF1F0;
  --paper-2:#E4E9E6;
  --card:#FBFBF9;
  --stamp:#A6332F;
  --brass:#B6862F;
  --brass-light:#D9AE5C;
  --text-soft:#4C5A6B;
  --line: rgba(15,35,64,0.16);
  --radius: 2px;
  --maxw: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}
body{
  margin:0;
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:600;
  margin:0;
  line-height:1.08;
  letter-spacing:-0.01em;
}
p{line-height:1.65; color:var(--text-soft); margin:0;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--stamp);
  display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:''; width:24px; height:1px; background:var(--stamp);}
img{max-width:100%; display:block;}
button{font-family:inherit;}
ul{margin:0;}

/* ===== Topbar ===== */
.topbar{ background:var(--ink); color:#C9D3DE; font-family:'IBM Plex Mono', monospace; font-size:12px; }
.topbar .wrap{ display:flex; justify-content:space-between; align-items:center; padding:9px 32px; flex-wrap:wrap; gap:6px; }
.topbar a{color:#EDE3CC;}
.topbar .offices{letter-spacing:0.04em; color:#8FA0B4;}

/* ===== Header / nav ===== */
header.site{ background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.nav-row{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:var(--maxw); margin:0 auto; }
.logo{ display:flex; align-items:center; gap:11px; font-family:'Fraunces', serif; font-weight:700; font-size:21px; color:var(--ink); }
.logo .mark{ width:38px; height:38px; border-radius:50%; border:1.5px solid var(--ink); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono', monospace; font-size:11px; font-weight:500; position:relative; }
.logo .mark::after{ content:''; position:absolute; inset:4px; border:1px dashed var(--stamp); border-radius:50%; }
nav.main{display:flex; align-items:center; gap:30px;}
nav.main ul{list-style:none; display:flex; gap:28px; margin:0; padding:0; align-items:center;}
nav.main > ul > li{position:relative;}
nav.main > ul > li > a{ font-size:14.5px; font-weight:500; color:var(--ink); padding:10px 0; display:block; }
nav.main > ul > li:hover > a, nav.main > ul > li > a:focus-visible{color:var(--stamp);}
nav.main > ul > li.current > a{color:var(--stamp);}
.cta-btn{ background:var(--ink); color:#fff !important; font-weight:600; font-size:13.5px; padding:12px 22px; border-radius:2px; letter-spacing:0.02em; border:1px solid var(--ink); transition:background .18s ease, color .18s ease; display:inline-block; }
.cta-btn:hover{background:var(--stamp); border-color:var(--stamp);}
.cta-btn.ghost{background:transparent; color:var(--ink) !important; border:1px solid var(--ink);}
.cta-btn.ghost:hover{background:var(--ink); color:#fff !important;}

.dropdown{
  position:absolute; top:100%; left:0; background:var(--card);
  border:1px solid var(--line); min-width:250px; padding:10px 0;
  box-shadow:0 18px 38px rgba(15,35,64,0.12);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
  max-height:70vh; overflow-y:auto;
}
nav.main > ul > li:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown a{display:block; padding:9px 20px; font-size:14px; color:var(--ink);}
.dropdown a:hover{background:var(--paper); color:var(--stamp);}
.dropdown .grp{ font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:#9AA6B2; padding:10px 20px 4px; }

.burger{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.burger span{display:block; width:24px; height:2px; background:var(--ink); margin:5px 0;}

/* ===== Hero (home) ===== */
.hero{ position:relative; overflow:hidden; background:var(--ink); color:#fff; }
.hero .wrap{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; padding:96px 32px 100px; align-items:center; position:relative; z-index:2; }
.hero-eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--brass-light); display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.hero-eyebrow::before{content:''; width:24px; height:1px; background:var(--brass-light);}
.hero h1{ font-size:clamp(38px, 5vw, 60px); color:#fff; font-weight:600; }
.hero h1 em{ font-style:italic; color:var(--brass-light); font-weight:500; }
.hero p.lead{ color:#B9C4D2; font-size:17px; max-width:480px; margin-top:22px; }
.hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero-actions .cta-btn{background:var(--brass); border-color:var(--brass); color:#0F2340 !important;}
.hero-actions .cta-btn:hover{background:var(--brass-light); border-color:var(--brass-light);}
.hero-actions .cta-btn.ghost{border-color:rgba(255,255,255,0.4); color:#fff !important;}
.hero-actions .cta-btn.ghost:hover{background:rgba(255,255,255,0.1);}
.hero-stats{display:flex; gap:34px; margin-top:46px; flex-wrap:wrap;}
.hero-stats div{border-left:1px solid rgba(255,255,255,0.22); padding-left:16px;}
.hero-stats strong{font-family:'Fraunces', serif; font-size:26px; display:block; color:#fff; font-weight:600;}
.hero-stats span{font-size:12.5px; color:#93A2B4;}
.stamp-wrap{position:relative; display:flex; align-items:center; justify-content:center; height:100%;}
.passport-card{ background:var(--paper); color:var(--ink); width:100%; max-width:400px; border-radius:6px; padding:30px 30px 26px; position:relative; box-shadow:0 40px 80px rgba(0,0,0,0.35); transform:rotate(2deg); }
.passport-card .row{display:flex; justify-content:space-between; font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.08em; color:#7C8A9B; text-transform:uppercase; margin-bottom:18px;}
.passport-card h3{font-size:22px; margin-bottom:4px;}
.passport-card .sub{font-size:13px; color:var(--text-soft); margin-bottom:20px;}
.passport-card .field{display:flex; justify-content:space-between; padding:9px 0; border-top:1px dashed var(--line); font-size:13px;}
.passport-card .field span:first-child{color:#8B98A8; font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em;}
.stamp-seal{ position:absolute; right:-18px; bottom:-26px; width:128px; height:128px; border-radius:50%; border:2.5px solid var(--stamp); color:var(--stamp); display:flex; align-items:center; justify-content:center; text-align:center; transform:rotate(-14deg); background:rgba(255,255,255,0.94); font-family:'IBM Plex Mono', monospace; }
.stamp-seal::before{content:''; position:absolute; inset:8px; border:1px solid var(--stamp); border-radius:50%;}
.stamp-seal .txt{font-size:10px; letter-spacing:0.12em; font-weight:600; line-height:1.5; text-transform:uppercase;}
.hero-bg-line{ position:absolute; inset:0; z-index:1; opacity:0.5; background: radial-gradient(600px 300px at 85% 10%, rgba(182,134,47,0.16), transparent 60%), repeating-linear-gradient(115deg, rgba(255,255,255,0.025) 0 2px, transparent 2px 90px); }

/* ===== Inner page hero (all sub-pages) ===== */
.page-hero{ background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.page-hero .hero-bg-line{opacity:0.35;}
.page-hero .wrap{ position:relative; z-index:2; padding:64px 32px 58px; }
.breadcrumb{ font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:#93A2B4; letter-spacing:0.05em; margin-bottom:18px; }
.breadcrumb a{color:#C9D3DE;}
.breadcrumb a:hover{color:var(--brass-light);}
.page-hero h1{ font-size:clamp(32px,4.2vw,48px); color:#fff; max-width:760px; }
.page-hero .lead{ color:#B9C4D2; font-size:16.5px; max-width:600px; margin-top:16px; }
.page-hero .hero-actions{margin-top:28px;}

/* ===== Section shells ===== */
section{padding:104px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(28px, 3.4vw, 40px); margin-top:16px;}
.section-head p{margin-top:16px; font-size:16px;}
.center{text-align:center; margin-left:auto; margin-right:auto;}
.section-tight{padding:70px 0;}

/* ===== Overview / info-card split (visa pages) ===== */
.overview-grid{display:grid; grid-template-columns:1.3fr 0.9fr; gap:52px; align-items:start;}
.overview-grid .body p + p{margin-top:16px;}
.info-card{ background:var(--card); border:1px solid var(--line); border-radius:4px; padding:28px 26px; position:sticky; top:100px; }
.info-card h4{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass); margin-bottom:18px;}
.info-card .field{display:flex; justify-content:space-between; gap:10px; padding:11px 0; border-top:1px dashed var(--line); font-size:13.5px;}
.info-card .field:first-of-type{border-top:none;}
.info-card .field span:first-child{color:#8B98A8; font-size:12px;}
.info-card .field span:last-child{text-align:right; font-weight:500;}
.info-card .cta-btn{width:100%; text-align:center; margin-top:20px;}

/* ===== Check list ===== */
.check-list{list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px;}
.check-list li{display:flex; gap:12px; font-size:14.5px; color:var(--text-soft); align-items:flex-start;}
.check-list li::before{ content:'✓'; color:var(--stamp); font-weight:700; flex-shrink:0; width:20px; height:20px; border:1px solid var(--stamp); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; margin-top:1px; }

/* ===== Ticket-style service cards (home + offer index) ===== */
.services{background:var(--paper);}
.ticket-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;}
.ticket{ background:var(--card); border:1px solid var(--line); border-radius:4px; position:relative; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.ticket:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(15,35,64,0.1);}
.ticket-top{padding:26px 24px 20px;}
.ticket-route{ display:flex; justify-content:space-between; align-items:center; font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.08em; color:var(--brass); text-transform:uppercase; margin-bottom:16px; }
.ticket-top h3{font-size:20px; margin-bottom:10px;}
.ticket-top p{font-size:14px;}
.ticket-perf{ position:relative; height:0; border-top:1.5px dashed var(--line); margin:0 0; }
.ticket-perf::before, .ticket-perf::after{ content:''; position:absolute; top:-9px; width:18px; height:18px; background:var(--paper); border-radius:50%; border:1px solid var(--line); }
.ticket-perf::before{left:-9px;}
.ticket-perf::after{right:-9px;}
.ticket-bottom{ padding:16px 24px 20px; display:flex; justify-content:space-between; align-items:center; }
.ticket-bottom a{font-size:13px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:6px;}
.ticket-bottom a:hover{color:var(--stamp);}
.ticket-code{font-family:'IBM Plex Mono', monospace; font-size:11px; color:#9AA6B2;}

/* ===== Offer / consultation strip ===== */
.offer{background:var(--ink); color:#fff;}
.offer .section-head p{color:#B9C4D2;}
.offer .eyebrow{color:var(--brass-light);}
.offer .eyebrow::before{background:var(--brass-light);}
.offer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.14);}
.offer-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.offer-cell{background:var(--ink); padding:30px 24px; min-height:150px;}
.offer-cell .num{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--brass-light); margin-bottom:14px; display:block;}
.offer-cell h4{font-family:'Inter'; font-weight:600; font-size:15.5px; color:#fff; margin-bottom:8px;}
.offer-cell p{font-size:13.5px; color:#9BA9BA;}

/* light variant of offer grid used on white sections */
.offer-grid.light{background:var(--line); border:1px solid var(--line);}
.offer-grid.light .offer-cell{background:var(--card); }
.offer-grid.light .offer-cell h4{color:var(--ink);}
.offer-grid.light .offer-cell .num{color:var(--stamp);}
.offer-grid.light .offer-cell p{color:var(--text-soft);}

/* ===== Process tabs / steps ===== */
.process{background:var(--paper-2);}
.process-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start;}
.process-photo{ border-radius:4px; overflow:hidden; border:1px solid var(--line); position:relative; aspect-ratio:4/5; background:linear-gradient(160deg, var(--ink-2), var(--ink)); }
.process-photo .cap{ position:absolute; bottom:0; left:0; right:0; padding:22px; background:linear-gradient(to top, rgba(15,35,64,0.9), transparent); color:#fff; font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.06em; }
.process-steps{display:flex; flex-direction:column;}
.p-step{ padding:28px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:60px 1fr; gap:20px; }
.p-step:last-child{border-bottom:1px solid var(--line);}
.p-step .idx{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--stamp); padding-top:4px;}
.p-step h3{font-size:20px; margin-bottom:10px;}
.p-step p{font-size:14.5px;}
.process-steps.full{width:100%;}

/* ===== Testimonials ===== */
.testimonials{background:var(--ink); color:#fff;}
.testimonials .eyebrow{color:var(--brass-light);}
.testimonials .eyebrow::before{background:var(--brass-light);}
.testimonials .section-head h2{color:#fff;}
.t-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.t-card{ background:rgba(255,255,255,0.045); border:1px solid rgba(255,255,255,0.12); border-radius:4px; padding:30px 28px; }
.t-card .quote-mark{font-family:'Fraunces', serif; font-size:44px; color:var(--brass-light); line-height:0.6; display:block; margin-bottom:14px;}
.t-card p.body{color:#C7D0DB; font-size:14.5px; margin-bottom:20px;}
.t-foot{display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,0.12); padding-top:16px;}
.t-foot strong{font-family:'Inter'; font-weight:600; font-size:14px; color:#fff;}
.t-foot span{font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--brass-light); text-transform:uppercase; letter-spacing:0.06em;}

/* ===== Locations / route ===== */
.locations{background:var(--paper);}
.route-line{position:relative; margin-top:70px; padding:0 10px;}
.route-track{position:absolute; top:11px; left:0; right:0; height:2px; background:var(--line);}
.route-stops{display:flex; justify-content:space-between; position:relative;}
.stop{display:flex; flex-direction:column; align-items:flex-start; width:19%;}
.stop .dot{width:24px; height:24px; border-radius:50%; background:var(--paper); border:2px solid var(--stamp); margin-bottom:18px; position:relative; z-index:2;}
.stop:nth-child(odd) .dot{border-color:var(--brass);}
.stop h4{font-size:16px; margin-bottom:6px;}
.stop p{font-size:12.5px;}

/* office cards used on location.php */
.office-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.office-card{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:26px 24px;}
.office-card .tag{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--brass); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; display:block;}
.office-card h3{font-size:19px; margin-bottom:10px;}
.office-card p{font-size:13.5px; margin-bottom:6px;}
.office-card a{font-size:13px; font-weight:600; color:var(--stamp); display:inline-block; margin-top:10px;}

/* ===== News ===== */
.news{background:var(--paper-2);}
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.news-card{background:var(--card); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.news-thumb{aspect-ratio:16/10; background:linear-gradient(135deg, var(--ink-2), var(--ink)); position:relative;}
.news-thumb span{position:absolute; bottom:12px; left:14px; font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--brass-light); text-transform:uppercase; letter-spacing:0.08em;}
.news-body{padding:22px 22px 24px;}
.news-body .meta{font-family:'IBM Plex Mono', monospace; font-size:11px; color:#9AA6B2; margin-bottom:10px;}
.news-body h3{font-size:17px; margin-bottom:10px;}
.news-body p{font-size:13.5px;}
.news-body a.readmore{display:inline-block; margin-top:14px; font-size:13px; font-weight:600; color:var(--stamp);}

/* ===== FAQ accordion ===== */
.faq-cat{margin-bottom:44px;}
.faq-cat h3{font-size:20px; margin-bottom:18px; color:var(--ink);}
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{ width:100%; text-align:left; background:none; border:none; padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; font-family:'Inter'; font-weight:600; font-size:15.5px; color:var(--ink); }
.faq-q .plus{font-family:'IBM Plex Mono', monospace; font-size:18px; color:var(--stamp); transition:transform .2s ease; flex-shrink:0;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 0 20px; font-size:14.5px; max-width:760px;}

/* ===== Forms (book appointment / contact) ===== */
.form-card{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:40px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px;}
.form-field{display:flex; flex-direction:column; gap:8px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:#8B98A8;}
.form-field input, .form-field select, .form-field textarea{
  font-family:'Inter'; font-size:14.5px; padding:12px 14px; border:1px solid var(--line); border-radius:2px;
  background:#fff; color:var(--ink);
}
.form-field textarea{resize:vertical; min-height:110px;}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:2px solid var(--stamp); outline-offset:1px; border-color:var(--stamp);}
.form-note{font-size:12.5px; color:#8B98A8; margin-top:16px;}
.form-success{ background:#F3F8F1; border:1px solid #BFDDB8; color:#2C5E29; padding:16px 20px; border-radius:3px; font-size:14px; margin-bottom:24px; }

/* ===== CTA band ===== */
.cta-band{background:var(--ink); color:#fff; position:relative; overflow:hidden;}
.cta-band .wrap{padding:76px 32px; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;}
.cta-band h2{color:#fff; font-size:clamp(26px,3vw,36px); max-width:560px;}
.cta-band .cta-actions{display:flex; gap:14px; flex-wrap:wrap;}
.cta-band .cta-actions .cta-btn{background:var(--brass); border-color:var(--brass); color:#0F2340 !important;}
.cta-band .cta-actions .cta-btn.ghost{background:transparent; border-color:rgba(255,255,255,0.4); color:#fff !important;}

/* ===== Footer ===== */
footer{background:#0B1B32; color:#93A2B4; padding:70px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,0.08);}
.foot-logo{display:flex; align-items:center; gap:10px; font-family:'Fraunces', serif; font-weight:700; font-size:19px; color:#fff; margin-bottom:16px;}
.foot-logo .mark{width:32px;height:32px;border:1.5px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:9px;}
.foot-col h5{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:#5D6E82; margin-bottom:18px;}
.foot-col ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px;}
.foot-col a{font-size:14px; color:#B7C1CD;}
.foot-col a:hover{color:var(--brass-light);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12.5px; flex-wrap:wrap; gap:10px;}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .hero .wrap{grid-template-columns:1fr; padding-top:52px;}
  .stamp-wrap{order:-1; margin-bottom:10px;}
  .passport-card{max-width:360px;}
  .ticket-grid, .offer-grid, .t-grid, .news-grid, .office-grid{grid-template-columns:repeat(2,1fr);}
  .offer-grid.cols-3{grid-template-columns:repeat(2,1fr);}
  .process-grid, .overview-grid{grid-template-columns:1fr;}
  .info-card{position:static;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .route-stops{flex-wrap:wrap; gap:30px 0;}
  .stop{width:45%;}
  .route-track{display:none;}
  .check-list{grid-template-columns:1fr;}
}
@media (max-width: 700px){
  nav.main{display:none;}
  .burger{display:block;}
  .topbar .offices{display:none;}
  .ticket-grid, .offer-grid, .t-grid, .news-grid, .office-grid, .offer-grid.cols-3{grid-template-columns:1fr;}
  .hero .wrap{padding:56px 24px 70px;}
  section{padding:70px 0;}
  .wrap{padding:0 20px;}
  .cta-band .wrap{padding:56px 24px; flex-direction:column; align-items:flex-start;}
  .form-row{grid-template-columns:1fr;}
  .page-hero .wrap{padding:44px 24px 40px;}
}

nav.main.open{ display:block; position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); padding:10px 24px 24px; max-height:80vh; overflow-y:auto; }
nav.main.open ul{flex-direction:column; align-items:flex-start; gap:4px;}
nav.main.open .dropdown{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; display:none; padding-left:12px; max-height:none;}
nav.main.open li.expanded .dropdown{display:block;}

a:focus-visible, button:focus-visible{outline:2px solid var(--stamp); outline-offset:2px;}
