/* ===== Design tokens ===== */
:root{
  --brand:#10243b; --brand-600:#16324f; --brand-700:#0b1b2d; --brand-50:#eef3f8;
  --accent:#c8471f; --accent-600:#a93a18; --accent-50:#fdf0eb;
  --ink:#16202b; --ink-2:#3f4d5c; --ink-3:#6b7986; --line:#dde3ea; --line-2:#eef1f5;
  --bg:#ffffff; --bg-2:#f6f8fa; --bg-3:#eef2f6; --white:#fff;
  --ok:#1b7f4b; --warn:#b7791f;
  --radius:10px; --radius-sm:6px; --radius-lg:18px;
  --shadow:0 1px 2px rgba(16,36,59,.06),0 8px 24px rgba(16,36,59,.08);
  --shadow-lg:0 12px 40px rgba(16,36,59,.16);
  --maxw:1240px; --gutter:20px;
  --step--1:clamp(.82rem,.8rem + .1vw,.88rem);
  --step-0:clamp(.96rem,.93rem + .16vw,1.05rem);
  --step-1:clamp(1.12rem,1.05rem + .35vw,1.3rem);
  --step-2:clamp(1.35rem,1.2rem + .7vw,1.75rem);
  --step-3:clamp(1.7rem,1.4rem + 1.3vw,2.4rem);
  --step-4:clamp(2.1rem,1.6rem + 2.3vw,3.4rem);
  --lh:1.65; --lh-tight:1.2;
  --space-1:.35rem; --space-2:.7rem; --space-3:1.1rem; --space-4:1.7rem;
  --space-5:2.6rem; --space-6:4rem; --space-7:6rem;
  --ff:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ff-head:var(--ff);
  --dur:.22s; --ease:cubic-bezier(.4,0,.2,1);
  --header-h:68px;
}
html[lang="ja"]{--ff:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}
html[lang="ko"]{--ff:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif}
html[lang="ar"]{--ff:system-ui,-apple-system,"Segoe UI","Tahoma","Arial",sans-serif;--lh:1.85}
html[lang="ru"]{--ff:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--ff);font-size:var(--step-0);line-height:var(--lh);
  color:var(--ink);background:var(--bg);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-600);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--ff-head);line-height:var(--lh-tight);color:var(--brand-700);
  margin:0 0 var(--space-3);font-weight:700;letter-spacing:-.01em}
h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}
p{margin:0 0 var(--space-3)}
ul,ol{margin:0 0 var(--space-3);padding-inline-start:1.3em}
li{margin-bottom:var(--space-1)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}
.skip{position:absolute;inset-inline-start:-9999px;top:0;background:var(--accent);color:#fff;padding:.7rem 1.1rem;z-index:999}
.skip:focus{inset-inline-start:0}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Header ===== */
.topbar{background:var(--brand-700);color:#cfdbe8;font-size:var(--step--1)}
.topbar .wrap{display:flex;gap:var(--space-4);align-items:center;justify-content:flex-end;min-height:38px;flex-wrap:wrap}
.topbar a{color:#e7eef6}
.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:var(--space-4);min-height:var(--header-h)}
.logo{display:flex;align-items:center;flex:0 0 auto}
.logo img{height:44px;width:auto}
.nav{display:flex;align-items:center;gap:var(--space-4);margin-inline-start:auto;
  flex-wrap:nowrap;min-width:0;overflow:visible}
.hdr .wrap{min-width:0}
.nav>a,.nav>.has-mega>button{min-width:0}
.nav>a,.nav>.has-mega>button{font-size:var(--step-0);font-weight:600;color:var(--ink);
  background:none;border:0;font-family:inherit;cursor:pointer;padding:.5rem 0;white-space:nowrap;
  display:inline-flex;align-items:center;gap:.3rem}
.nav>a:hover,.nav>.has-mega>button:hover{color:var(--accent);text-decoration:none}
.has-mega{position:static}
.mega{position:absolute;inset-inline:0;top:100%;background:#fff;border-top:1px solid var(--line);
  box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility var(--dur);
  max-height:min(72vh,640px);overflow:auto;z-index:99}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:var(--space-4);
  padding:var(--space-5) 0}
.mega-col h4{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:var(--space-2)}
.mega-col a{display:block;padding:.3rem 0;color:var(--ink);font-size:var(--step-0);overflow-wrap:anywhere}
.mega-col a:hover{color:var(--accent)}
.mega-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);
  border-top:1px solid var(--line-2);padding:var(--space-4) 0}
