:root{--navy:#0d2b3e;--teal:#2e8b9a;--sand:#f5efe3;--ink:#1c2b33;--mist:#dbe8ea;--paper:#fffdf6}
*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font-family:Verdana,Geneva,sans-serif;font-size:17px;line-height:1.7}
a{color:var(--teal)}h1,h2,h3{font-family:"Palatino Linotype",Palatino,Georgia,serif;color:var(--navy);line-height:1.25}
h1{font-size:44px}h2{font-size:30px;border-bottom:2px solid var(--mist);padding-bottom:8px}h3{font-size:22px}
.site-header{background:var(--navy);color:#fff;padding:18px 5vw 0}.header-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;max-width:1160px;margin:0 auto}
.brand{font-family:"Palatino Linotype",Palatino,Georgia,serif;font-size:30px;color:#fff;text-decoration:none;letter-spacing:.5px}.brand-note{color:var(--mist);font-size:14px}
.cta-btn{display:inline-block;background:var(--teal);color:#fff!important;text-decoration:none;padding:12px 22px;border-radius:4px;font-weight:bold;border:0;cursor:pointer}
.header-cta{margin-left:auto}.main-nav{max-width:1160px;margin:14px auto 0;display:flex;gap:6px;flex-wrap:wrap;padding-bottom:14px}
.main-nav a{color:#fff;text-decoration:none;padding:8px 12px;display:inline-block}.has-menu{position:relative;display:inline-block}
.has-menu .menu{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:230px;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:20}
.has-menu:hover .menu,.has-menu:focus-within .menu{display:block}.has-menu .menu a{color:var(--navy);display:block;padding:10px 14px}
.nav-toggle{display:none}.hamburger{display:none;color:#fff;cursor:pointer;padding:10px 0 14px;font-weight:bold}
main{max-width:1160px;margin:0 auto;padding:28px 5vw 40px}.eyebrow{color:var(--teal);font-weight:bold;letter-spacing:1.5px;text-transform:uppercase;font-size:13px}
.hero{background:var(--paper);border:1px solid var(--mist);border-top:6px solid var(--teal);padding:28px;border-radius:6px}
.hero-svg{width:100%;height:auto;display:block;margin:18px 0 6px}.hero-caption{font-size:13px;color:#5a6b73}
.evidence-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.evidence-cell{background:var(--navy);color:#fff;padding:16px;border-radius:6px}
.evidence-cell .evidence-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#9fc8cf;display:block;margin-bottom:6px}.evidence-cell .evidence-fact{font-family:"Palatino Linotype",Palatino,Georgia,serif;font-size:17px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-card{background:var(--paper);border:1px solid var(--mist);border-top:4px solid var(--teal);padding:20px;border-radius:6px}
.category-card h3{margin-top:0}.card-cta{margin-top:12px}.section-panel{background:var(--paper);border:1px solid var(--mist);padding:24px;border-radius:6px;margin:24px 0}
.cta-panel{background:var(--navy);color:#fff;padding:28px;border-radius:6px;margin:24px 0}.cta-panel h2{color:#fff;border:0}.cta-panel p{color:#dbe8ea}
.checklist{list-style:none;padding:0}.checklist li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--mist)}.checklist li:before{content:"~";position:absolute;left:8px;color:var(--teal);font-weight:bold}
.inquiry-form{display:grid;gap:14px;max-width:640px}.inquiry-form label{font-weight:bold}.inquiry-form input,.inquiry-form textarea{width:100%;padding:11px;border:1px solid #b9c9cd;border-radius:4px;font:inherit;margin-top:6px}
.form-note{color:#44565e}.site-footer{background:var(--navy);color:#fff;padding:32px 5vw}.footer-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.site-footer h3{color:#fff}.site-footer a{color:#9fc8cf}.footer-cert{text-align:center;color:#9fc8cf;border-top:1px solid #2a4a5c;padding-top:16px;max-width:1160px;margin:24px auto 0}
.footer-motif svg{width:100%;height:40px}.blog-card{background:var(--paper);border:1px solid var(--mist);padding:20px;border-radius:6px;margin:16px 0}
@media(max-width:900px){h1{font-size:36px}h2{font-size:26px}.evidence-strip{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hamburger{display:block}.main-nav{display:none;flex-direction:column;max-height:70vh;overflow-y:auto}.nav-toggle:checked + .hamburger + .main-nav{display:flex}.has-menu .menu{position:static;box-shadow:none;background:#123a52}.has-menu .menu a{color:#fff}.header-cta{margin-left:0}}
@media(max-width:520px){h1{font-size:32px}body{font-size:16px}.evidence-strip{grid-template-columns:1fr}.brand{font-size:25px}}
a:focus-visible,.cta-btn:focus-visible,.hamburger:focus-visible{outline:3px solid #ffd97a;outline-offset:2px}
.lead{font-size:19px;line-height:1.8}.note-box{background:#eef6f7;border-left:5px solid var(--teal);padding:18px 22px;border-radius:0 6px 6px 0;margin:24px 0}
.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0}.fact-row{background:var(--paper);border:1px solid var(--mist);padding:16px 18px;border-radius:6px}
.fact-row .fact-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--teal);font-weight:bold;display:block;margin-bottom:4px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-list{list-style:none;padding:0}.guide-list li{padding:12px 0;border-bottom:1px solid var(--mist)}
.guide-list li a{font-family:"Palatino Linotype",Palatino,Georgia,serif;font-size:19px;color:var(--navy);text-decoration:none}
.small-caps{letter-spacing:1.2px;text-transform:uppercase;font-size:13px;color:var(--teal);font-weight:bold}
.divider{height:2px;background:linear-gradient(90deg,var(--teal),transparent);margin:28px 0;border:0}
blockquote{margin:24px 0;padding:18px 24px;background:var(--paper);border-left:5px solid var(--navy);font-family:"Palatino Linotype",Palatino,Georgia,serif;font-size:20px}
table.blueprint{width:100%;border-collapse:collapse;background:var(--paper)}table.blueprint th,table.blueprint td{border:1px solid var(--mist);padding:12px 14px;text-align:left}table.blueprint th{background:var(--navy);color:#fff}
@media(max-width:900px){.fact-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.lead{font-size:18px}}
@media print{body{background:#fff}.site-header,.site-footer,.cta-btn{display:none}main{max-width:none}}
.category-card:hover,.blog-card:hover{border-color:var(--teal);box-shadow:0 4px 18px rgba(13,43,62,.12)}
.cta-panel .cta-btn{margin:6px 8px 6px 0}.hero .cta-btn{margin:6px 8px 6px 0}
.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:var(--teal);outline:2px solid #bfe0e5}
.evidence-cell:nth-child(2){border-top:4px solid var(--teal)}.evidence-cell:nth-child(4){border-top:4px solid #e8c87a}
.main-nav .has-menu>a:after{content:" \25BE";font-size:12px}.site-footer .footer-col p{margin:8px 0}
.hero-svg{border:1px solid var(--mist);background:#fbf8ef;border-radius:4px}
.blog-card h3{margin-top:0}.blog-card h3 a{color:var(--navy);text-decoration:none}
.section-panel+.section-panel{margin-top:24px}.category-grid .category-card p:last-child{margin-bottom:0}
.cta-btn{transition:background-color .2s ease,transform .2s ease}.cta-btn:hover{background:#256f7d;transform:translateY(-1px)}.cta-btn:active{transform:translateY(0)}
.category-card:focus-within{border-color:var(--teal);box-shadow:0 4px 18px rgba(13,43,62,.12)}
.evidence-cell{transition:transform .2s ease,box-shadow .2s ease}.evidence-cell:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(13,43,62,.18)}
.hero-svg text{letter-spacing:.6px}
@media(prefers-reduced-motion:reduce){.cta-btn,.category-card,.evidence-cell{transition:none;transform:none}}

/* lang-switch (i18n) */
/* i18n language switcher (appended 2026-10-25; EN pages contain no such
   elements, so EN rendering is unchanged). Desktop: absolute at header
   right, aligned with the header row. Mobile (<=900px): static below the
   hamburger row so it stays visible without opening the menu. */
.site-header{position:relative}
.lang-switch{position:absolute;top:18px;right:5vw;z-index:30;color:#fff}
.lang-switch summary{cursor:pointer;list-style:none;padding:8px 12px;border:1px solid rgba(255,255,255,.55);border-radius:4px;font-weight:bold}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch ul{list-style:none;margin:8px 0 0;padding:8px 0;background:#0d2b3e;border:1px solid #2e8b9a;border-radius:4px;min-width:160px}
.lang-switch li a,.lang-switch li span.cur{display:block;padding:8px 14px;color:#fff;text-decoration:none}
.lang-switch li a:hover{background:#2e8b9a}
@media(max-width:900px){.lang-switch{position:static;margin:0 5vw 14px auto;width:max-content}.lang-switch ul{position:static}}
/* 2026-10-25 overlap fix (desktop only, EN-safe: :has(.lang-switch) never
   matches EN pages, which carry no switcher element):
   - .header-row is max-width 1160px centered, while the absolute switcher
     sits at right:5vw; below ~1431px viewport the switcher lands on top of
     the header CTA's tail (1024px: full 64px overlap, screenshot-proven).
     Reserve 88px at the row's right on switcher pages -> 24px gap at every
     desktop width (switcher width ~64px).
   - Pin the open dropdown panel to the switcher box's right edge so it
     cannot spill past the viewport at narrow desktop widths. */
@media(min-width:901px){
.site-header:has(.lang-switch) .header-row{padding-right:88px}
.lang-switch ul{position:absolute;right:0;top:100%}
}
