/*
Theme Name: GetYourNIF Child
Theme URI: https://getyournif.pt/
Author: GetYourNIF.pt
Author URI: https://getyournif.pt/
Description: Child theme of Twenty Twenty-Five carrying the approved GetYourNIF.pt design unchanged. The CSS below is the site's own global stylesheet extracted from the approved build, with only the SPA-only rules removed (hash-router state and the JavaScript language switcher that WordPress/Polylang replaces). Every class name and design rule is otherwise identical to the approved site. See THEME-NOTES.md for the full list of removed rules.
Template: twentytwentyfive
Version: 1.2.17
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: getyournif-child
*/

/*
 * GetYourNIF.pt global stylesheet (extracted from the approved build).
 * Light-only design: color-scheme is pinned to light in the :root and
 * html rules below. Palette: navy #0A1F33 family, emerald #046A38 /
 * #059669, gold #C9A227 / #E3B505. Fonts (Plus Jakarta Sans headings,
 * Inter body, Noto families for bn/ur/hi) are enqueued in functions.php.
 */
:root{
  --navy:#0A1F33; --navy-2:#0E2A44; --ink:#1E2A38; --muted:#5A6B7D; --body:#334155;
  --green:#046A38; --green-2:#059669; --green-dark:#03572E;
  --gold:#C9A227; --gold-2:#E3B505;
  --bg:#F7F9F7; --surface:#FFFFFF; --mint:#E6F4EA; --mint-2:#EFF7F1;
  --line:#DFE7E1; --line-2:#E7ECE9;
  --shadow:0 10px 30px rgba(10,31,51,.08); --shadow-lg:0 24px 60px rgba(10,31,51,.14);
  --radius:18px;
  color-scheme:light only;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#F7F9F7;color-scheme:light only}
body{margin:0;font-family:"Inter",system-ui,-apple-system,sans-serif;color:var(--body);background:var(--bg);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Plus Jakarta Sans","Inter",sans-serif;color:var(--ink);line-height:1.15;margin:0;letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.65rem,3.2vw,2.35rem);font-weight:800}
h3{font-size:1.18rem;font-weight:700}
p{margin:0}
a{color:var(--green);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
section{padding:84px 0}
.sec-head{max-width:720px;margin:0 auto 44px;text-align:center}
.sec-head.left{margin-left:0;text-align:left}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:var(--mint);padding:7px 14px;border-radius:999px;margin-bottom:16px}
.sec-head p.lead,.lead{font-size:1.08rem;color:var(--muted);margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:1rem;padding:15px 28px;border-radius:13px;border:0;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;text-align:center}
.btn-green{background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 100%);color:#fff;box-shadow:0 10px 24px rgba(4,106,56,.28)}
.btn-green:hover{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);box-shadow:0 12px 28px rgba(201,162,39,.35);transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);color:#221A00;box-shadow:0 10px 24px rgba(201,162,39,.3)}
.btn-gold:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn-outline:hover{border-color:var(--green);color:var(--green)}
.btn-white{background:#fff;color:var(--navy)}
.btn-sm{padding:11px 20px;font-size:.92rem;border-radius:11px}
.btn-block{width:100%}
/* Top bar */
.topbar{background:var(--navy);color:#D7E3EC;font-size:.86rem;padding:9px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.topbar strong{color:#fff}
.topbar a{color:var(--gold-2);font-weight:600}
/* Header */
header.site{position:sticky;top:0;z-index:60;background:color-mix(in srgb, var(--surface) 92%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2)}
.header-in{display:flex;align-items:center;gap:26px;padding:13px 0}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0}
.logo svg{width:42px;height:42px;flex-shrink:0}
.logo-word{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.28rem;color:var(--ink);letter-spacing:-.03em;line-height:1}
.logo-word .pt{color:var(--green)}
.logo-word small{display:block;font-family:"Inter",sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px}
nav.main{display:flex;gap:24px;margin-left:auto}
nav.main a{color:var(--body);font-weight:600;font-size:.94rem}
nav.main a:hover{color:var(--green)}
.header-cta{display:flex;gap:10px;margin-left:8px;flex-shrink:0}
.menu-btn{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;color:var(--ink)}
.mobile-nav{display:none;border-top:1px solid var(--line-2);padding:12px 22px 18px;background:var(--surface)}
.mobile-nav a{display:block;padding:10px 4px;font-weight:600;color:var(--body);border-bottom:1px solid var(--line-2)}
.mobile-nav a:last-of-type{border-bottom:0}
.mobile-nav.open{display:block}
/* Hero */
.hero{background:linear-gradient(180deg,var(--mint-2) 0%,var(--bg) 88%);padding:56px 0 70px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.hero-badge{display:inline-flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow);margin-bottom:20px}
.hb-stars{display:inline-flex;gap:2px;color:#E0A32E;flex:none}.hb-stars svg{width:13px;height:13px;fill:currentColor}.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--green-2)}
.hero h1 span{color:var(--green)}
.hero-sub{font-size:1.13rem;color:var(--muted);margin:18px 0 22px;max-width:540px}
.hero-checks{display:grid;gap:11px;margin-bottom:26px}
.hero-checks li{list-style:none;display:flex;gap:11px;align-items:flex-start;font-weight:500;color:var(--body)}
.hero-checks{padding:0;margin-top:0}
.check-ic{flex-shrink:0;width:23px;height:23px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
.check-ic svg{width:13px;height:13px}
.price-anchor{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.price-big{font-family:"Plus Jakarta Sans",sans-serif;font-size:2rem;font-weight:800;color:var(--ink)}
.price-big s{color:var(--muted);font-size:1.25rem;font-weight:600;margin-right:8px}
.save-badge{background:var(--gold-2);color:#221A00;font-weight:800;font-size:.78rem;padding:5px 11px;border-radius:999px}
.hero-note{font-size:.88rem;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
/* Hero panel */
.hero-panel{position:relative}
.cert-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:26px;position:relative;z-index:2}
.cert-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px dashed var(--line);padding-bottom:16px;margin-bottom:16px}
.cert-top .org{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cert-top .doc{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;color:var(--ink);font-size:1.02rem;margin-top:3px}
.stamp{flex-shrink:0;border:2px solid var(--green);color:var(--green);font-weight:800;font-size:.68rem;letter-spacing:.1em;padding:6px 10px;border-radius:8px;transform:rotate(6deg);text-transform:uppercase}
.cert-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:.94rem}
.cert-row span{color:var(--muted)}
.cert-row strong{color:var(--ink);font-weight:600;text-align:right}
.nif-number{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.55rem;font-weight:800;letter-spacing:.14em;color:var(--navy);background:var(--mint);border-radius:12px;text-align:center;padding:13px 8px;margin:12px 0 6px}
.redacted{filter:blur(0);letter-spacing:.2em;color:var(--muted)}
.notify-card{position:absolute;right:-8px;top:-24px;z-index:3;background:var(--navy);color:#fff;border-radius:15px;padding:13px 17px;display:flex;gap:11px;align-items:center;box-shadow:var(--shadow-lg);max-width:290px}
.notify-card .n-ic{width:36px;height:36px;border-radius:10px;background:var(--green-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.notify-card strong{display:block;font-size:.9rem;font-family:"Plus Jakarta Sans",sans-serif}
.notify-card span{font-size:.8rem;color:#B9CBD9}
.tracker{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px;margin-top:18px;position:relative;z-index:2}
.tracker h4{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:13px}
.track-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.track-step{font-size:.82rem;font-weight:600;color:var(--muted)}
.track-step .bar{height:6px;border-radius:99px;background:var(--line);margin-bottom:8px;overflow:hidden}
.track-step .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green-2));border-radius:99px}
.track-step.done{color:var(--green)}
.track-step.now{color:var(--ink)}
.hero-photo{margin-top:18px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);position:relative;z-index:1}
.hero-photo img{width:100%;height:170px;object-fit:cover}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;background:rgba(10,31,51,.82);color:#fff;font-size:.78rem;font-weight:600;padding:6px 12px;border-radius:999px}
/* Trust strip */
.trust-strip{background:var(--surface);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:20px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-item{display:flex;gap:12px;align-items:center}
.trust-item .t-ic{width:42px;height:42px;border-radius:12px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust-item strong{display:block;font-size:.92rem;color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif;line-height:1.3}
.trust-item span{font-size:.82rem;color:var(--muted);line-height:1.35;display:block}
/* Cards general */
.card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow)}
/* Checklist tool */
.tool{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.tool-form{padding:34px}
.tool-form h3{margin-bottom:6px}
.tool-form>p{color:var(--muted);font-size:.95rem;margin-bottom:22px}
.seg-label{font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:18px 0 9px}
.seg{display:flex;gap:9px;flex-wrap:wrap}
.seg button{flex:1;min-width:120px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);font-family:inherit;font-weight:600;font-size:.93rem;color:var(--body);cursor:pointer;transition:all .15s}
.seg button:hover{border-color:var(--green)}
.seg button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.tool-result{background:var(--navy);color:#DCE7EF;padding:34px;display:flex;flex-direction:column}
.tool-result h3{color:#fff;margin-bottom:4px}
.tool-result .sub{color:#9FB4C6;font-size:.92rem;margin-bottom:18px}
.rep-banner{border-radius:12px;padding:13px 16px;font-size:.92rem;font-weight:600;margin-bottom:18px;line-height:1.5}
.rep-yes{background:rgba(227,181,5,.16);border:1px solid rgba(227,181,5,.55);color:#FFE98A}
.rep-no{background:rgba(5,150,105,.18);border:1px solid rgba(5,150,105,.6);color:#8CF0BE}
.doc-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:11px}
.doc-list li{display:flex;gap:11px;align-items:flex-start;font-size:.96rem}
.doc-list .check-ic{background:var(--green-2)}
.tool-result .fine{font-size:.83rem;color:#9FB4C6;margin-top:auto;padding-top:16px}
.tool-result .btn{margin-top:16px}
/* Use cards */
.use-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.use-card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:24px 20px;box-shadow:var(--shadow)}
.use-card .u-ic{width:46px;height:46px;border-radius:13px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.use-card h3{font-size:1.02rem;margin-bottom:7px}
.use-card p{font-size:.92rem;color:var(--muted)}
.what-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.what-photo{align-self:center}
.what-photo img{display:block;width:100%;aspect-ratio:4/3;max-height:470px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}
.fact-list{display:grid;gap:13px;margin-top:22px}
.fact-list li{list-style:none;display:flex;gap:11px;align-items:flex-start}
.fact-list{padding:0}
.what-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}
.what-photo img{width:100%;height:100%;min-height:340px;object-fit:cover}
/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;align-items:stretch;max-width:880px;margin:0 auto}
.price-card{background:var(--surface);border:1.5px solid var(--line);border-radius:20px;padding:30px 26px;display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative}
.price-card.featured{border-color:var(--gold);box-shadow:0 24px 55px rgba(201,162,39,.22)}
.price-card .tier-name{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.05rem;color:var(--ink)}
.price-card .tier-desc{font-size:.9rem;color:var(--muted);margin:5px 0 16px;min-height:44px}
.tier-price{display:flex;align-items:baseline;gap:9px;margin-bottom:4px}
.tier-price .amount{font-family:"Plus Jakarta Sans",sans-serif;font-size:2.5rem;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.tier-price s{color:var(--muted);font-size:1.1rem}
.vat-note{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.tier-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#221A00;font-weight:800;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap;box-shadow:var(--shadow)}
.tier-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px;flex:1}
.tier-list li{display:flex;gap:10px;font-size:.93rem;align-items:flex-start}
.tier-list .check-ic{width:20px;height:20px;margin-top:3px}
.tier-list .check-ic svg{width:11px;height:11px}
.family-bar{margin-top:22px;background:var(--mint);border:1px solid var(--line);border-radius:16px;padding:20px 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.family-bar strong{color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif}
.family-bar p{font-size:.93rem;color:var(--body)}
.renewal-note{margin-top:16px;text-align:center;font-size:.92rem;color:var(--muted)}
.renewal-note strong{color:var(--green)}
/* Application form */
.apply-shell{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden;max-width:860px;margin:0 auto}
.apply-head{background:var(--navy);color:#fff;padding:26px 32px}
.apply-head h3{color:#fff;font-size:clamp(1.15rem,2.6vw,1.45rem);line-height:1.3}
.apply-head p{color:#AFC4D4;font-size:.93rem;margin-top:5px}
.progress-wrap{padding:22px 32px 0}
.progress-meta{display:flex;justify-content:space-between;font-size:.84rem;font-weight:600;color:var(--muted);margin-bottom:9px}
.progress-meta strong{color:var(--green)}
.progress-track{height:9px;border-radius:99px;background:var(--line-2);overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green-2));border-radius:99px;transition:width .35s ease;width:16.6%}
.apply-body{padding:28px 32px 32px}
.fstep{display:none}
.fstep.active{display:block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.fstep.active{animation:none}.btn{transition:none}html{scroll-behavior:auto}}
.fstep h3{margin-bottom:6px}
.fstep .step-sub{color:var(--muted);font-size:.94rem;margin-bottom:20px}
.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{border:1.5px solid var(--line);background:var(--bg);border-radius:14px;padding:18px 14px;text-align:left;cursor:pointer;font-family:inherit;transition:all .15s}
.tile:hover{border-color:var(--green)}
.tile .t-emoji{width:40px;height:40px;border-radius:11px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.tile strong{display:block;color:var(--ink);font-size:.95rem;font-family:"Plus Jakarta Sans",sans-serif;line-height:1.3}
.tile span{font-size:.82rem;color:var(--muted)}
.tile.selected{border-color:var(--green);background:var(--mint-2);box-shadow:0 0 0 3px rgba(4,106,56,.14)}
.confirm-list{display:grid;gap:12px}
.confirm-item{display:flex;gap:14px;align-items:center;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--bg);border-radius:14px;padding:16px 18px;cursor:pointer;font-family:inherit}
.confirm-item .c-box{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s}
.confirm-item.selected{border-color:var(--green)}
.confirm-item.selected .c-box{background:var(--green);border-color:var(--green)}
.confirm-item strong{display:block;color:var(--ink);font-size:.97rem}
.confirm-item span{font-size:.86rem;color:var(--muted)}
.field{margin-bottom:18px}
.field label{display:block;font-weight:600;color:var(--ink);font-size:.94rem;margin-bottom:8px}
.field select,.field input{width:100%;padding:14px 15px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:1rem;color:var(--ink);background:var(--surface)}
.field select:focus,.field input:focus{outline:3px solid rgba(4,106,56,.2);border-color:var(--green)}
.field .hint{font-size:.84rem;color:var(--muted);margin-top:6px}
.field .error{font-size:.86rem;color:#B3261E;font-weight:600;margin-top:6px;display:none}
.tier-pick{display:grid;gap:11px;margin-bottom:22px}
.tier-pick .confirm-item .price-tag{margin-left:auto;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;color:var(--ink);font-size:1.15rem;flex-shrink:0}
.stepper-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.stepper{flex:1;min-width:200px;border:1.5px solid var(--line);border-radius:14px;padding:15px 17px;background:var(--bg)}
.stepper strong{display:block;color:var(--ink);font-size:.95rem}
.stepper span{font-size:.83rem;color:var(--muted)}
.stepper-ctrl{display:flex;align-items:center;gap:14px;margin-top:10px}
.stepper-ctrl button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);font-size:1.2rem;font-weight:700;color:var(--green);cursor:pointer;line-height:1}
.stepper-ctrl button:hover{border-color:var(--green)}
.stepper-ctrl .count{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.25rem;color:var(--ink);min-width:26px;text-align:center}
.total-box{background:var(--navy);color:#DCE7EF;border-radius:16px;padding:20px 22px}
.total-box .t-row{display:flex;justify-content:space-between;gap:12px;font-size:.93rem;padding:5px 0}
.total-box .t-row.grand{border-top:1px solid rgba(255,255,255,.18);margin-top:9px;padding-top:13px;font-size:1.05rem}
.total-box .t-row.grand strong{color:#fff;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.45rem}
.total-box .t-note{font-size:.8rem;color:#9FB4C6;margin-top:8px}
.review-list{display:grid;gap:0;margin-bottom:18px;border:1px solid var(--line-2);border-radius:14px;overflow:hidden}
.review-list .r-row{display:flex;justify-content:space-between;gap:16px;padding:13px 17px;font-size:.94rem;background:var(--bg)}
.review-list .r-row:nth-child(even){background:var(--surface)}
.review-list .r-row span{color:var(--muted)}
.review-list .r-row strong{color:var(--ink);text-align:right}
.demo-note{background:#FFF7DB;border:1px solid #EBD98A;color:#5C4A00;border-radius:12px;padding:13px 16px;font-size:.9rem;margin-bottom:20px}
.form-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.form-nav .spacer{flex:1}
.success-panel{text-align:center;padding:14px 6px 6px}
.success-panel .s-ic{width:70px;height:70px;border-radius:50%;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.success-panel h3{font-size:1.4rem;margin-bottom:9px}
.success-panel p{color:var(--muted);max-width:480px;margin:0 auto 8px}
.next-steps{text-align:left;max-width:440px;margin:22px auto 0;display:grid;gap:12px}
.next-steps li{list-style:none;display:flex;gap:12px;align-items:flex-start}
.next-steps{padding:0}
.next-steps .n-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;margin-top:1px}
/* Timeline */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step-card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column}
.step-card .s-num{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:.8rem;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-2));width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px;align-self:flex-start;flex:none}
.step-card h3{font-size:1.03rem;margin-bottom:8px;min-height:2.3em;text-wrap:balance}
.step-card p{font-size:.92rem;color:var(--muted);text-wrap:pretty}
.timeline{max-width:860px;margin:36px auto 0;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px}
.timeline h3{text-align:center;margin-bottom:22px}
.tl-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.tl-item{text-align:center;padding:0 10px;position:relative}
.tl-item::before{content:"";position:absolute;top:9px;left:0;right:0;height:3px;background:var(--line)}
.tl-item:first-child::before{left:50%}
.tl-item:last-child::before{right:50%}
.tl-dot{width:19px;height:19px;border-radius:50%;background:var(--green);border:4px solid var(--mint);margin:0 auto 11px;position:relative;z-index:1}
.tl-item.gold .tl-dot{background:var(--gold-2);border-color:#FBF0C0}
.tl-item strong{display:block;font-size:.9rem;color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif}
.tl-item span{font-size:.82rem;color:var(--muted);display:block;margin-top:3px;line-height:1.45}
/* Split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.check-rows{display:grid;gap:13px;margin-top:20px}
.check-rows li{list-style:none;display:flex;gap:11px;align-items:flex-start}
.check-rows{padding:0;margin-bottom:0}
.duty-rows{list-style:none;padding:0;margin:2px 0 0}
.duty-rows li{display:flex;gap:13px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line-2);line-height:1.55}
.duty-rows li:first-child{padding-top:4px}
.duty-rows li:last-child{border-bottom:none;padding-bottom:0}
.duty-rows .duty-txt{text-wrap:pretty;min-width:0}
.duty-rows .check-ic{background:var(--mint);color:var(--green);width:24px;height:24px;margin-top:1px}
.duty-rows .check-ic svg{width:13px;height:13px}
@media (min-width:1021px){#fiscal .split{grid-template-columns:.94fr 1.06fr}}
.doc-card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:16px}
.doc-card h3{display:flex;gap:11px;align-items:center;margin-bottom:9px}
.doc-card h3 .d-ic{width:38px;height:38px;border-radius:11px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-card p,.doc-card li{font-size:.94rem;color:var(--muted)}
.doc-card ul{padding-left:19px;margin:8px 0 0}
/* Comparison table */
.table-shell{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);overflow-x:auto;overflow-y:hidden}
table.compare{width:100%;border-collapse:collapse;font-size:.94rem}
table.compare th,table.compare td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-2);color:var(--body);background-color:transparent}
table.compare thead th{background:var(--navy);color:#fff;font-family:"Plus Jakarta Sans",sans-serif;font-size:.95rem}
table.compare thead th.us{background:var(--green)}
table.compare tbody th{font-weight:600;color:var(--ink);width:21%}
table.compare td.us{background:var(--mint-2);font-weight:600;color:var(--ink)}
table.compare tr:last-child th,table.compare tr:last-child td{border-bottom:0}
.diy-box{margin-top:22px;background:#FFF7DB;border:1px solid #EBD98A;border-radius:16px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start}
.diy-box strong{color:var(--ink)}
.diy-box p{font-size:.94rem}
/* Guarantee / security */
.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.info-card{background:var(--surface);border:1px solid var(--line-2);border-radius:20px;padding:30px;box-shadow:var(--shadow)}
.info-card h3{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.info-card h3 .i-ic{width:42px;height:42px;border-radius:12px;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.info-card ul{padding-left:19px;margin:0;display:grid;gap:9px}
.info-card li,.info-card p{font-size:.94rem;color:var(--muted)}
.info-card li strong,.info-card p strong{color:var(--ink)}
/* Wallet */
.wallet-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.wallet-card{max-width:400px;margin:0 auto;background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 60%,var(--green-dark) 130%);border-radius:22px;padding:28px;color:#fff;box-shadow:var(--shadow-lg);aspect-ratio:1.58;display:flex;flex-direction:column}
.wallet-card .w-top{display:flex;justify-content:space-between;align-items:center}
.wallet-card .w-num{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.5rem;letter-spacing:.16em;font-weight:700;margin:auto 0 6px}
.wallet-card .w-name{color:#B9CBD9;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.wallet-card .w-brand{font-size:.8rem;color:#9FB4C6}
/* FAQ */
.faq-list{max-width:840px;margin:0 auto;display:grid;gap:12px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;background:none;border:0;padding:19px 22px;cursor:pointer;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:1rem;color:var(--ink);text-align:left}
.faq-q .chev{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--mint);color:var(--green);display:flex;align-items:center;justify-content:center;transition:transform .25s}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a-in{padding:0 22px 20px;color:var(--muted);font-size:.96rem}
.faq-a-in a{font-weight:600}
/* Final CTA */
.final-cta{position:relative;border-radius:26px;overflow:hidden;padding:70px 30px;text-align:center;color:#fff;box-shadow:var(--shadow-lg)}
.final-cta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.final-cta .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,31,51,.78),rgba(4,60,32,.82))}
.final-cta .in{position:relative;z-index:1;max-width:680px;margin:0 auto}
.final-cta h2{color:#fff}
.final-cta p{color:#D9E6EF;margin:15px auto 26px;max-width:540px}
.final-cta .guarantee-line{margin-top:18px;font-size:.9rem;color:#C4E7D2;font-weight:600}
/* Footer */
footer{background:var(--navy);color:#AFC4D4;padding:64px 0 34px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px;margin-bottom:42px}
footer .logo-word{color:#fff}
footer .logo-word small{color:#8AA2B5}
footer p.f-about{font-size:.92rem;margin-top:15px;margin-bottom:24px;max-width:320px}
footer .pay-graphic{margin-top:2px;margin-bottom:16px}
footer h4{color:#fff;font-size:.95rem;margin-bottom:15px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
footer ul a{color:#AFC4D4;font-size:.92rem}
footer ul a:hover{color:var(--gold-2)}
.pay-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.pay-badges span{border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:5px 11px;font-size:.78rem;font-weight:700;color:#E4EDF4}
.disclaimer{border-top:1px solid rgba(255,255,255,.14);padding-top:24px;font-size:.82rem;color:#7E97AB;line-height:1.6}
.copyright{margin-top:14px;font-size:.84rem;color:#7E97AB;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* Footer language switcher: styles removed for WordPress (Polylang renders the switcher) - see THEME-NOTES.md */







/* Blog views: the body.on-blog router rule was removed for WordPress (no hash router) - see THEME-NOTES.md */

.blog-chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:0 auto 34px;max-width:840px}
.blog-chip{border:1.5px solid var(--line);background:var(--surface);color:var(--body);border-radius:999px;padding:9px 18px;font-family:inherit;font-weight:600;font-size:.92rem;cursor:pointer}
.blog-chip:hover{border-color:var(--green)}
.blog-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:11px}
.blog-card .b-cat{align-self:flex-start;font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green);background:var(--mint);padding:5px 11px;border-radius:999px}
.blog-card h3{font-size:1.08rem;line-height:1.35}
.blog-card p{font-size:.93rem;color:var(--muted);flex:1}
.soon-badge{align-self:flex-start;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#221A00;font-weight:800;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.blog-note{text-align:center;margin-top:38px;color:var(--muted)}
.blog-empty{text-align:center;color:var(--muted);padding:26px 0 6px}
.draft-banner{background:#FFF7DB;border:1px solid #EBD98A;color:#5C4A00;border-radius:12px;padding:13px 16px;font-size:.92rem;margin-bottom:26px}
.article-body{max-width:760px;margin:0 auto}
.article-body h1{margin-bottom:14px}
.article-body .a-intro{font-size:1.08rem;color:var(--muted);margin-bottom:20px}
.article-body .a-body{margin-bottom:26px}
@media (max-width:1020px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr}}
/* Sticky mobile CTA */
.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--surface);border-top:1px solid var(--line);padding:11px 14px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(10,31,51,.12);align-items:center;gap:13px}
.mobile-cta .mc-price{flex-shrink:0}
.mobile-cta .mc-price strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;color:var(--ink);font-size:1.12rem;line-height:1.15}
.mobile-cta .mc-price span{font-size:.74rem;color:var(--muted)}
.mobile-cta .btn{flex:1}
/* Responsive */
@media (max-width:1020px){
  .use-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  nav.main{display:none}
  .header-cta .btn-outline{display:none}
  .menu-btn{display:inline-flex}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .what-grid,.split,.wallet-grid{grid-template-columns:1fr}
  .what-photo{order:-1}
  .what-photo img{aspect-ratio:16/10;max-height:340px}
}
@media (max-width:760px){
  body{padding-bottom:74px}
  section{padding:58px 0}
  .mobile-cta{display:flex}
  .header-cta .btn{display:none}
  .pricing-grid{grid-template-columns:1fr}
  .price-card.featured{order:-1}
  .tool-grid{grid-template-columns:1fr}
  .two-grid{grid-template-columns:1fr}
  .tile-grid{grid-template-columns:repeat(2,1fr)}
  .apply-head,.apply-body{padding-left:20px;padding-right:20px}
  .progress-wrap{padding-left:20px;padding-right:20px}
  .tl-track{grid-template-columns:1fr 1fr;gap:22px}
  .tl-item::before{display:none}
  .notify-card{right:0;top:-18px}
  .topbar .wrap{justify-content:center;text-align:center}
  .topbar .tb-mail{display:none}
  table.compare thead{display:none}
  table.compare,table.compare tbody,table.compare tr,table.compare td,table.compare th{display:block;width:100%}
  table.compare tr{border-bottom:2px solid var(--line);padding:10px 0}
  table.compare tbody th{border-bottom:0;padding-bottom:4px;width:100%}
  table.compare td{border-bottom:0;padding:5px 18px 5px 40%}
  table.compare td{position:relative}
  table.compare td::before{content:attr(data-label);position:absolute;left:18px;top:6px;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);width:32%}
  .track-steps{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:480px){
  .use-grid,.steps-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .tile-grid{grid-template-columns:1fr 1fr}
  .form-nav{flex-direction:column-reverse}
  .form-nav .btn{width:100%}
  .form-nav .spacer{display:none}
  .cert-card{padding:20px}
  .nif-number{font-size:1.25rem}
}

/* Language switcher: styles removed for WordPress (Polylang renders the switcher) - see THEME-NOTES.md */










/* Per-language fonts */
body.lang-bn{font-family:"Noto Sans Bengali","Inter",system-ui,sans-serif}
body.lang-bn h1,body.lang-bn h2,body.lang-bn h3,body.lang-bn h4,body.lang-bn .btn,body.lang-bn .logo-word{font-family:"Noto Sans Bengali","Plus Jakarta Sans",sans-serif}
body.lang-hi{font-family:"Noto Sans Devanagari","Inter",system-ui,sans-serif}
body.lang-hi h1,body.lang-hi h2,body.lang-hi h3,body.lang-hi h4,body.lang-hi .btn,body.lang-hi .logo-word{font-family:"Noto Sans Devanagari","Plus Jakarta Sans",sans-serif}
body.lang-ur{font-family:"Noto Nastaliq Urdu",serif;line-height:2.05}
body.lang-ur h1,body.lang-ur h2,body.lang-ur h3,body.lang-ur h4{font-family:"Noto Nastaliq Urdu",serif;line-height:1.95}
body.lang-ur .btn,body.lang-ur .seg button,body.lang-ur .faq-q{font-family:"Noto Nastaliq Urdu",serif;line-height:2}
body.lang-ur .kicker,body.lang-ur .seg-label,body.lang-ur .cert-top .org,body.lang-ur .logo-word small{line-height:2.1}
body.lang-ur input,body.lang-ur select{line-height:1.9}
/* RTL layout fixes */
[dir="rtl"] nav.main{margin-left:0;margin-right:auto}
[dir="rtl"] .header-cta{margin-left:0;margin-right:8px}
[dir="rtl"] .menu-btn{margin-left:0;margin-right:auto}
[dir="rtl"] .notify-card{right:auto;left:-8px}
[dir="rtl"] .doc-card ul,[dir="rtl"] .info-card ul{padding-left:0;padding-right:19px}
[dir="rtl"] .faq-q{text-align:right}
[dir="rtl"] .tile,[dir="rtl"] .confirm-item{text-align:right}
[dir="rtl"] table.compare td::before{left:auto;right:18px}
[dir="rtl"] .review-list .r-row strong{text-align:left}
[dir="rtl"] .cert-row strong{text-align:left}
[dir="rtl"] .total-box .t-row{direction:rtl}
[dir="rtl"] .nif-number,[dir="rtl"] .wallet-card .w-num{direction:ltr}
@media (max-width:760px){[dir="rtl"] .notify-card{left:0;right:auto}}

/* Header spacing (originally sized around the SPA language switcher; nav rules kept) */
nav.main a{white-space:nowrap}

@media (max-width:1280px){.header-in{gap:16px}nav.main{gap:15px}.header-cta{margin-left:2px}}
@media (max-width:1120px){.header-cta .btn-outline{display:none}}

/* Hero badge premium */
.hero-badge{background:linear-gradient(90deg,var(--mint) 0%,#F6E7BC 100%);border:1.5px solid var(--gold);color:var(--navy);font-weight:700;gap:9px}
.hero-badge .pin-ic{color:var(--gold);flex-shrink:0}
.hero-badge .dot{position:relative;background:var(--green-2);box-shadow:0 0 0 0 rgba(5,150,105,.5);animation:pulseDot 2.2s infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(5,150,105,.45)}70%{box-shadow:0 0 0 9px rgba(5,150,105,0)}100%{box-shadow:0 0 0 0 rgba(5,150,105,0)}}
@media (prefers-reduced-motion: reduce){.hero-badge .dot{animation:none}}
.hero-reassure{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-weight:600;color:var(--green-dark);font-size:.97rem;max-width:540px}
.pay-graphic{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;line-height:0}
.pay-graphic svg{display:block;max-width:100%;height:auto}
.pay-graphic-sm{margin-top:10px}
/* Finanças tooltip */
.fin-tip{display:inline;margin:0;padding:0;border-bottom:2px dotted var(--gold);cursor:help;position:relative;font-weight:inherit}
.fin-pop{display:none;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);width:min(300px,78vw);background:var(--navy);color:#EAF2F8;padding:12px 14px;border-radius:12px;font-size:.84rem;font-weight:500;line-height:1.55;z-index:95;box-shadow:var(--shadow-lg);text-align:start;white-space:normal}
.fin-tip:hover .fin-pop,.fin-tip:focus .fin-pop,.fin-tip:focus-within .fin-pop,.fin-tip.open .fin-pop{display:block}
[dir="rtl"] .fin-pop{transform:translateX(50%)}
/* Terms link */
.terms-link{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.terms-link:hover{color:var(--green-dark)}
/* Trustpilot */
.tp-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);padding:38px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.tp-stars{display:flex;gap:5px;margin:18px 0 8px}
.tp-star{background:#00B67A;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}
.tp-caption{color:var(--muted);font-weight:600;margin-bottom:20px}
.tp-count{font-family:"Plus Jakarta Sans",sans-serif;text-align:center}
.tp-count #custCount{display:block;font-size:3.4rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.1}
.tp-count-label{color:var(--muted);font-weight:600}
.tp-stats{display:grid;gap:10px;margin-top:24px}
.tp-stat{background:var(--mint-2);border:1px solid var(--line);border-radius:12px;padding:12px 16px;text-align:center;color:var(--ink);font-size:.93rem}
@media (max-width:1020px){.tp-card{grid-template-columns:1fr}}
@media (max-width:760px){.trust-grid{grid-template-columns:1fr 1fr}.tp-count #custCount{font-size:2.6rem}}
@media (max-width:520px){.trust-grid{grid-template-columns:1fr}}

/* Switcher stability + responsive header (owner fix) */






html,body{overflow-x:clip}
body{overflow-wrap:break-word}
.logo{min-width:0}
.header-in{min-width:0}
@media (max-width:1150px){nav.main{display:none}.menu-btn{display:inline-flex}.header-cta .btn-outline{display:none}}
@media (max-width:480px){.header-in{gap:10px}.logo-word{font-size:1.04rem}.logo-word small{display:none}.site .logo svg{width:34px;height:34px}.header-cta .btn-sm{padding:9px 12px;font-size:.84rem}}

/* Pricing list + steps spacing repair, long-language header (owner fixes) */
.tier-list li{gap:11px;line-height:1.5;padding:1px 0}
.tier-list .li-txt{flex:1;text-wrap:pretty}
.step-card p{line-height:1.55}
@media (max-width:760px){.price-card{padding:22px}}
body.lang-nl nav.main,body.lang-fr nav.main,body.lang-pt nav.main{display:none}
body.lang-nl .menu-btn,body.lang-fr .menu-btn,body.lang-pt .menu-btn{display:inline-flex}
body.lang-nl .header-cta .btn-outline,body.lang-fr .header-cta .btn-outline,body.lang-pt .header-cta .btn-outline{display:none}




/* Light-design lock: this page is a light design only. Dark-mode devices must render the approved light palette faithfully, with no browser auto-darkening, inversion or recolouring. */
:root,html,body{color-scheme:light only}
body{background-color:#F7F9F7;color:#334155}
input,select,textarea,button,datalist,option{color-scheme:light only}
.field input,.field select,.field textarea{background-color:#FFFFFF;color:#1E2A38}
::placeholder{color:#5A6B7D;opacity:1}
img,svg,picture,video{color-scheme:light}

/* Hero badge alignment: one content-width pill on the hero text axis at every width. */
.hero-badge{width:fit-content;max-width:100%;justify-content:flex-start;text-align:start}
.hero-badge .hb-stars{align-items:center;align-self:center;line-height:0}
.hero-badge .hb-stars svg{display:block;flex:none}
.hero-badge .hb-text{min-width:0;text-align:start}
@media (max-width:760px){
  .hero-badge{display:inline-flex;width:fit-content;max-width:100%;justify-content:flex-start;align-items:center;text-align:start;border-radius:999px;padding:7px 14px;gap:9px;margin-bottom:20px}
  .hero-badge .hb-text{text-wrap:balance;line-height:1.45}
  body.lang-ur .hero-badge .hb-text{line-height:2.05}
}
@media (max-width:380px){
  .hero-badge{padding:7px 14px;gap:9px}
}

/* Hero See pricing: approved emerald treatment, dimensions unchanged. */
.hero-actions .btn-pricing{background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 100%);color:#fff;border-color:var(--green);box-shadow:0 10px 24px rgba(4,106,56,.28)}
.hero-actions .btn-pricing:hover{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);color:#fff;border-color:var(--green-dark);box-shadow:0 12px 28px rgba(4,106,56,.32)}
.hero-actions .btn-pricing:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* Lisbon photo, tablet and mobile: fluid full-width presence (owner fix). Width is always 100% of the content column and height is driven by aspect-ratio, so the photo grows smoothly with the viewport (about 320px to 430px wide phones included) with no fixed pixel size, no leftover desktop column ratio, no min-height or height:100% conflict, and no strip cap. Desktop rules above are untouched. */
@media (max-width:1020px){
  .what-photo{width:100%}
  .what-photo img{width:100%;height:auto;aspect-ratio:4/3;min-height:0;max-height:470px;object-fit:cover}
  .hero-photo img{height:clamp(170px,52vw,215px)}
}

/* Blog card: published article thumbnail, date and read link */
.blog-card .b-thumb{display:block;border-radius:12px;overflow:hidden}
.blog-card .b-thumb img{display:block;width:100%;height:165px;object-fit:cover}
.blog-card h3 a{color:inherit}
.blog-card h3 a:hover{color:var(--green)}
.b-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.b-date{font-size:.85rem;font-weight:600;color:var(--muted)}
.b-read{font-weight:700;font-size:.9rem;white-space:nowrap}

/* Article page components (Article 1) */
.article-body h2{margin:38px 0 14px;font-size:1.55rem;line-height:1.3}
.article-body p{margin-bottom:16px;line-height:1.68}
.article-body ul.a-list{margin:0 0 18px;padding-left:22px;line-height:1.68}
.article-body ul.a-list li{margin-bottom:9px}
.a-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.92rem;font-weight:600;margin-bottom:18px}
.a-fig{margin:0 0 28px}
.a-fig img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow)}
.a-fig figcaption{margin-top:9px;font-size:.85rem;color:var(--muted);line-height:1.5}
.quick-box{background:var(--mint-2);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:0 0 30px}
.quick-box h2{margin:0 0 10px;font-size:1.2rem}
.quick-box p{margin-bottom:12px}
.quick-box ul{margin:0;padding-left:20px;line-height:1.62}
.quick-box ul li{margin-bottom:6px}
.steps-graphic{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 8px}
.sg-step{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 15px;box-shadow:var(--shadow)}
.sg-num{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:11px}
.sg-step h3{font-size:.98rem;margin-bottom:7px;line-height:1.35}
.sg-step p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.55}
.sg-cap{font-size:.85rem;color:var(--muted);margin-bottom:6px}
/* Article 4 timeline graphic: responsive 3 + 2 grid, reserved zones so number, time label, title and body start at the same level in every card */
.timeline-fig{margin:0}
.timeline-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.tl-step{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.tl-step .sg-num{flex:none}
.tl-when{align-self:stretch;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--gold-2);color:#221A00;font-weight:800;font-size:.72rem;letter-spacing:.02em;padding:5px 10px;border-radius:999px;margin-bottom:11px;line-height:1.45;min-height:44px;text-wrap:balance;overflow-wrap:break-word}
.tl-step h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.tl-step p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .tl-when{min-height:62px;line-height:1.9}
body.lang-ur .tl-step h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.timeline-graphic{gap:10px}.tl-step{padding:16px 13px}.tl-when{font-size:.68rem;padding:5px 7px}}
@media (max-width:640px){.timeline-graphic{grid-template-columns:minmax(0,1fr)}.tl-step{height:auto}.tl-step h3{min-height:0}body.lang-ur .tl-step h3{min-height:0}.tl-when{min-height:40px}}
/* Article 6 family cost graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.cost-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.cost-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.cost-card h3{font-size:.95rem;margin-bottom:10px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.cost-card p{font-size:.88rem;color:var(--muted);margin:0 0 7px;line-height:1.55;text-wrap:pretty}
.cost-card p.cost-total{margin-top:auto;padding-top:9px;border-top:1px solid var(--line-2);color:var(--ink);font-weight:700;font-size:1rem}
body.lang-ur .cost-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.cost-graphic{gap:10px}.cost-card{padding:16px 13px}}
@media (max-width:640px){.cost-graphic{grid-template-columns:minmax(0,1fr)}.cost-card{height:auto}.cost-card h3{min-height:0}body.lang-ur .cost-card h3{min-height:0}}
/* Article 13 where-to-find graphic: same responsive pattern as the Article 4 timeline (equal 3 + 2 grid, single column on mobile) */
.find-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.find-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.find-card .sg-num{flex:none}
.find-card h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.find-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .find-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.find-graphic{gap:10px}.find-card{padding:16px 13px}}
@media (max-width:640px){.find-graphic{grid-template-columns:minmax(0,1fr)}.find-card{height:auto}.find-card h3{min-height:0}body.lang-ur .find-card h3{min-height:0}}
/* Article 14 UK at-a-glance graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.glance-graphic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.glance-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.glance-card h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.glance-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .glance-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.glance-graphic{gap:10px}.glance-card{padding:16px 13px}}
@media (max-width:640px){.glance-graphic{grid-template-columns:minmax(0,1fr)}.glance-card{height:auto}.glance-card h3{min-height:0}body.lang-ur .glance-card h3{min-height:0}}
/* Article 12 before/after comparison graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.ba-graphic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.ba-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.ba-card h3{font-size:.95rem;margin-bottom:10px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.ba-card ul{margin:0;padding-left:18px}
.ba-card li{font-size:.88rem;color:var(--muted);line-height:1.55;margin-bottom:7px;text-wrap:pretty}
.ba-card li:last-child{margin-bottom:0}
body.lang-ur .ba-card h3{min-height:3.9em}
body.lang-ur .ba-card ul{padding-left:0;padding-right:18px}
@media (min-width:641px) and (max-width:900px){.ba-graphic{gap:10px}.ba-card{padding:16px 13px}}
@media (max-width:640px){.ba-graphic{grid-template-columns:minmax(0,1fr)}.ba-card{height:auto}.ba-card h3{min-height:0}body.lang-ur .ba-card h3{min-height:0}}
/* Article 9 total-cost comparison graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.cost4-graphic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
body.lang-ur .cost4-graphic .cost-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.cost4-graphic{gap:10px}.cost4-graphic .cost-card{padding:16px 13px}}
@media (max-width:640px){.cost4-graphic{grid-template-columns:minmax(0,1fr)}.cost4-graphic .cost-card{height:auto}.cost4-graphic .cost-card h3{min-height:0}body.lang-ur .cost4-graphic .cost-card h3{min-height:0}}
/* Article 10 decision graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.route-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.route-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.route-card h3{font-size:.95rem;margin-bottom:10px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.route-card p{font-size:.88rem;color:var(--muted);margin:0 0 7px;line-height:1.55;text-wrap:pretty}
.route-card p.route-line{margin-top:auto;padding-top:9px;border-top:1px solid var(--line-2);color:var(--ink);font-weight:700;font-size:.95rem}
body.lang-ur .route-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.route-graphic{gap:10px}.route-card{padding:16px 13px}}
@media (max-width:640px){.route-graphic{grid-template-columns:minmax(0,1fr)}.route-card{height:auto}.route-card h3{min-height:0}body.lang-ur .route-card h3{min-height:0}}
/* Article 23 order-of-steps graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.order-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.order-step{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.order-step .sg-num{flex:none}
.order-step h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.order-step p{font-size:.86rem;color:var(--muted);margin:0 0 7px;line-height:1.55;text-wrap:pretty}
.order-step p.route-line{margin-top:auto;padding-top:9px;border-top:1px solid var(--line-2);color:var(--ink);font-weight:700;font-size:.95rem}
body.lang-ur .order-step h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.order-graphic{gap:10px}.order-step{padding:16px 13px}}
@media (max-width:640px){.order-graphic{grid-template-columns:minmax(0,1fr)}.order-step{height:auto}.order-step h3{min-height:0}body.lang-ur .order-step h3{min-height:0}}
/* Article 25 activation steps graphic: same responsive pattern as the Article 4 timeline (equal 3 + 2 grid, single column on mobile) */
.act-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.act-step{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.act-step .sg-num{flex:none}
.act-step h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.act-step p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .act-step h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.act-graphic{gap:10px}.act-step{padding:16px 13px}}
@media (max-width:640px){.act-graphic{grid-template-columns:minmax(0,1fr)}.act-step{height:auto}.act-step h3{min-height:0}body.lang-ur .act-step h3{min-height:0}}
/* Article 26 inheritance sequence graphic: same responsive pattern as the Article 4 timeline (equal 2 by 2 grid, single column on mobile) */
.inh-graphic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.inh-step{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.inh-step .sg-num{flex:none}
.inh-step h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.inh-step p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .inh-step h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.inh-graphic{gap:10px}.inh-step{padding:16px 13px}}
@media (max-width:640px){.inh-graphic{grid-template-columns:minmax(0,1fr)}.inh-step{height:auto}.inh-step h3{min-height:0}body.lang-ur .inh-step h3{min-height:0}}
/* Article 27 sale paperwork checklist graphic: same responsive pattern as the Article 4 timeline (equal 3 + 2 grid, single column on mobile) */
.sell-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.sell-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.sell-card .sg-num{flex:none}
.sell-card h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.sell-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .sell-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.sell-graphic{gap:10px}.sell-card{padding:16px 13px}}
@media (max-width:640px){.sell-graphic{grid-template-columns:minmax(0,1fr)}.sell-card{height:auto}.sell-card h3{min-height:0}body.lang-ur .sell-card h3{min-height:0}}
/* Article 28 D7 sequence graphic: same responsive pattern as the Article 4 timeline (equal 3 by 2 grid, single column on mobile) */
.d7-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.d7-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.d7-card .sg-num{flex:none}
.d7-card h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.d7-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .d7-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.d7-graphic{gap:10px}.d7-card{padding:16px 13px}}
@media (max-width:640px){.d7-graphic{grid-template-columns:minmax(0,1fr)}.d7-card{height:auto}.d7-card h3{min-height:0}body.lang-ur .d7-card h3{min-height:0}}
/* Article 29 D8 sequence graphic: same responsive pattern as the Article 4 timeline (equal 3 by 2 grid, single column on mobile) */
.d8-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.d8-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.d8-card .sg-num{flex:none}
.d8-card h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.d8-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .d8-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.d8-graphic{gap:10px}.d8-card{padding:16px 13px}}
@media (max-width:640px){.d8-graphic{grid-template-columns:minmax(0,1fr)}.d8-card{height:auto}.d8-card h3{min-height:0}body.lang-ur .d8-card h3{min-height:0}}
/* Article 7 three-number comparison graphic: same responsive pattern as the Article 4 timeline (equal grid, single column on mobile) */
.num3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.num3-card{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.num3-badge{align-self:flex-start;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.02rem;letter-spacing:.04em;color:#fff;background:var(--green);border-radius:10px;padding:6px 14px;margin-bottom:12px}
.num3-card.c-niss .num3-badge{background:var(--navy)}
.num3-card.c-sns .num3-badge{background:var(--gold);color:#221A00}
.num3-card h3{font-size:.98rem;margin-bottom:6px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.num3-card dl{margin:0}
.num3-card dt{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-top:11px}
.num3-card dd{margin:3px 0 0;font-size:.88rem;color:var(--muted);line-height:1.55;text-wrap:pretty}
body.lang-ur .num3-card h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.num3{gap:10px}.num3-card{padding:16px 13px}}
@media (max-width:640px){.num3{grid-template-columns:minmax(0,1fr)}.num3-card{height:auto}.num3-card h3{min-height:0}body.lang-ur .num3-card h3{min-height:0}}
/* Article 8 safe-sequence graphic: same responsive pattern as the Article 4 timeline (3 + 2 grid, single column on mobile) */
.seq-graphic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;align-items:stretch}
.seq-step{background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:18px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%}
.seq-step h3{font-size:.95rem;margin-bottom:7px;line-height:1.35;min-height:2.7em;text-wrap:balance}
.seq-step p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.55;text-wrap:pretty}
body.lang-ur .seq-step h3{min-height:3.9em}
@media (min-width:641px) and (max-width:900px){.seq-graphic{gap:10px}.seq-step{padding:16px 13px}}
@media (max-width:640px){.seq-graphic{grid-template-columns:minmax(0,1fr)}.seq-step{height:auto}.seq-step h3{min-height:0}body.lang-ur .seq-step h3{min-height:0}}
/* Article steps graphics (Articles 1, 2 and 5): matched title levels, graceful wrap */
.sg-step{display:flex;flex-direction:column;min-width:0}
.sg-step h3{min-height:2.7em;text-wrap:balance}
.sg-step p{text-wrap:pretty}
body.lang-ur .sg-step h3{min-height:3.9em}
@media (max-width:900px){.steps-graphic{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.steps-graphic{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.steps-graphic{grid-template-columns:1fr}}
.a-faq{display:grid;gap:12px;margin-bottom:8px}
.a-cta{background:var(--navy);color:#DCE7EF;border-radius:18px;padding:28px;margin:34px 0 6px}
.a-cta h2{color:#fff;margin:0 0 10px;font-size:1.45rem}
.a-cta p{color:#DCE7EF;margin-bottom:18px}
.related-guides{margin-top:36px}
.related-guides ul{margin:0;padding-left:20px;line-height:1.75}


/* Article 3 comparison table + note */
.a-table-wrap{margin:6px 0 26px}
.a-table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--surface)}
.a-table th,.a-table td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top;line-height:1.5}
.a-table thead th{background:var(--mint-2);color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif}
.a-table tbody th{color:var(--ink);font-weight:700;background:var(--mint-2)}
.a-note{font-size:.92rem;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface)}
@media (max-width:640px){.a-table{font-size:.84rem}.a-table th,.a-table td{padding:8px 9px}}
/* Header hamburger positioning fix (owner): one consistent header inset at every width.
   Clean flex row: logo left, spacer, CTA, hamburger at the content edge. Removes the
   stray auto/extra margins that pushed the button off the content edge. */
header.site .header-in{display:flex;align-items:center;gap:12px;padding:13px 22px}
header.site .header-cta{flex-shrink:0}
header.site .menu-btn{flex:0 0 auto}
@media (max-width:1150px){
  header.site nav.main{display:none}
  header.site .header-cta{margin-left:0;margin-right:0}
  header.site .menu-btn{display:inline-flex;margin-left:auto;margin-right:0}
}
@media (max-width:760px){
  header.site .header-cta{display:none}
}
[dir="rtl"] header.site .header-cta{margin-left:0;margin-right:0}
[dir="rtl"] header.site .menu-btn{margin-left:0;margin-right:auto}
header.site .mobile-nav{box-sizing:border-box;width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px}

/* NIF validator view */
.val-hero{background:var(--navy);padding:56px 0 52px}
.val-hero h1{color:#fff;max-width:760px}
.val-hero p{color:#C9D8E4;font-size:1.1rem;margin-top:14px;max-width:640px}
.val-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:30px;margin-bottom:20px}
.val-card label{font-weight:600;color:var(--ink);display:block;margin-bottom:10px;font-family:"Plus Jakarta Sans",sans-serif}
.val-input-row{display:flex;gap:12px;flex-wrap:wrap}
.val-input{flex:1 1 220px;min-width:0;width:100%;font-size:1.5rem;font-weight:700;letter-spacing:3px;padding:14px 18px;border:2px solid var(--line);border-radius:14px;color:var(--navy);font-family:inherit;background:#fff;direction:ltr;text-align:left}
.val-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.25)}
.val-examples{margin-top:16px;font-size:.9rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.val-chip{border:1.5px solid var(--line);background:var(--bg);border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600;color:var(--ink);font-size:.84rem;font-family:inherit}
.val-chip:hover{border-color:var(--green);color:var(--green)}
.val-privacy{margin-top:16px;font-size:.9rem;color:var(--muted);display:flex;gap:9px;align-items:flex-start}
.val-privacy svg{flex-shrink:0;margin-top:2px;color:var(--green)}
.val-privacy strong{color:var(--ink)}
.val-result{display:none;border-radius:16px;padding:22px 24px;margin-bottom:20px}
.val-result.show{display:block}
.val-result.ok{background:var(--mint);border:1px solid var(--green-2)}
.val-result.bad{background:#FDECEA;border:1px solid #B3261E}
.val-result h2{font-size:1.35rem;display:flex;align-items:center;gap:10px}
.val-result.ok h2{color:var(--green)}
.val-result.bad h2{color:#B3261E}
.val-result p{margin-top:8px}
.val-digits{display:flex;gap:6px;margin:16px 0 6px;flex-wrap:wrap;direction:ltr}
.val-digit{width:38px;height:46px;border-radius:9px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:var(--navy)}
.val-digit.cd{border-color:var(--gold);background:#FBF3D9}
.val-digit-label{font-size:.78rem;color:var(--muted)}
.val-checks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.val-checks li{font-size:.95rem;display:flex;gap:9px;align-items:flex-start}
.val-checks .pass{color:var(--green);font-weight:700}
.val-checks .fail{color:#B3261E;font-weight:700}
.val-honest{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-top:34px}
.val-honest h2{font-size:1.25rem;margin-bottom:9px}
.val-next{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.val-next .btn{flex:1 1 240px}
@media (max-width:640px){.val-card{padding:22px}.val-input{font-size:1.25rem}}

/* Footer language switcher (WordPress/Polylang) — added for the child
   theme. The SPA switcher rules (.lang-opts / .lang-opt pills) were
   removed from the carried-over CSS above because the switcher is
   rendered by the [gyn_lang_switcher] shortcode in functions.php.
   Since 27 Oct 2026 (owner's request) the switcher is a native
   <select> dropdown: the "Language" label above a full-width select
   styled in the footer's navy and gold, with a gold chevron and the
   option list on the navy background. */
.gyn-lang-switcher{margin-top:22px}
.gyn-lang-switcher .footer-lang-label{display:block;color:#fff;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:.92rem;margin-bottom:10px}
.gyn-lang-switcher .gyn-lang-select{display:block;width:100%;max-width:350px;padding:10px 40px 10px 14px;border:1px solid rgba(255,255,255,.32);border-radius:10px;background-color:rgba(255,255,255,.05);color:#fff;font-family:inherit;font-size:.92rem;font-weight:600;line-height:1.45;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C9A227' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.gyn-lang-switcher .gyn-lang-select:hover{border-color:var(--gold-2)}
.gyn-lang-switcher .gyn-lang-select:focus{outline:2px solid var(--gold-2);outline-offset:2px}
.gyn-lang-switcher .gyn-lang-select option{background-color:#0A1F33;color:#fff}
[dir="rtl"] .gyn-lang-switcher .gyn-lang-select{background-position:left 14px center;padding:10px 14px 10px 40px}
body.lang-ur .gyn-lang-switcher .gyn-lang-select{line-height:2}

/* Application form option grids: layout guard (theme 1.2.1, 27 Oct
   2026). The base .tile-grid rules earlier in this file are the
   approved design (3 columns, 2 columns under 760px). These ID-scoped
   rules restate that same grid at higher specificity so no other
   stylesheet in the WordPress stack can reflow the form's option
   cards into a staggered arrangement, after the live page was seen
   rendering them unevenly while the source CSS was correct. Values
   are identical to the base rules; nothing visual changes when the
   base rules already apply. */
#applyForm .tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch}
#applyForm .tile{width:auto;min-width:0}
@media (max-width:760px){
  #applyForm .tile-grid{grid-template-columns:repeat(2,1fr)}
}

/* Grid stray-line-break guard (theme 1.2.3, 27 Oct 2026). When the
   approved HTML is pasted into WordPress, the editor inserts <br>
   elements between block items. Inside a CSS grid those <br>s become
   grid items themselves and take a cell each, which pushed the form
   option tiles into a single staggered column (seen live on the Step 1
   tile grid, on mobile and desktop). The source files contain no <br>
   in these containers. Hiding direct-child <br>s of every grid
   container restores the approved layout exactly; no other rule,
   spacing or column count changes. */
:is(.tile-grid,.confirm-list,.tier-pick,.pricing-grid,.use-grid,.steps-grid,.trust-grid,.hero-grid,.hero-checks,.what-grid,.two-grid,.wallet-grid,.split,.blog-grid,.tl-track,.track-steps,.tool-grid,.fact-list,.check-rows,.review-list,.steps-graphic,.timeline-graphic,.cost-graphic,.find-graphic,.glance-graphic,.ba-graphic,.cost4-graphic,.route-graphic,.order-graphic,.act-graphic,.inh-graphic,.doc-list,.faq-list,.tp-stats,.footer-grid) > br{display:none}

/* Financas tooltip on small screens (owner report, 27 Oct 2026). The
   desktop pop is centred on the word, which pushes it past the hero
   edge on phones, where the hero's overflow clips it. On small screens
   the pop instead spans the hero paragraph width, aligned to the
   paragraph start, so it always shows in full. Desktop unchanged. */
@media (max-width:760px){
  .hero-sub{position:relative}
  .fin-tip{position:static}
  .fin-pop{left:0;right:auto;transform:none;width:100%;max-width:360px}
  [dir="rtl"] .fin-pop{left:auto;right:0;transform:none}
}

/* WordPress block-gap neutraliser (theme 1.2.4, 27 Oct 2026). Twenty
   Twenty-Five adds a 1.2rem (19.2px) margin-top to every block in the
   template and page flow. The approved design sets all of its own
   spacing, so those margins inflated the live page: header to hero
   badge measured 94.4px against the approved 56px, and hero photo to
   trust strip 128.4px against the approved 90px, with an empty comment
   paragraph doubling the gap in both places. Zeroing flow margins at
   the template and post-content level restores the approved spacing
   everywhere the canvas templates are used; spacing inside sections
   and articles comes from the design CSS, unchanged. */
.wp-site-blocks > *{margin-block-start:0}
.wp-block-post-content > *{margin-block-start:0;margin-block-end:0}

/* ==== Document upload block (form Step 2, injected by gyn-app.js) ==== */
.doc-upload{margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface)}
.doc-upload h4{margin:0 0 6px;font-size:.98rem;color:var(--ink)}
.doc-upload p{margin:0 0 6px;font-size:.86rem;color:var(--muted)}
.du-field{display:block;margin-top:12px;font-size:.88rem;font-weight:600;color:var(--ink)}
.du-field input{display:block;margin-top:6px;width:100%;font:inherit;font-size:.88rem;font-weight:400;color:var(--body)}