.mega-feat a{display:block;color:var(--ink);font-size:var(--step--1);font-weight:600}
.mega-feat img{border-radius:var(--radius-sm);aspect-ratio:4/3;object-fit:cover;margin-bottom:.45rem;background:var(--bg-3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.72rem 1.35rem;border-radius:var(--radius);font-weight:700;font-size:var(--step-0);
  border:2px solid transparent;cursor:pointer;transition:all var(--dur) var(--ease);text-align:center}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-600);color:#fff}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-ghost:hover{background:var(--brand);color:#fff}
.btn-light{background:#fff;color:var(--brand-700)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.btn-outline-light:hover{background:#fff;color:var(--brand-700)}
.nav-cta{margin-inline-start:var(--space-2)}
.burger{display:none;margin-inline-start:auto;background:none;border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:.5rem .6rem;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0}

/* ===== Language switcher ===== */
.langsw{position:relative}
.langsw>button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.35rem .6rem;font:inherit;font-size:var(--step--1);cursor:pointer;color:inherit;
  display:inline-flex;align-items:center;gap:.35rem}
.langsw-list{position:absolute;inset-inline-end:0;top:calc(100% + 6px);background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  min-width:190px;padding:.4rem;opacity:0;visibility:hidden;transform:translateY(-5px);
  transition:all var(--dur) var(--ease);z-index:120}
.langsw:hover .langsw-list,.langsw:focus-within .langsw-list{opacity:1;visibility:visible;transform:none}
.langsw-list a{display:flex;justify-content:space-between;gap:.8rem;padding:.45rem .6rem;
  border-radius:var(--radius-sm);color:var(--ink);font-size:var(--step--1)}
.langsw-list a:hover{background:var(--brand-50);text-decoration:none}
.langsw-list a[aria-current="true"]{background:var(--accent-50);color:var(--accent-600);font-weight:700}

/* ===== Hero ===== */
.hero{position:relative;min-height:clamp(440px,72vh,720px);display:grid;isolation:isolate;color:#fff}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease);z-index:-2}
.hero-slide.on{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,rgba(11,27,45,.86) 0%,rgba(11,27,45,.66) 45%,rgba(11,27,45,.34) 100%)}
html[dir="rtl"] .hero::after{background:linear-gradient(255deg,rgba(11,27,45,.86) 0%,rgba(11,27,45,.66) 45%,rgba(11,27,45,.34) 100%)}
.hero .wrap{display:flex;flex-direction:column;justify-content:center;padding-block:var(--space-7)}
.hero h1{color:#fff;max-width:20ch;text-shadow:0 2px 24px rgba(0,0,0,.3)}
.hero-sub{font-size:var(--step-1);max-width:56ch;color:#e8eef5;margin-bottom:var(--space-4)}
.hero-cta{display:flex;gap:var(--space-3);flex-wrap:wrap}
.hero-dots{display:flex;gap:.5rem;margin-top:var(--space-5)}
.hero-dots button{width:34px;height:4px;border:0;border-radius:99px;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.hero-dots button[aria-current="true"]{background:var(--accent)}
.hero-strip{background:var(--brand-700);color:#c9d6e4}
.hero-strip .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);padding-block:var(--space-4)}
.hero-strip b{display:block;color:#fff;font-size:var(--step-1)}

/* ===== Sections / cards ===== */
.sec{padding-block:var(--space-6)}
.sec-alt{background:var(--bg-2)}
.sec-head{max-width:70ch;margin-bottom:var(--space-5)}
.eyebrow{display:inline-block;font-size:var(--step--1);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}
.grid{display:grid;gap:var(--space-4)}
.g-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g-3{grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}
.g-4{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:all var(--dur) var(--ease)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--brand-50)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%;background:var(--bg-3)}
.card-body{padding:var(--space-3) var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:.45rem;flex:1}
.card-body h3{font-size:var(--step-1);margin:0}
.card-body p{color:var(--ink-2);font-size:var(--step--1);margin:0}
.card-link{color:var(--accent-600);font-weight:700;font-size:var(--step--1);margin-top:auto}
.card a{color:inherit}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4)}
.tile h3{font-size:var(--step-1)}
.prose{max-width:72ch}
.prose ul{padding-inline-start:1.2em}
.feature-list{list-style:none;padding:0}
.feature-list li{position:relative;padding-inline-start:1.7em;margin-bottom:var(--space-2)}
.feature-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:.7em;height:.7em;
  border-radius:2px;background:var(--accent)}
