/* v2026.10.14.3 — readable, content-first public + staff design contract.
   Deliberately scoped: legacy layouts and data workflows retain their hooks. */
:root {
  /* Primitives */
  --ng-slate-950:#172b37; --ng-slate-700:#405563; --ng-slate-600:#526675;
  --ng-slate-200:#c9d4da; --ng-slate-100:#edf2f5; --ng-slate-50:#f7f9fa;
  --ng-forest-800:#176b38; --ng-forest-900:#10532a; --ng-paper:#fff;
  --ng-space-1:.25rem; --ng-space-2:.5rem; --ng-space-3:.75rem;
  --ng-space-4:1rem; --ng-space-6:1.5rem; --ng-space-8:2rem;
  --ng-space-12:3rem; --ng-space-16:4rem;
  /* Semantic roles, including legacy aliases */
  --ng-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari",sans-serif;
  --ng-ink:var(--ng-slate-950); --ng-body:var(--ng-slate-700);
  --ng-soft:var(--ng-slate-600); --ng-mute:var(--ng-slate-600);
  --ng-line:var(--ng-slate-200); --ng-line-2:var(--ng-slate-100);
  --ng-xs:.875rem; --ng-sm:.9375rem; --ng-md:1rem;
  --ng-lg:clamp(1.0625rem,1rem + .3vw,1.1875rem);
  --ng-h1:clamp(2rem,1.5rem + 2.4vw,3.5rem);
  --ng-h2:clamp(1.625rem,1.3rem + 1.25vw,2.375rem);
  --ng-h3:clamp(1.1875rem,1.1rem + .4vw,1.4375rem); --ng-h4:1.125rem;
  --ng-lh-body:1.65; --ng-lh-head:1.25; --ng-lh-tight:1.12;
  --ng-1:var(--ng-space-2); --ng-2:var(--ng-space-3); --ng-3:var(--ng-space-4);
  --ng-4:var(--ng-space-6); --ng-5:var(--ng-space-8); --ng-6:var(--ng-space-16);
  --ng-shell:min(1200px,100% - 3rem);
  --c-cream:var(--ng-slate-50); --c-cream-soft:var(--ng-slate-50);
  --ng-surface:var(--ng-paper); --ng-surface-muted:var(--ng-slate-50);
  --ng-color-action:var(--ng-forest-800); --ng-color-action-hover:var(--ng-forest-900);
  /* Components */
  --ng-input-border:var(--ng-slate-600); --ng-card-radius:1rem; --ng-control-radius:.625rem;
}
body.ng-site,body.ng-staff{font-family:var(--ng-font);font-size:1rem;line-height:var(--ng-lh-body);color:var(--ng-ink)}
.ng-site.ng-site :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,summary,li,small,strong,span,em,b,legend,dt,dd),
.ng-staff.ng-staff :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,summary,li,small,strong,span,td,th){font-family:var(--ng-font)}
.ng-site.ng-site :is(h1,.display-1,[class$="-h1"]){font-size:var(--ng-h1);font-weight:700;line-height:var(--ng-lh-tight);letter-spacing:-.03em;text-wrap:balance}
.ng-site.ng-site :is(h2,.display-2,[class$="-h2"],.hw-title){font-size:var(--ng-h2);font-weight:650;line-height:var(--ng-lh-head);letter-spacing:-.025em;text-wrap:balance}
.ng-site.ng-site :is(h3,.display-3,[class$="-h3"]){font-size:var(--ng-h3);font-weight:650;line-height:1.35;letter-spacing:-.01em}
.ng-site.ng-site :is(h1,h2,h3) em{font-style:normal;color:inherit}
.ng-site.ng-site :is(p,.section-sub,.sec-sub){line-height:var(--ng-lh-body)}
.ng-site.ng-site :is(.eyebrow,.hw-eyebrow,[class$="-eyebrow"]){font-size:var(--ng-sm);font-weight:600;letter-spacing:0;text-transform:none;color:var(--ng-soft)}
.ng-site.ng-site :is(button,.btn-pill,.btn-pill-dark,.btn-pill-outline,.btn-pill-blue,.btn-signup,.feat-chip){min-height:2.75rem;border-radius:var(--ng-control-radius);font-size:1rem;font-weight:600}
.ng-site.ng-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:1rem;line-height:1.5;border-radius:var(--ng-control-radius)}
.ng-site.ng-site :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-height:3rem}
.ng-site :is(.price,[class*="-price"],.stat strong){font-variant-numeric:tabular-nums}
.ng-site :is(.section-head,.pdp-head,.hw-head)>*{min-width:0}
.ng-site :is(.ct-hero-grid,.ct-main-grid,.ct-side,.ct-mapcard,.ct-mapfoot){min-width:0;max-width:100%}
.ng-site .ct-mapcard iframe{display:block;width:100%}
.ng-site .ct-mapfoot{flex-wrap:wrap;gap:.75rem}
.ng-site .sx-mq{overflow:hidden;max-width:100%}
.ng-site .sx-mq-row{animation:none!important;transform:none!important;flex-wrap:wrap;max-width:100%;justify-content:center;white-space:normal}
.ng-site .sx-mq-row + .sx-mq-row{display:none}
.ng-site [class*="-grid"]>:is(div,section,article,aside,form){min-width:0}
.ng-site .sx-compact-form{display:flex;flex-wrap:wrap;min-width:0;max-width:100%}
.ng-site .sx-compact-form>:is(input,button){min-width:0;flex:1 1 11rem;max-width:100%}
.ng-site :is(p,.prose li){text-wrap:pretty}
.ng-site [class] .container,.ng-site .container{padding-inline:0}
/* Old AOS entrance transforms left real content offscreen (including reduced
   motion/no-JS). Discovery pages keep content visible and avoid scroll theatre. */
