/* Public site premium layer */
.site-header { background: rgba(255,255,255,.9); border-bottom-color: rgba(6,59,53,.08); box-shadow: 0 8px 32px rgba(2,43,39,.055); }
.header-inner { min-height: 64px; max-width: 1320px; }
.site-header .brand { gap: .58rem; flex: 0 0 auto; }
.site-header .brand-mark { width: 36px; height: 36px; border-radius: 10px; font-size: .75rem; box-shadow: inset 0 0 0 1px rgba(244,201,93,.45), 0 6px 16px rgba(2,43,39,.16); }
.site-header .brand-text strong { font-size: .92rem; }
.site-header .brand-text small { font-size: .59rem; }
.site-header .nav { padding: .2rem; gap: .08rem; background: rgba(246,248,247,.75); box-shadow: none; }
.site-header .nav-link { padding: .42rem .67rem; font-size: .78rem; }
.site-header .nav-link.is-active::after { display: none; }
.site-header .header-actions { gap: .32rem; }
.site-header .header-actions .btn-sm { padding: .5rem .78rem; font-size: .78rem; }
.site-header .theme-toggle { width: 34px; height: 34px; }
.site-header .language-switcher { padding: .12rem; }
.site-header .language-link { min-width: 1.72rem; padding: .22rem .3rem; font-size: .62rem; }