.spec{width:100%;border-collapse:collapse;margin-bottom:var(--space-4);font-size:var(--step-0)}
.spec th,.spec td{border:1px solid var(--line);padding:.7rem .9rem;text-align:start;vertical-align:top}
.spec th{background:var(--bg-3);font-weight:700;color:var(--brand-700);width:34%}
.spec tr:nth-child(even) td{background:var(--bg-2)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3)}
.gal img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover;background:var(--bg-3)}
.crumbs{font-size:var(--step--1);color:var(--ink-3);padding-block:var(--space-3)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
.crumbs li::after{content:"›";margin-inline-start:.4rem;color:var(--line)}
.crumbs li:last-child::after{content:""}
.pagehead{background:var(--bg-2);border-bottom:1px solid var(--line);padding-block:var(--space-5)}
.pagehead p{color:var(--ink-2);max-width:65ch;margin:0}
.cta-band{background:var(--brand);color:#fff;text-align:center}
.cta-band h2{color:#fff}
.cta-band p{color:#cfdbe8;max-width:60ch;margin-inline:auto}
.cta-band .hero-cta{justify-content:center}

/* ===== Floating contact ===== */
.fab{position:fixed;inset-inline-end:18px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:.6rem}
.fab a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  box-shadow:var(--shadow-lg);color:#fff;transition:transform var(--dur) var(--ease)}
.fab a:hover{transform:scale(1.08)}
.fab svg{width:26px;height:26px;fill:currentColor}
.fab .wa{background:#25d366}
.fab .em{background:var(--accent)}
.fab .tel{background:var(--brand)}

/* ===== Footer ===== */
.ftr{background:var(--brand-700);color:#b9c7d6;padding-block:var(--space-6) var(--space-4);margin-top:var(--space-6)}
.ftr h4{color:#fff;font-size:var(--step--1);letter-spacing:.09em;text-transform:uppercase;margin-bottom:var(--space-3)}
.ftr a{color:#cfdbe8;font-size:var(--step--1)}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}
.ftr-grid ul{list-style:none;padding:0;margin:0}
.ftr-grid li{margin-bottom:.4rem}
.ftr-logo img{height:42px;margin-bottom:var(--space-3)}
.ftr-bot{border-top:1px solid rgba(255,255,255,.12);margin-top:var(--space-5);padding-top:var(--space-4);
  font-size:var(--step--1);display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.ftr-langs{display:flex;flex-wrap:wrap;gap:.2rem .9rem}

/* ===== Language landing ===== */
.langpage{min-height:100vh;display:grid;place-items:center;background:var(--brand-700);color:#fff;padding:var(--space-5)}
.langpage .box{max-width:680px;width:100%;text-align:center}
.langpage h1{color:#fff;font-size:var(--step-3)}
.langpage .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-top:var(--space-5)}
.langpage .opts a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius);padding:var(--space-3);color:#fff;font-weight:600}
.langpage .opts a:hover{background:#fff;color:var(--brand-700);text-decoration:none}

/* ===== Responsive ===== */
/* Translated navigation labels run longer than English: step the header
   down in stages so nothing is ever clipped at the right edge. */
@media (max-width:1400px){
  .nav{gap:var(--space-3)}
  .logo img{height:40px}
}
@media (max-width:1280px){
  .nav>a,.nav>.has-mega>button{font-size:var(--step--1)}
  .nav-cta{display:none}
}
@media (max-width:1180px){
  .nav{gap:calc(var(--space-2) + 2px)}
  .topbar{font-size:.78rem}
}
@media (max-width:1024px){
  :root{--header-h:62px}
  .mega-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
}
@media (max-width:900px){
  .nav{position:fixed;inset:var(--header-h) 0 auto;background:#fff;flex-direction:column;
    align-items:stretch;gap:0;padding:var(--space-3) var(--gutter);border-bottom:1px solid var(--line);
    box-shadow:var(--shadow-lg);max-height:calc(100vh - var(--header-h));overflow:auto;display:none}
  .nav.open{display:flex}
  .nav>a,.nav>.has-mega>button{padding:.85rem 0;border-bottom:1px solid var(--line-2);width:100%;justify-content:space-between}
  .burger{display:block}
  .mega{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;
    max-height:none;border:0;display:none}
  .has-mega.open .mega{display:block}
  .mega-grid{padding:var(--space-3) 0}
  .hero{min-height:auto;padding-block:var(--space-5)}
}
@media (max-width:760px){
  :root{--gutter:16px}
  .sec{padding-block:var(--space-5)}
  .hero h1{max-width:100%}
  .gal{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .spec th{width:42%}
}
@media (max-width:560px){
  .fab{inset-inline-end:12px;bottom:78px}
  .fab a{width:48px;height:48px}
  .ftr-bot{flex-direction:column}
  .g-4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .hdr,.fab,.ftr,.topbar,.hero-dots{display:none!important}
  body{color:#000}
}

/* ===== Articles / knowledge ===== */
.article{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
.article h2{margin-top:var(--space-5)}
.article blockquote{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);
  border-inline-start:4px solid var(--accent);background:var(--bg-2);border-radius:var(--radius-sm);color:var(--ink-2)}
.toc{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4)}
.toc h4{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.toc ul{list-style:none;padding:0;margin:0}
.meta{color:var(--ink-3);font-size:var(--step--1);margin-bottom:var(--space-3)}
.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:var(--space-3)}
.tag{background:var(--brand-50);color:var(--brand-600);border-radius:99px;padding:.2rem .7rem;font-size:var(--step--1);font-weight:600}
.dl-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);
  border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);background:#fff;margin-bottom:var(--space-2)}
.faq{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}
.faq h3{font-size:var(--step-1);margin-bottom:var(--space-2)}
.faq p:last-child{margin-bottom:0}
.note{background:var(--accent-50);border:1px solid var(--accent);border-radius:var(--radius);
  padding:var(--space-3) var(--space-4);color:var(--ink-2)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:var(--space-5);align-items:center}
.stat{text-align:center}
.stat b{display:block;font-size:var(--step-3);color:var(--accent);line-height:1.1}
.stat span{font-size:var(--step--1);color:var(--ink-3)}
@media (max-width:640px){
  .dl-row{flex-direction:column;align-items:stretch}
  .article h2{margin-top:var(--space-4)}
  .hero-strip .wrap{grid-template-columns:1fr 1fr}
}
@media (min-width:1500px){
  :root{--maxw:1340px;--gutter:26px}
}
@media (forced-colors:active){
  .btn{border:2px solid currentColor}
  .card{border:1px solid currentColor}
}

/* footer logo stays legible on the dark panel whatever the source artwork is */
.ftr-logo img{filter:brightness(0) invert(1);opacity:.95}
.langpage img{filter:brightness(0) invert(1)}
/* utility helpers used by generated pages */
.u-mt{margin-top:var(--space-4)}
.u-center{text-align:center}
.lead-img{border-radius:var(--radius-lg);width:100%;max-height:540px;object-fit:cover}
@media (max-width:480px){.lead-img{max-height:300px}}
/* keep phone numbers, emails and codes left-to-right inside RTL pages */
[dir="ltr"]{unicode-bidi:isolate;direction:ltr;display:inline-block}
html[dir="rtl"] .topbar .wrap{justify-content:flex-start}
html[dir="rtl"] .spec th,html[dir="rtl"] .spec td{text-align:right}

/* ===== Wide specification tables scroll instead of breaking the layout ===== */
.spec{display:table}
@media (max-width:620px){
  .prose table.spec,.spec{display:block;overflow-x:auto;white-space:normal;
    -webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius)}
  .spec th,.spec td{min-width:9rem}
}

/* ===== Card grid density on very wide screens ===== */
@media (min-width:1700px){
  .g-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  .g-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}

/* ===== Hero legibility guards ===== */
.hero-slide img{filter:saturate(1.02)}
.hero .eyebrow{color:#f2b8a4;letter-spacing:.16em}
.hero-sub{text-shadow:0 1px 14px rgba(0,0,0,.35)}
@media (max-width:900px){
  .hero::after{background:linear-gradient(180deg,rgba(11,27,45,.72) 0%,rgba(11,27,45,.88) 100%)}
  html[dir="rtl"] .hero::after{background:linear-gradient(180deg,rgba(11,27,45,.72) 0%,rgba(11,27,45,.88) 100%)}
  .hero h1{font-size:var(--step-3)}
}

/* ===== Link affordances ===== */
.card a,.mega-col a,.ftr a{text-decoration:none}
.prose a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.prose a:hover{color:var(--accent-600)}
.crumbs a{color:var(--ink-3)}
.crumbs a:hover{color:var(--accent-600)}
.crumbs li:last-child span{color:var(--ink)}

/* ===== Badges and small print ===== */
.badge{display:inline-block;background:var(--brand-50);color:var(--brand-600);
  border-radius:var(--radius-sm);padding:.1rem .55rem;font-size:var(--step--1);font-weight:700}
.smallprint{color:var(--ink-3);font-size:var(--step--1)}

/* ===== Selection and scrollbar polish ===== */
::selection{background:var(--accent);color:#fff}
.mega::-webkit-scrollbar{width:10px}
.mega::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.mega::-webkit-scrollbar-track{background:var(--bg-2)}

/* ===== RTL refinements ===== */
html[dir="rtl"] .card-link::after,html[dir="rtl"] .hero-cta{direction:rtl}
html[dir="rtl"] .feature-list li{padding-inline-start:1.7em}
html[dir="rtl"] .crumbs li::after{content:"‹"}
html[dir="rtl"] .toc,html[dir="rtl"] .article blockquote{text-align:right}

/* ===== Reduced-data and dark-UA hints ===== */
@media (prefers-contrast:more){
  :root{--ink-2:#22303d;--ink-3:#3d4a57;--line:#9aa8b6}
  .btn-primary{background:#a33414}
}

/* ===== Header quote button =====
   The CTA is an <a> inside .nav, and the `.nav>a` link reset earlier in this
   file outranks `.btn-primary` on specificity, which flattened the button into
   plain text. These rules restore it without weakening the reset. */
.nav > a.btn{
  padding:.7rem 1.3rem;border:2px solid transparent;border-radius:var(--radius);
  font-weight:700;line-height:1.1;
}
.nav > a.btn-primary{background:var(--accent);color:#fff}
.nav > a.btn-primary:hover{background:var(--accent-600);color:#fff;text-decoration:none}
@media (max-width:900px){
  /* inside the mobile drawer it returns to a full-width block */
  .nav > a.btn{width:100%;justify-content:center;margin-top:var(--space-2)}
}


/* cify-nav-bullets-fix-20260924 */
nav ul, .nav ul, .nav-list, .nav-ul, .nav__list, ul.nav {
  list-style: none;
}
nav li, .nav li, .nav-list > li, .nav-ul > li, .nav__list > li, ul.nav > li {
  list-style: none;
}

/* cify-langsw-navrow-fix-20260924 */
header{position:relative;z-index:50}
.nav-row,.header-row,.header__inner,.header__row,.header-inner,.header__in,.header__bar,.site-header__in,.head-row,.navrow,.hdr-bar,.hdr-shell,.head-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.wrap.hdr,.wrap.head-row,.wrap.header__bar,.wrap.hdr-shell{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.langsw{position:relative;flex:0 0 auto;margin-inline-start:0}
.langsw__menu{list-style:none;padding-left:0;z-index:200;inset-inline-end:0;inset-inline-start:auto}

/* cify-langsw-flash-fix-20260924 */
.langsw__menu{top:calc(100% + .35rem)!important;z-index:300!important}
.langsw__menu::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:.55rem}
.langsw:hover .langsw__menu,.langsw:focus-within .langsw__menu,.langsw.is-open .langsw__menu,.langsw__btn[aria-expanded="true"]+.langsw__menu{display:block!important}
/* cify-langsw-pretty-20260924 */
.site-header,.site-header .header__inner,.header__inner,.nav-row,.header-row,
.header__row,.header-inner,.header__in,.header__bar,.site-header__in,.head-row,.navrow,
.hdr-bar,.hdr-shell,.wrap.hdr,.wrap.head-row,.wrap.header__bar,.wrap.hdr-shell{overflow:visible!important}
.header__inner,.nav-row,.header-row,.header__row,.header-inner,.header__in,.header__bar,
.site-header__in,.head-row,.navrow,.hdr-bar,.hdr-shell,.wrap.hdr,.wrap.head-row,
.wrap.header__bar,.wrap.hdr-shell{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
}
.header__inner{height:var(--header-h,76px);gap:var(--sp-6,1.5rem)}
.header__inner > .nav,.nav-row > .nav,.header-row > .nav,.header__inner .nav,
.nav-row .nav,.header-row .nav{
  min-width:0;
  flex:1 1 auto;
}
.langsw{
  position:relative;
  flex:0 0 auto!important;
  flex-shrink:0!important;
  margin-inline-start:.5rem;
  z-index:80;
  font-size:.8125rem;
  order:initial;
}
.langsw__btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .9rem .45rem .75rem;
  border:1px solid var(--line,#e2e8e5);
  border-radius:999px;
  background:var(--bg-soft,#f6f9f7);
  color:var(--ink,#14201b);
  cursor:pointer;
  font:inherit;
  font-weight:600;
  line-height:1.2;
  box-shadow:var(--sh-1,0 1px 2px rgba(16,32,26,.06));
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;
  white-space:nowrap;
}
.langsw__btn:hover,
.langsw.is-open .langsw__btn,
.langsw__btn[aria-expanded="true"]{
  background:var(--brand-light,#e8f2ed);
  border-color:var(--brand-mid,#2f7f65);
  color:var(--brand-dark,#14402f);
  box-shadow:var(--sh-2,0 4px 16px rgba(16,32,26,.08));
}
.langsw__btn::after{
  content:"";
  width:.35em;height:.35em;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  margin-block-end:.15em;
  opacity:.7;
  transition:transform .15s ease;
}
.langsw.is-open .langsw__btn::after,
.langsw__btn[aria-expanded="true"]::after{
  transform:rotate(225deg);
  margin-block-end:-.1em;
}
.langsw__menu{
  position:absolute;
  inset-inline-end:0!important;
  inset-inline-start:auto!important;
  top:100%!important;
  z-index:300!important;
  min-width:12rem;
  margin:0;
  padding:.4rem;
  list-style:none!important;
  padding-left:.4rem!important;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--line,#e2e8e5);
  box-shadow:0 16px 40px rgba(16,32,26,.16);
  display:none;
}
.langsw__menu::before{
  content:"";
  position:absolute;
  left:0;right:0;
  bottom:100%;
  height:.55rem;
}
.langsw:hover .langsw__menu,
.langsw:focus-within .langsw__menu,
.langsw.is-open .langsw__menu,
.langsw__btn[aria-expanded="true"]+.langsw__menu{display:block!important}
.langsw__menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.55rem .75rem;
  border-radius:8px;
  color:var(--ink,#14201b);
  text-decoration:none;
  white-space:nowrap;
  font-weight:500;
  transition:background .12s ease,color .12s ease;
}
.langsw__menu a:hover,
.langsw__menu a:focus-visible{
  background:var(--brand-light,#e8f2ed);
  color:var(--brand-dark,#14402f);
}
.langsw__menu a[aria-current="true"]{
  font-weight:700;
  background:var(--brand-light,#e8f2ed);
  color:var(--brand,#1f5f4b);
}
.langsw__menu a[aria-current="true"]::after{
  content:"✓";
  font-size:.85em;
  color:var(--brand,#1f5f4b);
}
@media (max-width:768px){
  .langsw{margin-inline-start:.25rem}
  .langsw__menu{inset-inline-end:0!important;inset-inline-start:auto!important;min-width:11rem}
}
[dir="rtl"] .langsw__menu{inset-inline-end:0!important;inset-inline-start:auto!important}