.ng-site [data-aos]{opacity:1!important;transform:none!important;transition:none!important}
.ng-site :is(.pc-title,.pdp-head h1){overflow-wrap:anywhere}
/* A quiet, high-contrast header instead of a glass pill over page content. */
.ng-site .floating-header{top:3rem;left:0;right:0;transform:none;width:100%;max-width:none;border-radius:0;background:var(--ng-paper);border:0;border-bottom:1px solid var(--ng-line);box-shadow:none;backdrop-filter:none}
.ng-site .fh-inner{width:var(--ng-shell);margin-inline:auto;padding:.75rem 0;gap:1.5rem;min-height:4.5rem}
.ng-site .fh-logo{gap:.625rem;flex-shrink:0;text-decoration:none;color:var(--ng-ink)}
.ng-site .fh-brand{display:flex;flex-direction:column;line-height:1.25}
.ng-site .fh-brand strong{font-size:1.125rem;font-weight:750;letter-spacing:-.025em}
.ng-site .fh-brand small{font-size:.8125rem;color:var(--ng-soft)}
.ng-site .fh-nav{gap:.25rem}
.ng-site .fh-nav a{font-size:1rem;min-height:2.75rem;padding:.625rem .75rem;border-radius:.5rem;line-height:1.4}
.ng-site .fh-nav a[aria-current=page]{background:var(--ng-slate-100);color:var(--ng-ink);font-weight:650}
.ng-site .fh-right{gap:.5rem}
.ng-site .btn-signup{background:var(--ng-paper);border:1px solid var(--ng-line);color:var(--ng-ink)}
.ng-site .btn-signup:hover{background:var(--ng-slate-100);color:var(--ng-ink)}
.ng-site .top-banner{background:var(--ng-slate-950);min-height:3rem}
.ng-site .tb-inner{min-height:3rem;gap:1rem}
.ng-site .tb-left,.ng-site .tb-right{font-size:.875rem;line-height:1.5}
.ng-site .badge-zero{background:transparent;border:0;color:var(--ng-paper);padding:0;font-weight:500}
.ng-site .fh-drop-menu a{white-space:normal}
/* Search is the first focal point. Language/preview links are subordinate. */
.ng-site .hero.home-search{padding:9rem 0 3rem}
.ng-site .home-search .hero-overlay{background:linear-gradient(90deg,rgba(10,28,37,.9),rgba(10,28,37,.56))}
.ng-site .home-search .home-search-copy{max-width:48rem;margin-bottom:2rem}
.ng-site .home-search .hero-title{font-size:var(--ng-h1);font-weight:700;max-width:18ch;margin-bottom:1rem;color:var(--ng-paper)}
.ng-site .home-search .hero-sub{font-size:var(--ng-lg);max-width:50ch;color:var(--ng-paper)}
.ng-site .home-search .hero-filter{border-radius:var(--ng-card-radius);box-shadow:none;padding:1.5rem;border:1px solid var(--ng-line)}
.ng-site .home-search .hf-field>span{font-size:.9375rem;font-weight:600;color:var(--ng-ink)}
.ng-site .home-search .hf-search{min-height:3rem;border-radius:var(--ng-control-radius)}
.ng-site .home-search .home-search-more summary{padding-inline:0}
.ng-site .home-search .buyer-language{margin:0 0 1rem}
.ng-site .home-search .buyer-language a{background:transparent;border-color:rgba(255,255,255,.65);color:var(--ng-paper);font-size:.875rem;min-height:2.75rem;border-radius:.5rem}
.ng-site .home-search .buyer-language a[aria-current]{background:var(--ng-paper);color:var(--ng-ink)}
.ng-site .ng-search-alternative{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:1rem;color:var(--ng-paper)}
.ng-site .ng-search-alternative a{color:inherit;display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:underline;text-underline-offset:.25em}
.ng-site #ngPreviewChangesTop{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem 0;margin-top:.5rem;font-size:.875rem;color:var(--ng-paper);text-underline-offset:.2em}
.ng-site .stats-row{background:var(--ng-slate-50)}
.ng-site .stats-inner{padding-block:1.75rem}
.ng-site .stat strong{font-size:2rem;line-height:1.3;font-weight:700;color:var(--ng-ink)}
.ng-site .stat span{font-size:.9375rem;color:var(--ng-soft)}
.ng-site :is(.pc-card,.hero-filter,.svc-teaser-card){border-radius:var(--ng-card-radius)}
.ng-site .pc-card{box-shadow:none;border:1px solid var(--ng-line)}
.ng-site .pc-title{font-size:1.1875rem;line-height:1.4;font-weight:650}
.ng-site .pc-price{font-size:1.375rem;font-weight:700}
.ng-site .pc-location{font-size:.9375rem;color:var(--ng-soft)}
.ng-site .pc-trust{opacity:1;color:var(--ng-soft)}
.ng-site .hw-steps{gap:1.5rem}
.ng-site .hw-step{padding:1.5rem;background:var(--ng-paper);border:1px solid var(--ng-line);border-radius:var(--ng-card-radius)}
.ng-site .hw-step h3{margin:1rem 0 .75rem}
.ng-site .hw-step p{font-size:1rem;color:var(--ng-body);margin:0}
.ng-site .hw-step-link{display:inline-flex;align-items:center;min-height:2.75rem;margin-top:1rem;color:var(--ng-color-action);font-weight:600;text-underline-offset:.2em}
.ng-site .footer{background:var(--ng-slate-950)}
.ng-site :is(.footer a,.footer p,.footer small){line-height:1.6}
.ng-site :is(a,button,input,select,textarea,summary):focus-visible,.ng-staff :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ng-blue);outline-offset:3px}
/* Staff uses the same reading face, calmer data surfaces and explicit actions. */
.ng-staff{--bg:var(--ng-slate-50);--ink:var(--ng-ink);--ink-2:var(--ng-body);--soft:var(--ng-soft);--mute:var(--ng-mute);--line:var(--ng-line);--o:var(--ng-color-action);--o-soft:#eef6f0}
.ng-staff.ng-staff :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:1rem;min-height:2.75rem;line-height:1.5}
.ng-staff.ng-staff :is(.btn,.btn-sm,button:not(.sb-toggle)){font-size:.9375rem;min-height:2.75rem;white-space:normal}
.ng-staff :is(td,th){font-size:.9375rem;line-height:1.5;font-variant-numeric:tabular-nums}
.ng-staff :is(h1,.pg-title){font-size:clamp(1.625rem,1.4rem + 1vw,2.25rem);line-height:1.25;font-weight:700;letter-spacing:-.02em}
@media(max-width:75em){.ng-site .fh-brand small{display:none}.ng-site .fh-inner{gap:1rem}.ng-site .fh-nav a{padding-inline:.5rem}}
@media(max-width:64em){.ng-site .fh-nav{display:none}.ng-site .fh-burger{display:flex}.ng-site .fh-brand small{display:block}}
@media(max-width:47.99em){
 :root{--ng-shell:min(1200px,100% - 2rem)}
 .ng-site .floating-header{top:3.5rem}.ng-site .top-banner,.ng-site .tb-inner{min-height:3.5rem}
 .ng-site .tb-right,.ng-site .tb-left .sep{display:none}.ng-site .tb-left{flex-wrap:wrap;gap:.25rem 1rem}
 .ng-site .fh-inner{padding:.5rem 0;min-height:4.25rem}.ng-site .fh-brand small{font-size:.75rem}
 .ng-site .hero.home-search{padding:8.5rem 0 2rem}.ng-site .home-search .home-search-copy{margin-bottom:1.5rem}
 .ng-site .home-search .hero-filter{padding:1rem}.ng-site .home-search .hf-grid{grid-template-columns:1fr;gap:1rem}
 .ng-site .section-head{align-items:flex-start;gap:1rem;flex-direction:column}
 .ng-site .stats-inner{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.ng-site .stat{border:0;padding:0}
 .ng-site .hw-steps{grid-template-columns:1fr}.ng-site .ng-search-alternative{gap:.25rem 1rem}
 .ng-site .ct-hero-grid,.ng-site .ct-main-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.ng-site *, .ng-staff *{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}