.hero { min-height: 0; padding: clamp(2rem,4vw,3.5rem) 0; background: radial-gradient(700px 460px at 82% 42%, rgba(11,90,80,.55), transparent 66%), radial-gradient(480px 300px at 10% 5%, rgba(244,201,93,.09), transparent 65%), linear-gradient(130deg,#022b27 0%,#063b35 55%,#074a42 100%); }
.hero-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(1.5rem,4vw,3rem); }
.hero h1 { max-width: 620px; font-size: var(--site-h1); line-height: 1.14; letter-spacing: -.025em; }
.hero-lead { max-width: 34rem; font-size: 1.02rem; line-height: 1.75; }
.hero-assurance { display: inline-flex; align-items: center; gap: .7rem; margin-top: .45rem; padding: .6rem .85rem; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; background: rgba(255,255,255,.055); }
.hero-assurance__icon { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: 50%; background: var(--gold); color: var(--green-900); font-weight: 900; }
.hero-assurance p { display: grid; margin: 0; line-height: 1.25; }
.hero-assurance strong { color: #fff; font-size: .78rem; }
.hero-assurance small { margin-top: .15rem; color: rgba(255,255,255,.62); font-size: .68rem; }
.hero-visual-column { position: relative; min-width: 0; padding-bottom: 0; }
.hero-finance-graphic { position: relative; z-index: 1; filter: drop-shadow(0 28px 35px rgba(0,0,0,.2)); }
.hero-finance-graphic svg { display: block; width: 100%; height: auto; }
.hero-visual-caption { position:absolute; right:8%; top:4%; padding:.32rem .55rem; border:1px solid rgba(255,255,255,.18); border-radius:99px; background:rgba(2,43,39,.6); color:rgba(255,255,255,.7); font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.hero-visual-column .hero-card { position: relative; z-index: 2; width: 100%; margin: 0; padding: clamp(1.25rem,2.5vw,1.75rem); border-radius: 16px; box-shadow: 0 20px 45px rgba(0,30,27,.26); }
.hero-visual-column .hero-card h3 { font-size: var(--site-h3); }
.hero-visual-column .hero-card > .muted { display: block; margin-bottom: 1rem; font-size: .9375rem; }
.hero-visual-column .hero-card .stack-sm { grid-template-columns: minmax(0,1fr); gap: .875rem; align-items: end; }
.hero-visual-column .hero-card .field { margin: 0; }
.hero-visual-column .hero-card label { font-size: .875rem; }
.hero-visual-column .hero-card input,.hero-visual-column .hero-card select { min-height: 48px; padding: .7rem .8rem; font-size: 1rem; }
.hero-visual-column .hero-card .btn { grid-column: 1/-1; padding: .62rem; }
.hero-visual-column .hero-card > p:last-child { display: block; }
.trust-strip { position: relative; z-index: 3; margin-top: 0; }
.trust-strip-inner { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); box-shadow: 0 18px 44px rgba(2,43,39,.12); }

.public-feature-hero { position: relative; overflow: hidden; padding: clamp(2rem,4vw,3.5rem) 0; background: radial-gradient(600px 380px at 78% 50%,rgba(11,90,80,.52),transparent 70%),linear-gradient(130deg,#022b27,#063b35); color: #fff; }
.public-feature-hero::before,.page-hero-grid::before { content:""; position:absolute; width:350px; height:350px; right:-210px; top:-210px; border:1px solid rgba(244,201,93,.2); border-radius:50%; box-shadow:0 0 0 60px rgba(255,255,255,.018),0 0 0 120px rgba(255,255,255,.012); }
.public-feature-grid,.page-hero-grid { position: relative; z-index: 1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.public-feature-copy h1 { max-width: 700px; margin: .35rem 0 1rem; color: #fff; font-size: var(--site-h1); line-height: 1.14; letter-spacing: -.025em; }
.public-feature-copy > p { max-width: 590px; color: rgba(255,255,255,.75); font-size: 1.04rem; line-height: 1.75; }
.public-feature-copy .btn-outline { border-color: rgba(255,255,255,.4); color:#fff; }
.about-graphic svg,.contact-hero-graphic svg,.products-hero-graphic svg,.calculator-hero-graphic svg { display:block; width:100%; height:auto; filter:drop-shadow(0 24px 35px rgba(0,0,0,.2)); }
.about-story-section { padding-top: 0; }
.about-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:0; margin-bottom:var(--site-section); position:relative; z-index:2; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 20px 50px rgba(2,43,39,.11); overflow:hidden; }
.about-principles article { padding:1.5rem; border-right:1px solid var(--border); }
.about-principles article:last-child { border:0; }
.about-principles span { color:var(--gold); font-size:.75rem; font-weight:800; letter-spacing:.1em; }
.about-principles h3 { margin:.55rem 0 .4rem; }
.about-principles p,.about-values-panel p { margin:0; color:var(--muted); font-size:.88rem; }
.about-editorial-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,7vw,6rem); align-items:start; }
.about-editorial-grid h2 { font-size:var(--site-h2); letter-spacing:-.015em; }
.about-values-panel { display:grid; }
.about-values-panel > div { padding:1.25rem 0 1.25rem 3rem; border-bottom:1px solid var(--border); position:relative; }
.about-values-panel > div::before { content:"✓"; position:absolute; left:0; top:1.25rem; display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--green-100); color:var(--green-800); font-weight:800; }
.about-values-panel strong { display:block; margin-bottom:.3rem; color:var(--text); }
.disclosure-panel { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; margin-top:3rem; padding:1.2rem 1.35rem; border:1px solid rgba(244,201,93,.45); border-radius:14px; background:rgba(244,201,93,.09); }
.disclosure-panel p { margin:.15rem 0 0; color:var(--muted); font-size:.84rem; }
.disclosure-panel a { color:var(--green-800); font-weight:800; }
.disclosure-mark { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--gold); color:var(--green-900); font-weight:900; }

.page-hero-grid > div:first-child { position:relative; z-index:1; }
.contact-feature-hero,.products-feature-hero,.calculator-feature-hero { padding:clamp(2rem,4vw,3.5rem) 0; }
.page-hero-grid h1 { max-width:650px; font-size:var(--site-h1); letter-spacing:-.025em; }
.contact-hero-graphic,.products-hero-graphic,.calculator-hero-graphic { max-width:470px; justify-self:end; }
.contact-page-grid { grid-template-columns:.82fr 1.18fr; }
.premium-contact-form { padding:clamp(1.25rem,3vw,2rem); box-shadow:0 24px 55px rgba(2,43,39,.1); }
.contact-channel { padding:.95rem 1rem; border-radius:12px; box-shadow:none; }
.contact-channel:hover { transform:translateX(4px); }

.product-premium-grid { gap:1.2rem; }
.product-card--premium { position:relative; overflow:hidden; padding:1.35rem; border-top:3px solid var(--green-800); box-shadow:0 14px 36px rgba(2,43,39,.075); transition:transform .2s ease,box-shadow .2s ease; }
.product-card--premium:nth-child(2n) { border-top-color:var(--gold); }
.product-card--premium::after { content:""; position:absolute; width:120px; height:120px; right:-72px; top:-72px; border:1px solid rgba(11,90,80,.1); border-radius:50%; box-shadow:0 0 0 24px rgba(11,90,80,.025); }
.product-card--premium:hover { transform:translateY(-5px); box-shadow:0 24px 52px rgba(2,43,39,.12); }
.product-card--premium .price-range { margin:.25rem 0!important; padding:.65rem 0; border-block:1px solid var(--border); }
.calculator-input-card { padding:clamp(1.25rem,3vw,2rem); box-shadow:0 18px 45px rgba(2,43,39,.09); }
.page-calculator .wizard-layout { grid-template-columns:1.15fr .85fr; gap:1.5rem; }
.page-calculator .calc-result { position:sticky; top:5.5rem; border:1px solid rgba(244,201,93,.3); box-shadow:0 24px 50px rgba(2,43,39,.18); }

[data-theme="dark"] .site-header { background:rgba(10,24,22,.92); }
[data-theme="dark"] .site-header .nav { background:rgba(255,255,255,.035); }
[data-theme="dark"] .trust-strip-inner,[data-theme="dark"] .about-principles { background:var(--surface); }
[data-theme="dark"] .about-values-panel > div::before { background:rgba(244,201,93,.12); color:var(--gold); }
[data-theme="dark"] .disclosure-panel { background:rgba(244,201,93,.06); }

@media (max-width:1180px) {
  .site-header .nav { position:absolute; top:100%; left:1rem; right:1rem; display:none; flex-direction:column; align-items:stretch; padding:.75rem; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:0 24px 55px rgba(2,43,39,.16); }
  .site-header .nav.is-open { display:flex; }
  .site-header .nav-link { padding:.72rem .9rem; font-size:.88rem; }
  .site-header .nav-toggle { display:inline-flex; }
}
@media (max-width:900px) {
  .hero { min-height:0; }
  .hero-grid,.public-feature-grid,.page-hero-grid,.about-editorial-grid,.contact-page-grid,.page-calculator .wizard-layout { grid-template-columns:1fr; }
  .hero-visual-column { width:min(620px,100%); margin-inline:auto; }
  .about-graphic,.contact-hero-graphic,.products-hero-graphic,.calculator-hero-graphic { width:min(480px,100%); justify-self:center; }
  .about-principles { grid-template-columns:1fr; }
  .about-principles article { border-right:0; border-bottom:1px solid var(--border); }
  .page-calculator .calc-result { position:static; }
}
@media (max-width:640px) {
  .header-inner { width:calc(100% - 1rem); min-width:0; min-height:60px; gap:.5rem; }
  .site-header .brand { min-width:0; flex:1 1 auto; overflow:hidden; }
  .site-header .brand-text { min-width:0; overflow:hidden; }
  .site-header .brand-text strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .site-header .header-actions { min-width:0; flex:0 0 auto; gap:.28rem; }
  .site-header .brand-text small,.site-header .language-switcher,.site-header .header-actions>.btn-ghost { display:none; }
  .site-header .header-actions .btn-primary { padding:.48rem .5rem; font-size:.72rem; }
  .hero { padding: 2rem 0; }
  .hero h1 { max-width:100%; font-size:var(--site-h1); line-height:1.14; letter-spacing:-.025em; }
  .hero-lead { font-size:.96rem; line-height:1.55; }
  .hero-assurance { align-items:flex-start; }
  .hero-visual-column { width:100%; padding-bottom:0; }
  .hero-finance-graphic { width:100%; margin-inline:0; }
  .hero-visual-column .hero-card { position:relative; width:100%; margin-top:0; }
  .hero-points { display:grid; }
  .public-feature-hero { padding:2rem 0; }
  .public-feature-copy h1,.page-hero-grid h1 { font-size:var(--site-h1); }
  .about-principles { margin-top:0; }
  .disclosure-panel { grid-template-columns:auto 1fr; }
  .disclosure-panel a { grid-column:2; }
}

@media (prefers-reduced-motion:reduce) { .product-card--premium,.contact-channel { transition:none; } }

/* Shared public typography and rhythm. Scoped away from admin and customer workflows. */
.public-site {
  --site-h1: clamp(1.9rem, 3.3vw, 3rem);
  --site-h2: clamp(1.5rem, 2.3vw, 2.1rem);
  --site-h3: 1.125rem;
  --site-section: clamp(2rem, 4vw, 3.5rem);
  --font: 'Raleway', sans-serif;
  --mono: 'Raleway', sans-serif;
  font-family: var(--font); font-size: 1rem; line-height: 1.65;
}
.public-site :is(h1,h2,h3,h4,p,li,a,button,label,input,select,textarea) { font-family: var(--font); }
.public-site h1 { font-size:var(--site-h1); line-height:1.14; letter-spacing:-.025em; font-weight:800; }
.public-site h2 { font-size:var(--site-h2); line-height:1.25; letter-spacing:-.015em; font-weight:700; }
.public-site h3 { font-size:var(--site-h3); line-height:1.35; letter-spacing:0; font-weight:700; }
.public-site h4 { font-size:1rem; line-height:1.4; font-weight:700; }
.public-site :is(.hero-lead,.section-lead,.public-feature-copy > p) { font-size:1rem; line-height:1.65; max-width:60ch; margin-bottom:1rem; }
.public-site .section-kicker { font-size:.75rem; letter-spacing:.08em; line-height:1.5; font-weight:700; }
.public-site .section { padding:var(--site-section) 0; }
.public-site .section-head { margin-bottom:1.5rem; }
.public-site .section-head :is(h1,h2) { margin-bottom:.65rem; }
.public-site .container { width:min(1160px,calc(100% - 48px)); }
.public-site :is(.hero-grid,.public-feature-grid,.page-hero-grid,.grid,.form-grid,.contact-page-grid,.about-editorial-grid,.footer-grid) > * { min-width:0; }
.public-site :is(.card,.contact-channel,.about-principles article) { overflow-wrap:anywhere; }
.public-site :is(img,svg) { max-width:100%; }
.public-site :is(.hero-actions,.hero-points,.form-actions,.footer-bottom) { flex-wrap:wrap; }
.public-site :is(.btn,.badge) { white-space:normal; text-align:center; }
.public-site .btn { min-height:44px; font-size:.875rem; line-height:1.4; padding:.7rem 1rem; }
.public-site .btn-lg { min-height:48px; font-size:.9375rem; padding:.8rem 1.15rem; }
.public-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { width:100%; min-width:0; max-width:100%; min-height:48px; font-size:1rem; }
.public-site .hero-actions { margin-top:1.25rem; }
.public-site .hero-points { margin:1.25rem 0 0; gap:.5rem; }
.public-site .hero-points li { font-size:.8125rem; line-height:1.5; }
.public-site .hero-assurance small { font-size:.8125rem; line-height:1.5; }
.public-site .hero-assurance strong { font-size:.875rem; }
.public-site .hero-assurance__icon { flex-shrink:0; }
.public-site .hero-visual-column { width:100%; max-width:440px; justify-self:end; }
.public-site :is(.about-graphic,.contact-hero-graphic,.products-hero-graphic,.calculator-hero-graphic) { width:100%; max-width:320px; justify-self:end; }
.public-site .about-story-section { padding-top:var(--site-section); }
.public-site .trust-strip { padding:1.25rem 0; background:var(--surface); }
.public-site .trust-strip-inner { padding:0; border:0; box-shadow:none; border-radius:0; }
.public-site .about-principles { box-shadow:none; }
.public-site :is(.about-principles p,.about-values-panel p,.contact-channel p) { font-size:.9375rem; line-height:1.65; }
.public-site .disclosure-panel { margin-top:2rem; }
.public-site .site-header .nav-link { font-size:.8125rem; min-height:44px; display:flex; align-items:center; }
.public-site .site-header :is(.theme-toggle,.nav-toggle) { min-width:44px; min-height:44px; }
.public-site .site-header .header-inner { max-width:1320px; }
.public-site .page-hero { padding:clamp(2rem,4vw,3.5rem) 0; }
.public-site :focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
[data-theme=dark] .public-site .site-header .nav { background:var(--surface); }
@media(max-width:900px){
 .public-site .hero-visual-column { max-width:100%; justify-self:stretch; }
 .public-site :is(.about-graphic,.contact-hero-graphic,.products-hero-graphic,.calculator-hero-graphic) { display:none; }
 .public-site .hero-grid,.public-site .public-feature-grid,.public-site .page-hero-grid { gap:1.5rem; }
}
@media(max-width:640px){
 .public-site .container { width:calc(100% - 32px); }
 .public-site .hero-actions .btn { flex:1 1 180px; }
 .public-site .hero-visual-column .hero-card .stack-sm { grid-template-columns:minmax(0,1fr); }
 .public-site .header-inner { flex-wrap:wrap; padding-block:8px; }
 .public-site .site-header .brand-text strong { font-size:.8125rem; white-space:normal; }
 .public-site .site-header .header-actions .btn-primary { display:none; }
 .public-site .site-header .language-switcher { display:flex; }
 .public-site .site-header .language-link { padding:8px 5px; min-width:28px; font-size:.7rem; }
 .public-site .site-header .header-actions { gap:2px; }
 .public-site .hero-assurance { padding:.65rem; }
}

.public-site .hero-range { margin:1rem 0 0; font-size:1rem; font-weight:700; color:var(--gold); font-variant-numeric:tabular-nums; }

html.public-root, body.public-site { overflow-x:visible; }
.public-site .nav-mobile-actions { display:none; }
@media(max-width:1180px){.public-site .nav-mobile-actions{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:12px}}
@media(max-width:640px){.public-site .site-header .language-switcher{display:none}.public-site .header-inner{flex-wrap:nowrap}.public-site .site-header .brand{flex:1 1 auto}.public-site .site-header .header-actions{flex:0 0 auto}}

.public-site .btn-primary,.public-site .btn-primary:hover { color:#10201e; }
.public-site .site-header .nav-link { color:var(--text); }
.public-site .site-header .nav-link.is-active { color:#fff; background:var(--green-900); }
.public-site .public-feature-hero .section-kicker { color:var(--gold); border-color:rgba(245,196,81,.28); background:rgba(245,196,81,.08); }
