
@font-face { font-family: "Archivo"; src: url("/assets/fonts/Archivo-Variable-latin.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-style: normal; font-display: optional; }   
@font-face { font-family: "Archivo Fallback"; src: local("Arial"); size-adjust: 105.5%; ascent-override: 83.2%; descent-override: 19.9%; line-gap-override: 0%; }   

:root {
  
  --ground: #F6F5FA;                    
  --white: #FFFFFF;                     
  --tint: #EFECF9;                      
  --tint-deep: #DDD8EE;                 
  --brown: #261040;                     
  --ink: #261040;                       
  --cream: #F3F2EF;                     
  --logo: #6A1FAD;                      
  --copy: rgba(38, 16, 64, .82);        
  --muted: rgba(38, 16, 64, .68);       
  --accent: #6A1FAD;                    
  --accent-hover: #561890;               
  --brand-yellow: #FFF200;              
  --steel: #6F6585;                     
  --line: #E5E0F6;        
  --line-strong: rgba(38, 16, 64, .55); 
  --dark-band: radial-gradient(120% 80% at 88% 108%, rgba(106, 31, 173, .62) 0%, rgba(106, 31, 173, 0) 62%), linear-gradient(180deg, #261040 0%, #2C1350 100%);   
  --lift: 0 22px 46px -22px rgba(38, 16, 64, .38);                  

  
  --line-brown: var(--line);
  --line-brown-strong: var(--line-strong);
  --field-ring: var(--line-strong);     
  --field: rgba(38, 16, 64, .05);
  --menu-panel: var(--ground);
  --glass: var(--ground);               
  --glass-card: rgba(38, 16, 64, .4);
  --glass-line: rgba(243, 242, 239, .2);
  --quote: var(--ink);
  --brown-hover: color-mix(in srgb, var(--brown) 88%, var(--cream));
  --tint-hover: color-mix(in srgb, var(--tint) 97%, #000);
  --tint-deep-hover: color-mix(in srgb, var(--tint-deep) 95%, #000);
  --panel-gradient: var(--dark-band);
  --portrait-gradient: linear-gradient(180deg, var(--tint-deep) 0%, var(--tint) 100%);
  --steps-dark: var(--dark-band);
  
  --veil: rgba(14, 24, 35, .5);
  --veil-card: rgba(14, 24, 35, .6);
  --veil-soft: rgba(14, 24, 35, .42);
  --veil-step: rgba(14, 24, 35, .56);   
  --veil-hero: linear-gradient(to top, rgba(14, 24, 35, .72) 0, rgba(14, 24, 35, .6) 45%, rgba(14, 24, 35, .12) 100%);
  --veil-hero-phone: linear-gradient(to top, rgba(14, 24, 35, .78) 0, rgba(14, 24, 35, .7) 70%, rgba(14, 24, 35, .3) 100%);
  --veil-top: linear-gradient(to bottom, rgba(14, 24, 35, .72) 0, rgba(14, 24, 35, .6) 400px, rgba(14, 24, 35, 0) 640px);
  --veil-top-phone: linear-gradient(to bottom, rgba(14, 24, 35, .76) 0, rgba(14, 24, 35, .66) 800px, rgba(14, 24, 35, 0) 1040px);
  --veil-band: linear-gradient(to bottom, rgba(14, 24, 35, .66) 0, rgba(14, 24, 35, .72) 50%, rgba(14, 24, 35, .8) 100%);   
  --chip-photo: rgba(14, 24, 35, .66);
  --btn-glass: rgba(14, 24, 35, .55);
  --btn-glass-hover: rgba(14, 24, 35, .7);
  --copy-on-photo: rgba(255, 255, 255, .94);
  --card-photo-gradient-dense: linear-gradient(180deg, rgba(14, 24, 35, .3) 0%, rgba(14, 24, 35, .62) 40%, rgba(14, 24, 35, .78) 100%);
  --card-photo-gradient: linear-gradient(180deg, rgba(14, 24, 35, 0) 0%, rgba(14, 24, 35, 0) 35%, rgba(14, 24, 35, .62) 68%, rgba(14, 24, 35, .76) 100%);
  
  --leaf: var(--steel);
  --leaf-ink: var(--brown);
  --leaf-soft: var(--tint);
  --sky: var(--steel);
  --sky-soft: var(--tint);
  --stage-early: var(--steel);
  --stage-early-soft: var(--tint);
  --stage-primary: var(--brown);
  --stage-primary-soft: var(--tint-deep);
  --stage-high: var(--brown);
  --stage-high-soft: var(--tint-deep);
  --stage-more: var(--steel);
  --stage-more-soft: var(--tint);
  --room-nursery: var(--stage-early);
  --room-nursery-soft: var(--stage-early-soft);
  --room-toddlers: var(--stage-primary);
  --room-toddlers-soft: var(--stage-primary-soft);
  --room-preschool: var(--stage-high);
  --room-preschool-soft: var(--stage-high-soft);
  --coral: #D2531F;                     
  --coral-ink: #A8380F;                 
  --green: var(--steel);
  --green-soft: var(--tint);
  --pink: var(--steel);
  --pink-soft: var(--tint);
  --blue: var(--steel);

  
  --sans: "Archivo", "Archivo Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "Archivo", "Archivo Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;   
  --serif: var(--sans);
  --serif-var: var(--w-display);
  --serif-w: 680;
  --cv: normal;
  --nums: "tnum" 1, "lnum" 1;
  --w-display: "wdth" 100, "wght" 480;  
  --w-h2: "wdth" 100, "wght" 480;
  --w-title-l: "wdth" 100, "wght" 520;  
  --w-title-m: "wdth" 100, "wght" 520;
  --w-title-s: "wdth" 100, "wght" 520;
  --w-body: "wdth" 100, "wght" 400;
  --w-ui: "wdth" 100, "wght" 560;       
  --w-price: "wdth" 100, "wght" 700;    
  --w-strong: "wdth" 100, "wght" 700;
  --w-mono: 600;                        
  --tr-display: -0.04em;
  --tr-h2: -0.032em;
  --tr-title-l: -0.015em;
  --tr-title-m: -0.01em;
  --tr-title-s: -0.005em;
  --tr-body: 0;
  --tr-ui: 0.005em;
  --tr-mono: var(--tr-label);
  --tr-price: -0.02em;
  
  --track: var(--tr-body);
  --track-m: var(--tr-title-m);
  --track-l: var(--tr-title-l);
  --track-xl: var(--tr-price);
  --track-serif: var(--tr-display);
  
  --fs-display: 84px;
  --fs-display-xl: 84px;
  --fs-h2: 50px;
  --fs-h2-s: 40px;
  --fs-title-l: 28px;
  --fs-title-m: 22px;
  --fs-title-s: 18px;
  --fs-body: 17px;
  --fs-ui: 15px;
  --fs-mono: var(--fs-label);
  --fs-micro: 12px;
  --fs-price: 44px;
  --fs-stat: 44px;
  --fs-serif-s: 28px;
  --fs-name: 22px;
  --fs-h3-article: 28px;
  --fs-step: 84px;
  --lh-display: 1;
  --lh-h2: 1.06;
  --lh-title-l: 1.15;
  --lh-title-m: 1.2;
  --lh-title-s: 1.25;
  --lh-body: 1.55;
  --lh-ui: 1.2;
  --lh-tight: 1.06;
  --lh-btn: 1.2;
  --lh-mono: 1.3;
  --lh-price: 1;

  
  --r-pill: 999px;                      
  --r-chip: 999px;
  --r-nav: 19px;                        
  --r-card: 19px;
  --r-card-l: 19px;
  --r-inset: 10px;
  --r-panel: 19px;
  --r-row: 14px;
  --r-field: 10px;

  
  --content: 1384px;
  --gutter: 29px;
  --pad-section: 112px;
  --pad-card: 28px;
  --gap-card: 16px;
  --gap-section: 0px;                   
  --top-first: 56px;                    
  --bar-h: 76px;                        
  --bar-h-compact: 64px;
  --util-h: 36px;                       
  --nav-h: calc(var(--util-h) + var(--bar-h));                  
  --nav-h-compact: calc(var(--util-h) + var(--bar-h-compact));
  --field-h: 52px;                      

  
  --ease-spring: linear(0, 0.0344 3.125%, 0.1144 6.25%, 0.2150 9.375%, 0.3208 12.5%, 0.4228 15.62%, 0.5164 18.75%, 0.5993 21.88%, 0.6711 25%, 0.7320 28.12%, 0.7831 31.25%, 0.8254 34.38%, 0.8601 37.5%, 0.8884 40.62%, 0.9113 43.75%, 0.9297 46.88%, 0.9445 50%, 0.9563 53.12%, 0.9656 56.25%, 0.9730 59.38%, 0.9789 62.5%, 0.9835 65.62%, 0.9871 68.75%, 0.9900 71.88%, 0.9922 75%, 0.9940 78.12%, 0.9953 81.25%, 0.9964 84.38%, 0.9972 87.5%, 0.9978 90.62%, 0.9983 93.75%, 0.9987 96.88%, 1 100%);
  --dur: 1s;
  --load-delay: .5s;
  --marquee-rate: 50.4;

  
  --nav-collapsed: 0;
}

@media (max-width: 1199.98px) {
  :root {
    --fs-display: 64px; --fs-display-xl: 64px; --fs-h2: 40px; --fs-h2-s: 34px; --fs-title-l: 24px; --fs-title-m: 20px;
    --fs-price: 40px; --fs-stat: 40px; --fs-serif-s: 24px; --fs-name: 20px; --fs-h3-article: 24px; --fs-step: 64px;
    --gutter: 24px; --pad-section: 88px; --pad-card: 24px; --top-first: 44px;
  }
}

@media (max-width: 809.98px) {
  :root {
    --fs-display: 42px; --fs-display-xl: 42px; --fs-h2: 32px; --fs-h2-s: 28px; --fs-title-l: 22px; --fs-title-m: 19px; --fs-title-s: 17px;
    --fs-body: 16px; --fs-micro: 11px; --fs-price: 34px; --fs-stat: 34px; --fs-serif-s: 22px; --fs-name: 19px; --fs-h3-article: 22px; --fs-step: 42px;
    --gutter: 20px; --pad-section: 64px; --pad-card: 20px; --top-first: 32px; --field-h: 48px;
    --bar-h: 64px; --bar-h-compact: 56px;
  }
}

@media (max-width: 374.98px) {
  :root { --fs-display: 36px; --fs-display-xl: 36px; }
}

:root {
  --steel-50: #F3F1FC;                  
  --steel-100: #E6E2F8;                 
  --steel-200: #D3CDEE;                 
  --steel-700: #45367A;                 
  --r-soft: 19px;                       
  --r-soft-l: 19px;                     
  --r-full: 999px;                      
  --shadow-soft: rgba(219, 211, 244, .4) 0 7px 10px 0, rgba(38, 16, 64, .04) 0 1px 2px 0;
  --fs-label: 13px;                     
  --w-label: 600;
  --tr-label: .005em;
  --ic-line: #6A1FAD;                   
  --ic-fill: #FFF200;                   
  --ic-detail: #6A1FAD;                 
  --ic-accent: #6A1FAD;                 
  --ic-on-dark-line: #D4B9F4;            
  --ic-on-dark-fill: rgba(255, 255, 255, .14);
  --ic-on-dark-accent: #FFF200;       
  
  --open-dot: #1E8F55;
  --open-ring: rgba(30, 143, 85, .5);
  --closed-dot: #8A8198;
  --open-dot-on-dark: #3DD27D;
  --open-ring-on-dark: rgba(61, 210, 125, .55);
  --closed-dot-on-dark: #B9B0C8;
}

@media (max-width: 809.98px) {
  :root { --fs-label: 12px; }
}

:root {
  --canvas: #F6F5FA;                    
  --hero-fill: linear-gradient(160deg, #DADAEE 0%, #E4E2F4 52%, #E9E7F6 100%);   
  --night: #1A0B33;                     
  --glow: #6A1FAD;                      
  --r-hero: 29px;                       
  --r-panel-xl: 38px;                   
  --inset: 22px;                        
  --on-dark-muted: rgba(243, 242, 239, .72);   
  --glass: rgba(246, 245, 250, .72);    
  --chip-arrow: #E6E2F8;                
  
  --btn-r: 13px;                        
  --btn-in: 6px;                        
  --chip-r: calc(var(--btn-r) - var(--btn-in));   
}
@media (max-width: 1199.98px) { :root { --inset: 16px; } }
@media (max-width: 809.98px) { :root { --inset: 12px; --r-panel-xl: 29px; } }



*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; overflow-x: clip; scroll-padding-top: calc(var(--nav-h) + 24px); scroll-padding-bottom: 88px; }
body {
  margin: 0; background: var(--ground); color: var(--ink);
  font-family: var(--sans); font-size: var(--fs-body); font-weight: 400; font-stretch: 100%; line-height: var(--lh-body);
  letter-spacing: var(--tr-body); font-feature-settings: var(--cv); font-optical-sizing: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, h5, h6, ul, ol, dl, dd, figure, blockquote { margin: 0; }

h1, h2, h3, h4 { text-wrap: balance; }
.lead { text-wrap: pretty; }
ul, ol { padding: 0; list-style: none; }

button, input, select, textarea { font: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
strong, b { font-weight: 700; font-variation-settings: var(--w-strong); }

:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
:root { --ring: 0 0 0 4px var(--brown); }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--brown); color: var(--cream); padding: 10px 14px; border-radius: var(--r-pill); }
.skip:focus { top: 12px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.display, .h2, .t-l, .t-m, .t-s, .ui, .mono { font-synthesis: none; }
.display { font-size: var(--fs-display); line-height: var(--lh-display); font-weight: 680; font-variation-settings: var(--w-display); letter-spacing: var(--tr-display); overflow-wrap: anywhere; }
.h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: 650; font-variation-settings: var(--w-h2); letter-spacing: var(--tr-h2); }
.h2-s { font-size: var(--fs-h2-s); line-height: var(--lh-h2); font-weight: 650; font-variation-settings: var(--w-h2); letter-spacing: var(--tr-h2); }
.serif { font-weight: 650; font-variation-settings: var(--w-h2); letter-spacing: var(--tr-h2); }   
.t-l { font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); }
.t-m { font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 600; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.t-s { font-size: var(--fs-title-s); line-height: var(--lh-title-s); font-weight: 600; font-variation-settings: var(--w-title-s); letter-spacing: var(--tr-title-s); }
.t-h3 { font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); color: var(--brown); }
.ui { font-size: var(--fs-ui); line-height: var(--lh-ui); font-weight: 560; font-variation-settings: var(--w-ui); letter-spacing: var(--tr-ui); }

.mono { font-family: var(--sans); font-weight: var(--w-label); font-variation-settings: "wdth" 100, "wght" 600; font-size: var(--fs-label); line-height: var(--lh-mono); letter-spacing: var(--tr-label); text-transform: none; color: var(--label-ink, var(--steel-700)); }

.sec--dark, .on-dark, .photo-sec, .foot { --label-ink: var(--steel-100); }
.pk, .band__form, .hm-card, .demo__panel { --label-ink: var(--steel-700); }
.copy { color: var(--copy); }
.muted { color: var(--muted); }
.num { font-variant-numeric: tabular-nums lining-nums; }
.on-dark, .on-dark .copy { color: var(--cream); }
.on-dark .copy { opacity: .78; }

.wrap { width: 100%; max-width: calc(var(--content) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }

main { display: block; margin-top: var(--nav-h); }
main:focus { outline: none; } 
.sec { padding: var(--pad-section) 0; }

.sec:not(.sec--band):not(.sec--dark):not(.sec--tint) + .sec:not(.sec--band):not(.sec--dark):not(.sec--tint) { padding-top: 0; }
.sec--first { padding-top: var(--top-first); }
.sec--dark { background: var(--dark-band); color: var(--cream); }
.sec--tint { background: var(--tint); }
.full { width: 100%; }

.chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--r-full); background: var(--steel-100); color: var(--steel-700); font-family: var(--sans); font-weight: var(--w-label); font-variation-settings: "wdth" 100, "wght" 600; font-size: var(--fs-label); line-height: var(--lh-btn); letter-spacing: var(--tr-label); text-transform: none; white-space: nowrap; width: max-content; max-width: 100%; }
.chip__dot { width: 6px; height: 6px; flex: none; border-radius: var(--r-full); background: var(--steel); }
.chip--deep { background: var(--steel-200); color: var(--brown); }
.chip--photo, .chip--dark20, .chip--dark30, .chip--dark50 { background: var(--chip-photo); color: var(--white); }
.chip--photo .chip__dot, .chip--dark20 .chip__dot, .chip--dark30 .chip__dot, .chip--dark50 .chip__dot { background: var(--steel-100); }
.tag { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: var(--r-chip); background: var(--tint); color: var(--brown); font-size: var(--fs-ui); font-variation-settings: var(--w-ui); line-height: var(--lh-btn); white-space: nowrap; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.badge { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: var(--r-panel); background: var(--tint-deep); color: var(--ink); font-size: var(--fs-ui); line-height: var(--lh-ui); }
.badge--dark { background: var(--brown); color: var(--cream); }

.nw { white-space: nowrap; }

.smp { display: inline-block; margin-left: 2px; color: var(--label-ink, var(--steel-700)); font-family: var(--sans); font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; font-size: .9em; line-height: 1; vertical-align: .22em; letter-spacing: 0; text-transform: none; }

.btn, .nav__link, .dd__a, .menu__row, .menu__a { font-feature-settings: normal; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 18px; border: 1px solid transparent; border-radius: var(--r-pill); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); letter-spacing: var(--tr-ui); line-height: var(--lh-btn); white-space: nowrap; transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.btn--dark { background: var(--brown); color: var(--cream); }
.btn--dark:hover { background: var(--brown-hover); }
.btn--white { background: var(--white); color: var(--ink); }
.btn--white:hover { background: var(--tint); }
.btn--light { background: transparent; color: var(--brown); box-shadow: inset 0 0 0 1.5px var(--brown); }
.btn--light:hover { background: var(--steel-50); }

.btn--light:focus-visible { box-shadow: inset 0 0 0 1.5px var(--brown), var(--ring); }

.btn--ghost, .btn--glass { background: transparent; color: var(--cream); border-color: rgba(243, 242, 239, .55); }
.btn--ghost:hover, .btn--glass:hover { background: rgba(243, 242, 239, .12); border-color: var(--cream); }
.btn--block { width: 100%; }
.btn--lg { min-height: 52px; padding: 12px 22px; }
.btns { display: flex; flex-wrap: wrap; gap: 8px; }

.btn--price { justify-content: space-between; background: var(--accent); color: var(--white); padding: 8px 8px 8px 18px; gap: 14px; }
.btn--price:hover { background: var(--accent-hover); }
.btn__ic { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 4px; background: rgba(255, 255, 255, .18); transition: transform .35s var(--ease-spring); }
.btn__ic svg { width: 12px; height: 12px; }
.btn--price:hover .btn__ic { transform: translateX(2px); }

.sec--dark .btn--price, .on-dark .btn--price { background: var(--cream); color: var(--brown); }
.sec--dark .btn--price:hover, .on-dark .btn--price:hover { background: var(--white); }
.sec--dark .btn--price .btn__ic, .on-dark .btn--price .btn__ic { background: rgba(38, 16, 64, .12); }

.avail { display: inline-block; flex: none; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--brand-yellow); box-shadow: 0 0 0 1.5px var(--brown); vertical-align: 1px; }

.logo--text { display: inline-flex; align-items: center; font-weight: 700; font-variation-settings: "wdth" 104, "wght" 700; font-size: 20px; letter-spacing: -0.01em; white-space: nowrap; }
.btn__short { display: none; }

.shead { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.shead--center { align-items: center; text-align: center; margin: 0 auto; }
.shead__eyebrow { margin-bottom: -2px; }

.shead__dim, .dim { display: none; }
.shead__lead { color: var(--copy); max-width: 58ch; font-size: var(--fs-title-s); line-height: var(--lh-body); }
.shead .btn { margin-top: 8px; }
.shead + * { margin-top: 40px; }
@media (max-width: 809.98px) { .shead + * { margin-top: 28px; } }

.wm { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.wm > span { display: inline-block; }
.js .reveal-words .wm > span { transform: translateY(105%); }
.js .reveal-words.is-in .wm > span { transform: none; transition: transform var(--dur) var(--ease-spring); transition-delay: calc(var(--wi, 0) * 40ms + var(--rd, 0ms)); }

.js .is-loaded .reveal-words[data-load] .wm > span { transform: none; transition: transform var(--dur) var(--ease-spring); transition-delay: calc(var(--wi, 0) * 40ms + var(--load-delay) + var(--rd, 0ms)); }
.js [data-rise] { opacity: 0; transform: translateY(20px); }
.js [data-rise].is-in { opacity: 1; transform: none; transition: opacity var(--dur) var(--ease-spring), transform var(--dur) var(--ease-spring); transition-delay: var(--rd, 0ms); }
.js [data-load]:not(.reveal-words) { opacity: 0; transform: translateY(20px); }
.js .is-loaded [data-load]:not(.reveal-words) { opacity: 1; transform: none; transition: opacity var(--dur) var(--ease-spring), transform var(--dur) var(--ease-spring); transition-delay: calc(var(--load-delay) + var(--rd, 0ms)); }
@media (prefers-reduced-motion: reduce) {
  .js .reveal-words .wm > span, .js [data-rise], .js [data-load] { transform: none !important; opacity: 1 !important; transition: none !important; }
}

.nav { position: sticky; top: 0; height: 0; z-index: 50; display: flow-root; }
.nav__bar { position: absolute; left: 0; right: 0; top: 0; height: var(--nav-h); display: flex; flex-direction: column; background: var(--ground); border-bottom: 1px solid var(--line); transition: height .25s ease; }
.nav.is-compact .nav__bar { height: var(--nav-h-compact); }
.nav__in { display: flex; align-items: center; gap: 28px; flex: 1; min-height: 0; }
.nav__logo { display: inline-flex; align-items: center; flex: none; height: 100%; color: var(--logo); }
.logo { display: block; color: inherit; }
.logo svg { height: 100%; width: auto; }
.logo--light { color: var(--cream); }

.nav__util { flex: none; height: var(--util-h); background: var(--brown); color: var(--cream); }
.nav__util-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 100%; font-size: 13px; line-height: 1.2; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.util__l, .util__r { display: flex; align-items: center; gap: 16px; min-width: 0; }
.util__emlink { display: inline-flex; align-items: center; min-height: 28px; white-space: nowrap; }       
.util__em, .util__cond { color: rgba(243, 242, 239, .86); white-space: nowrap; }
.util__emlink:hover .util__em, .util__emlink:hover .util__cond { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }
.util__tel { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; padding-left: 16px; border-left: 1px solid rgba(243, 242, 239, .28); color: var(--cream); font-size: 14px; font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.util__tel svg { width: 16px; height: 16px; flex: none; color: var(--brand-yellow); }
.util__tel:hover span { text-decoration: underline; text-underline-offset: 3px; }

.open { --dot: var(--closed-dot); display: inline-flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1.25; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; white-space: nowrap; }
.open__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--dot); }
.open__t { min-width: 5.6em; }
.open__h { padding-left: 10px; border-left: 1px solid currentColor; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; opacity: .86; }
.open__sub { font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; opacity: .9; }
.open[data-state="unknown"] .open__dot { visibility: hidden; }
.open[data-state="unknown"] .open__t { min-width: 0; }
.open[data-state="unknown"] .open__h { padding-left: 0; border-left: 0; }
.open[data-state="open"] { --dot: var(--open-dot); }
.open[data-state="open"] .open__dot { animation: open-pulse 2.2s ease-out infinite; }
@keyframes open-pulse { 0% { box-shadow: 0 0 0 0 var(--open-ring); } 70%, 100% { box-shadow: 0 0 0 7px rgba(0, 0, 0, 0); } }
.open--bar, .open--hero { --open-dot: var(--open-dot-on-dark); --open-ring: var(--open-ring-on-dark); --closed-dot: var(--closed-dot-on-dark); }
.open--bar { color: var(--cream); }
.open--bar .open__sub { display: none; }                       
.open--head { padding: 6px 11px 6px 10px; gap: 7px; border: 1px solid var(--line); border-radius: var(--r-full); background: var(--white); color: var(--brown); }
.open--head .open__t { min-width: 0; }
a.open--head { text-decoration: none; }
a.open--head[href] { cursor: pointer; }
a.open--head[href]:hover { border-color: var(--brown); }

.open--head[data-state="closed"] { align-items: center; gap: 5px; padding: 5px 9px 5px 8px; }
.open--head[data-state="closed"] .open__t { white-space: normal; max-width: 6.4em; font-size: 12px; line-height: 1.15; text-wrap: balance; }
.nav__phone[data-open-state="closed"] .nav__callbtn { display: none; }
@media (min-width: 580px) { .nav__phone[data-open-state="closed"] .nav__callbtn { display: grid; } }
@media (min-width: 660px) {
  .open--head[data-state="closed"] { gap: 7px; padding: 6px 11px 6px 10px; }
  .open--head[data-state="closed"] .open__t { white-space: nowrap; max-width: none; font-size: 13px; line-height: 1.25; }
}
.open--head .open__sub, .open--head .open__h { display: none; }
.open--hero { padding: 8px 14px; border-radius: var(--r-full); background: var(--chip-photo); color: var(--white); flex-wrap: wrap; row-gap: 2px; }
.open--card { padding: 8px 14px; border-radius: var(--r-full); background: var(--steel-100); color: var(--brown); flex-wrap: wrap; row-gap: 2px; }
.open--card .open__t, .open--hero .open__t { min-width: 0; }

.open--card[data-state="closed"] .open__h, .open--hero[data-state="closed"] .open__h { flex-basis: 100%; padding-left: 16px; border-left: 0; }

.open--card .open__sub, .open--hero .open__sub { min-width: 0; white-space: normal; }
@media (max-width: 559.98px) { .open--card[data-state="closed"] .open__sub, .open--hero[data-state="closed"] .open__sub { flex-basis: 100%; padding-left: 16px; } }
html:not(.js) .open--head { display: none; }
@media (prefers-reduced-motion: reduce) { .open[data-state="open"] .open__dot { animation: none; } }

.nav__links { display: flex; align-items: stretch; align-self: stretch; flex: 1; gap: 0; min-width: 0; }
.nav__item { position: relative; display: flex; align-items: center; }
.nav__link { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 11px; color: var(--ink); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); letter-spacing: var(--tr-ui); line-height: var(--lh-ui); white-space: nowrap; transition: color .2s ease; }
.nav__link::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 6px; height: 2px; background: var(--brown); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease-spring); }
.nav__link:hover, .nav__item.is-open > .nav__link { color: var(--brown); }
.nav__link:hover::after, .nav__link[aria-current="page"]::after, .nav__link.is-current::after, .nav__item.is-open > .nav__link::after { transform: scaleX(1); }
.nav__dd svg { width: 10px; height: 6px; flex: none; transition: transform .3s ease; }
.nav__dd[aria-expanded="true"] svg { transform: rotate(180deg); }

@media (min-width: 1280px) and (max-width: 1439.98px) {
  .nav__in { gap: 16px; }
  .nav__link { padding: 0 9px; font-size: 14px; }
  .nav__link::after { left: 9px; right: 9px; }
}
.nav__btns { display: flex; align-items: center; gap: 20px; margin-left: auto; flex: none; }

.nav__phone { display: none; align-items: center; gap: 8px; flex: none; }
.nav__callbtn { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-full); background: var(--steel-100); color: var(--brown); transition: background-color .2s ease; }
.nav__callbtn:hover { background: var(--steel-200); }
.nav__callbtn svg { width: 20px; height: 20px; }

.menu-btn { position: relative; flex: none; width: 44px; height: 44px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); color: var(--brown); }
.menu-btn span { position: absolute; left: 25%; width: 50%; height: 2px; background: currentColor; transition: transform .35s var(--ease-spring), top .35s var(--ease-spring); }
.menu-btn span:first-child { top: calc(50% - 5px); }
.menu-btn span:last-child { top: calc(50% + 3px); }
.menu-btn[aria-expanded="true"] span:first-child { top: calc(50% - 1px); transform: rotate(45deg); }
.menu-btn[aria-expanded="true"] span:last-child { top: calc(50% - 1px); transform: rotate(-45deg); }
.burger { display: none; }

.nav__demo { display: none; }

.dd { position: absolute; top: 100%; left: 0; z-index: 2; min-width: 240px; padding: 18px 20px 14px; background: var(--white); border: 1px solid var(--line); border-radius: 0 0 var(--r-card) var(--r-card); box-shadow: var(--lift); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s ease, transform .3s var(--ease-spring), visibility 0s linear .3s; }
.nav__item.is-open > .dd { opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease, transform .3s var(--ease-spring), visibility 0s; }
html:not(.js) .nav__item:hover > .dd, html:not(.js) .nav__item:focus-within > .dd { opacity: 1; visibility: visible; transform: none; transition: none; }
.nav__item:nth-last-child(-n+2) > .dd { left: auto; right: 0; }
.dd__cols { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px 28px; }
.dd--services { width: 660px; }
.dd--brands { width: 440px; }
.dd--areas { width: 500px; }
.dd--resources, .dd--about { width: 270px; }
.dd--marine { width: 260px; }
.dd__grp + .dd__grp { margin-top: 14px; }
.dd__head { margin: 0 0 4px; padding: 0 8px; color: var(--steel-700); font-size: var(--fs-label); line-height: var(--lh-mono); font-weight: var(--w-label); font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: var(--tr-label); }
.dd__a { display: flex; flex-direction: column; justify-content: center; gap: 1px; min-height: 40px; padding: 5px 8px; border-radius: 6px; color: var(--ink); font-size: var(--fs-ui); font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; line-height: var(--lh-ui); white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
.dd__a:hover { background: var(--steel-50); color: var(--brown); }
.dd__a[aria-current="page"] { color: var(--brown); font-weight: 700; font-variation-settings: var(--w-strong); }
.dd__sub { color: var(--muted); font-size: 12px; line-height: 1.25; font-weight: 500; }
.dd__foot { display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--line); }
.dd__a--foot { color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.dd__note { margin: 8px 8px 0; color: var(--muted); font-size: 13px; line-height: 1.4; }

.menu { display: none; }
.menu__head { margin: 0; }
.menu__list { display: flex; flex-direction: column; }
.menu__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 54px; padding: 0 2px; border-bottom: 1px solid var(--line); color: var(--ink); text-align: left; font-size: var(--fs-title-m); font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; line-height: var(--lh-ui); }
.menu__row svg { flex: none; color: var(--steel); }
.menu__row[href] svg { width: 9px; height: 14px; }
.menu__toggle svg { width: 13px; height: 8px; transition: transform .3s var(--ease-spring); }
.menu__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.menu__row[aria-current="page"], .menu__toggle[aria-expanded="true"] { color: var(--brown); }
.menu__row:hover { color: var(--brown); }

.menu__sub { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .4s var(--ease-spring), visibility 0s linear .4s; }
.menu__sub-in { overflow: hidden; min-height: 0; }

.menu__grp.is-open > .menu__sub { grid-template-rows: 1fr; visibility: inherit; transition: grid-template-rows .4s var(--ease-spring), visibility 0s; }
.menu__grp.is-open > .menu__sub .menu__sub-in { padding: 4px 0 10px; }
.menu__a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 46px; padding: 8px 2px 8px 14px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: var(--fs-body); font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; line-height: var(--lh-ui); }
.menu__a:last-of-type { border-bottom: 0; }
.menu__a small { color: var(--muted); font-size: 13px; font-weight: 500; text-align: right; }
.menu__a[aria-current="page"] { color: var(--brown); font-weight: 700; font-variation-settings: var(--w-strong); }
.menu__subhead { margin: 10px 0 0 14px; color: var(--steel-700); font-size: var(--fs-label); line-height: var(--lh-mono); font-weight: var(--w-label); font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: var(--tr-label); }
.menu__note { margin: 8px 0 0 14px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.menu__foot { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.menu__price { display: inline-flex; justify-content: space-between; width: 100%; min-height: 52px; }
.menu__mail { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; color: var(--ink); font-size: var(--fs-body); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.menu__mail .li { width: 18px; height: 18px; color: var(--steel); }
.menu__mail:hover { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; }
.menu__open { justify-self: center; }

.mbar { display: none; }
:root { --mbar-h: 0px; }

@media (max-width: 1279.98px) {
  :root { --nav-collapsed: 1; --util-h: 0px; }
  .nav__util, .nav__links { display: none; }
  .nav__in { gap: 12px; }
  .nav__phone { display: flex; }
  .burger { display: block; }
  
  .nav__demo { display: inline-grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--r-full); color: var(--brown); transition: background-color .2s ease; }
  .nav__demo:hover, .nav__demo[aria-expanded="true"] { background: var(--steel-100); }
  .nav__demo svg { width: 22px; height: 22px; }
  body .demo { left: var(--gutter); right: var(--gutter); top: calc(var(--nav-h) + 8px); bottom: auto; height: 0; }   
  .demo .demo__btn { display: none; }
  .demo .demo__panel { top: 0; bottom: auto; width: min(380px, 100%); max-height: calc(100svh - var(--nav-h) - var(--mbar-h) - 24px); }
  body:has(.menu.is-open) .demo, body:has(.menu.is-open) .nav__demo { opacity: 0; visibility: hidden; pointer-events: none; }
  .nav__price .btn__full { display: none; }
  .nav__price .btn__short { display: inline; }
  .menu { position: fixed; top: var(--menu-top, var(--nav-h)); left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; background: var(--menu-panel); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s ease, transform .35s var(--ease-spring), visibility 0s linear .35s; }
  .menu.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .25s ease, transform .35s var(--ease-spring), visibility 0s; }
  .menu__in { display: flex; flex-direction: column; flex: 1; min-height: 0; width: 100%; max-width: 720px; margin: 0 auto; padding: 0; }
  .menu__grid { display: block; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px var(--gutter) 12px; }
  
  .menu__grid::after { content: ""; display: block; position: sticky; bottom: -12px; height: 32px; margin: -32px calc(-1 * var(--gutter)) -12px; background: linear-gradient(to bottom, rgba(243, 242, 239, 0), var(--ground)); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  .menu__grid[data-more]::after { opacity: 1; }
  .menu__foot { flex: none; padding: 14px var(--gutter) calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--ground); }
  html.menu-open { overflow: hidden; }
}

@media (max-width: 809.98px) { .nav__demo { display: none; } }

@media (min-width: 810px) and (max-width: 1279.98px) { .nav__btns { margin-left: auto; } }

@media (max-width: 809.98px) {
  .nav__btns { display: none; }
  .nav__phone { margin-left: auto; }
    
  @media (max-width: 389.98px) {
    .nav__in { gap: 8px; }
  }
  @media (max-width: 375.98px) {
    .nav__callbtn { display: none; }
  }
  @media (max-width: 339.98px) {
    .open--head { padding: 6px 8px; gap: 5px; }
  }
  :root { --mbar-h: calc(68px + env(safe-area-inset-bottom)); }
  body:not(:has(.mbar)) { --mbar-h: 0px; }
  .mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: flex; gap: 8px; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: var(--ground); border-top: 1px solid var(--line); transition: opacity .3s ease, transform .5s var(--ease-spring), visibility 0s; }
  .mbar__call { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px 0 12px; border-radius: var(--r-pill); background: var(--steel-100); color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: var(--lh-btn); }
  .mbar__call svg { width: 20px; height: 20px; flex: none; }
  .mbar__price { flex: 1 1 auto; justify-content: space-between; min-height: 48px; padding-left: 14px; gap: 10px; }
  .mbar__menu { width: 48px; height: 48px; background: var(--brown); border-color: var(--brown); color: var(--cream); }
  
  @media (max-width: 359.98px) {
    .mbar__call { width: 48px; padding: 0; }
    .mbar__call span { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
    .mbar__price { min-width: 0; }
  }
  
  body:has(.menu.is-open) .mbar { opacity: 0; visibility: hidden; pointer-events: none; }
  body.fm-typing .mbar, body.fm-typing .demo { opacity: 0; visibility: hidden; transform: translateY(20px); pointer-events: none; }
  body:has(.menu.is-open) .demo { opacity: 0; visibility: hidden; pointer-events: none; }
  
  body:has(.mbar) { padding-bottom: var(--mbar-h); }
}

.photo-sec { position: relative; overflow: hidden; color: var(--white); background: var(--brown); }
.photo-sec__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.photo-sec__img--capped { left: 50%; right: auto; width: min(100%, 1540px); transform: translateX(-50%); }
@media (min-width: 1541px) { .photo-sec__img--capped { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); } }
.photo-sec__veil { position: absolute; inset: 0; background: var(--veil-hero); }
section.photo-sec .photo-sec__veil { background: var(--veil-hero); }
section.cta.photo-sec .photo-sec__veil { background: var(--veil-band); }
@media (max-width: 809.98px) {
  section.photo-sec .photo-sec__veil, .photo-sec .photo-sec__veil { background: var(--veil-hero-phone); }
  section.cta.photo-sec .photo-sec__veil { background: var(--veil-band); }
}
.photo-sec__in { position: relative; }

.cta.band { padding: var(--pad-section) 0; }
.band__in { display: flex; flex-direction: column; align-items: center; gap: 40px; text-align: center; }
.band__head { display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: 760px; }
.band__kicker { color: var(--copy-on-photo); font-size: var(--fs-ui); line-height: 1.4; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.band__h { color: var(--white); }
.band__call { color: var(--copy-on-photo); font-size: var(--fs-ui); line-height: 1.4; text-align: center; max-width: 60ch; text-wrap: balance; }
.band__lead { color: var(--copy-on-photo); font-size: var(--fs-title-s); line-height: 1.4; }
.band__form { width: 100%; max-width: 980px; padding: 24px; background: var(--white); border-radius: var(--r-card); box-shadow: var(--lift); }
@media (max-width: 809.98px) { .band__form { padding: 18px; } .band__in { gap: 28px; } }

.band__form--btns { width: auto; max-width: 100%; padding: 16px; }
.band__call-btn { gap: 10px; }
.band__call-ic { display: inline-flex; width: 18px; height: 18px; flex: none; }
.band__call-ic svg { width: 100%; height: 100%; }
.band__form--btns .btns { justify-content: center; }
@media (max-width: 559.98px) { .band__form--btns { width: 100%; } .band__form--btns .btns { flex-direction: column; align-items: stretch; } .band__form--btns .btn { justify-content: center; } .band__form--btns .btn--price { justify-content: space-between; } }

.faq { width: 100%; max-width: 820px; display: flex; flex-direction: column; gap: 6px; }
.faq__row { border-radius: var(--r-row); background: var(--tint); transition: background-color .3s ease; }
.faq__row:hover { background: var(--tint-hover); }

.faq__h { font: inherit; margin: 0; }
.faq__q { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; padding: 14px 20px; color: var(--brown); text-align: left; font-size: var(--fs-title-s); font-weight: 600; font-variation-settings: var(--w-title-s); line-height: var(--lh-title-s); }
.faq__q span { transition: opacity .3s ease; }
.faq__icon { width: 14px; height: 14px; flex: none; transition: transform .45s var(--ease-spring); }
.faq__q[aria-expanded="true"] .faq__icon { transform: rotate(45deg); }

.faq__a { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .5s var(--ease-spring), visibility 0s linear .5s; }
.faq__a > div { overflow: hidden; }
.faq__a p { padding: 0 20px 18px; color: var(--copy); max-width: 68ch; }
.faq__row.is-open .faq__a { grid-template-rows: 1fr; visibility: inherit; transition: grid-template-rows .5s var(--ease-spring), visibility 0s; }

.rich { display: flex; flex-direction: column; gap: 18px; color: var(--ink); max-width: 72ch; }
.rich h3 { font-size: var(--fs-h3-article); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); color: var(--brown); margin-top: 20px; letter-spacing: var(--tr-title-l); }
.rich h3:first-child { margin-top: 0; }
.rich h4 { font-size: var(--fs-body); font-weight: 600; font-variation-settings: var(--w-title-s); }
.rich ul, .rich ol { padding-left: 22px; display: flex; flex-direction: column; gap: 4px; }
.rich ul { list-style: disc; }
.rich ol { list-style: decimal; }
.rich blockquote { border-left: 2px solid var(--brown); padding-left: 20px; color: var(--copy); }
.rich a { text-decoration: underline; text-underline-offset: 3px; }

.stub__in { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; max-width: 920px; }
.stub__h { color: var(--brown); }
.stub__lead { max-width: 56ch; font-size: var(--fs-title-s); line-height: var(--lh-body); }
.stub__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: start; }
.stub--picker .stub__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; }
@media (max-width: 1079.98px) { .stub--picker .stub__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; } }

.foot { position: relative; background: var(--dark-band); color: var(--cream); padding: 72px 0 0; overflow: hidden; }
.foot__top { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 48px 56px; }
.foot__brand { display: flex; flex-direction: column; gap: 22px; }
.foot__home { display: inline-flex; align-self: flex-start; color: var(--cream); }
.foot__home .logo { height: 88px; }
.foot__brand p { color: rgba(243, 242, 239, .78); max-width: 34ch; }
.foot__addr { display: flex; flex-direction: column; gap: 2px; margin: 0; font-style: normal; color: rgba(243, 242, 239, .9); font-size: 15px; line-height: 1.5; }
.foot__addr a { display: inline-block; padding: 3px 0; width: fit-content; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(243, 242, 239, .4); }
.foot__addr a:hover { color: var(--white); text-decoration-color: currentColor; }
.foot__addr span { color: rgba(243, 242, 239, .78); text-wrap: balance; }
.foot__cols { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px 32px; }
.foot__sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; cursor: default; }
.foot__sum::-webkit-details-marker { display: none; }
.foot__chev { display: none; }
@media (max-width: 767.98px) {
  .foot__cols { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
  .foot__col { border-top: 1px solid rgba(243, 242, 239, .16); }
  .foot__col:last-child { border-bottom: 1px solid rgba(243, 242, 239, .16); }
  .foot__sum { min-height: 48px; cursor: pointer; }
  .foot__sum h2 { margin: 0 !important; }
  .foot__chev { display: block; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; color: rgba(243, 242, 239, .8); transform: rotate(45deg) translateY(-3px); transition: transform .25s ease; }
  .foot__col[open] .foot__chev { transform: rotate(225deg) translateY(-3px); }
  .foot__col[open] ul { padding-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) { .foot__chev { transition: none; } }
.foot__col h2 { margin: 0 0 12px; color: var(--steel-100); font-family: var(--sans); font-size: var(--fs-label); font-weight: var(--w-label); font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: var(--tr-label); line-height: var(--lh-mono); text-transform: none; }
.foot__col ul { display: flex; flex-direction: column; gap: 0; }

.foot__col li { text-wrap: balance; }

.foot__col a { display: inline-block; padding: 5px 0; color: rgba(243, 242, 239, .9); overflow-wrap: anywhere; transition: color .2s ease; }
.foot__col a:hover { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.foot__base { margin-top: 56px; padding-top: 20px; padding-bottom: 28px; border-top: 1px solid rgba(243, 242, 239, .16); color: rgba(243, 242, 239, .74); font-size: 14px; }
.foot__base a { display: inline-block; padding: 3px 0; margin: -3px 0; text-decoration: underline; text-underline-offset: 3px; }
.foot__base a:hover { color: var(--white); }

.foot__hours { margin-top: 48px; padding-top: 28px; border-top: 1px solid rgba(243, 242, 239, .16); }

.foot__offices { margin-top: 32px; padding-top: 28px; border-top: 1px solid rgba(243, 242, 239, .16); }
.foot__offices h2 { margin: 0 0 14px; color: var(--steel-100); font-family: var(--sans); font-size: var(--fs-label); font-weight: var(--w-label); font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: var(--tr-label); line-height: var(--lh-mono); text-transform: none; }
.foot__offices ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px 28px; }
.foot__offices li { display: flex; flex-direction: column; gap: 2px; color: rgba(243, 242, 239, .78); font-size: 15px; line-height: 1.45; text-wrap: balance; }
.foot__off-n { color: var(--cream); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
@media (max-width: 1199.98px) { .foot__top { grid-template-columns: minmax(0, 1fr); } .foot__offices ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 999.98px) { .foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .foot { padding-top: 56px; }
  .foot__base { margin-top: 40px; }
  .foot__offices ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot__hours { margin-top: 36px; }
}

.emerg { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1.5fr); gap: 20px 40px; align-items: start; }
.emerg__h { margin: 0 0 8px; color: var(--brown); font-family: var(--sans); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; letter-spacing: var(--tr-ui); line-height: var(--lh-ui); text-transform: none; }
.emerg__list { display: flex; flex-direction: column; gap: 2px; }
.emerg__list li, .emerg__note, .emerg__call { color: var(--copy); font-size: 15px; line-height: 1.5; }
.emerg__price { color: var(--brown); font-size: var(--fs-title-s); line-height: var(--lh-title-s); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.emerg__note { margin-top: 2px; }
.emerg__call { max-width: 52ch; }
.emerg--card { padding: 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.emerg--footer .emerg__h { color: var(--cream); }
.emerg--footer .emerg__list li, .emerg--footer .emerg__note, .emerg--footer .emerg__call { color: rgba(243, 242, 239, .86); }
.emerg--footer .emerg__price { color: var(--cream); }
@media (max-width: 1199.98px) { .emerg { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .emerg__call { grid-column: 1 / -1; } }
@media (max-width: 809.98px) { .emerg { grid-template-columns: minmax(0, 1fr); gap: 20px; } .emerg--card { padding: 22px 20px; } }

@media (min-width: 1200px) { .emerg--footer { grid-template-columns: repeat(2, max-content); column-gap: 88px; justify-content: start; } }

.tagline { margin: 0; font-size: 14px; line-height: 1.4; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; letter-spacing: .04em; }
.tagline__bar { padding: 0 .15em; }
.foot__brand .foot__tag { margin-top: -10px; color: rgba(243, 242, 239, .92); }

.li { width: 20px; height: 20px; flex: none; display: block; }

.tel { white-space: nowrap; }

.nav__nojs { display: none; }
html:not(.js) .faq__a { grid-template-rows: 1fr; visibility: inherit; transition: none; }
html:not(.js) .faq__icon { display: none; }
html:not(.js) .faq__q { cursor: default; }
@media (max-width: 1279.98px) {
  html:not(.js) .burger, html:not(.js) .mbar__menu { display: none; }
  html:not(.js) .nav__nojs { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); color: var(--brown); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); }
}
@media (max-width: 809.98px) { html:not(.js) .nav__nojs { margin-left: auto; } }

.demo { position: fixed; left: 12px; bottom: 12px; z-index: 51; transition: opacity .3s ease, transform .5s var(--ease-spring), visibility 0s; }
html:not(.js) .demo { display: none; }
.demo__btn[hidden], .nav__demo[hidden] { display: none; }
.demo-noscript { margin: 0; padding: 12px var(--gutter); background: var(--tint); color: var(--copy); font-size: 14px; text-align: center; }
.demo__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px 0 12px; border: 1px solid var(--line); border-radius: var(--r-full); background: var(--white); color: var(--brown); box-shadow: var(--shadow-soft); font-size: 14px; line-height: 1.2; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: var(--tr-ui); transition: background-color .2s ease; }
.demo__btn:hover { background: var(--steel-50); }
.demo__btn[aria-expanded="true"] { background: var(--steel-100); }
.demo__btn svg { width: 18px; height: 18px; flex: none; }

.demo.is-compact .demo__btn { gap: 0; padding: 0; width: 44px; justify-content: center; }   
.demo.is-compact .demo__btn > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.demo.is-compact .demo__btn:hover, .demo.is-compact .demo__btn:focus-visible, .demo.is-compact .demo__btn[aria-expanded="true"] { gap: 8px; width: auto; padding: 0 16px 0 12px; }
.demo.is-compact .demo__btn:hover > span, .demo.is-compact .demo__btn:focus-visible > span, .demo.is-compact .demo__btn[aria-expanded="true"] > span { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
.demo__panel { position: absolute; left: 0; bottom: calc(100% + 10px); width: min(380px, calc(100vw - 2 * var(--gutter))); max-height: min(72svh, 560px); overflow-y: auto; overscroll-behavior: contain; padding: 20px 22px 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-soft-l); box-shadow: var(--shadow-soft), 0 28px 60px -28px rgba(14, 24, 35, .4); }
.demo__panel[hidden] { display: none; }
.demo__panel:focus { outline: none; }
.demo__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.demo__title { margin: 0; color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.demo__x { display: grid; place-items: center; flex: none; width: 36px; height: 36px; margin: -6px -8px -6px 0; border-radius: var(--r-full); color: var(--brown); transition: background-color .2s ease; }
.demo__x:hover { background: var(--steel-50); }
.demo__x svg { width: 14px; height: 14px; }
.demo__lead { margin-top: 8px; color: var(--copy); font-size: 15px; line-height: 1.5; }
.demo__list { margin-top: 14px; }
.demo__list li { display: grid; gap: 2px; padding: 12px 0; border-top: 1px solid var(--line); }
.demo__k { color: var(--steel-700); font-size: var(--fs-label); line-height: 1.3; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.demo__v { color: var(--brown); font-size: 16px; line-height: 1.35; font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; }
.demo__n { color: var(--copy); font-size: 14px; line-height: 1.45; }
@media (max-width: 809.98px) {
  .demo__panel { max-height: min(64svh, 520px); padding: 18px 18px 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .nav__bar, .nav__logo .logo, .nav__callbtn, .nav__link::after, .nav__dd svg, .dd, .nav__item.is-open > .dd, .menu, .menu.is-open, .menu-btn span,
  .menu__toggle svg, .menu__sub, .menu__grp.is-open > .menu__sub, .menu__grid::after, .mbar, .demo, .btn__ic, .faq__icon, .faq__a, .faq__row.is-open .faq__a { transition: none; }
}

.tag { border-radius: 999px; }

p, li, dd, figcaption, blockquote { text-wrap: pretty; }
label, .pk__name, .k-chip__lab, .proof__t span, .hm-fl span, .hm-brow__x, .emerg__note, .emerg__price, .k-badges__t span { text-wrap: balance; }



.cgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }

.ccard, .scard, .bcard { position: relative; display: flex; flex-direction: column; background: var(--white); border-radius: var(--r-soft); box-shadow: var(--shadow-soft); overflow: hidden; transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.ccard:hover, .scard:hover, .bcard:hover { box-shadow: var(--lift); transform: translateY(-2px); }

.ccard__media, .scard__media { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: var(--steel-50); }
.ccard__img, .scard__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-spring); }
.ccard:hover .ccard__img, .scard:hover .scard__img { transform: scale(1.03); }
.ccard__ic { display: grid; place-items: center; width: 44%; aspect-ratio: 1; }
.ccard__svg { width: 100%; height: 100%; }
.scard__pop { position: absolute; top: 12px; left: 12px; z-index: 1; }

.ccard__body, .scard__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 22px 22px 24px; }
.ccard__h, .scard__h { color: var(--brown); font-variant-numeric: tabular-nums lining-nums; }
.ccard__range { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; }
.scard__facts { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.scard__fact { display: flex; justify-content: space-between; gap: 16px; color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; font-variant-numeric: tabular-nums lining-nums; }
.scard__fact dt { color: var(--muted); }
.scard__fact dd { margin: 0; color: var(--ink); font-weight: 560; font-variation-settings: var(--w-ui); text-align: right; }
.ccard__go, .scard__go { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 10px; color: var(--brown); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); }
.ccard__go svg, .scard__go svg { width: 12px; height: 12px; transition: transform .35s var(--ease-spring); }
.ccard:hover .ccard__go svg, .scard:hover .scard__go svg, .bcard:hover .ccard__go svg { transform: translateX(4px); }

.ccard__link::after, .scard__link::after, .bcard__link::after { content: ""; position: absolute; inset: 0; }
.ccard__link:focus-visible, .scard__link:focus-visible, .bcard__link:focus-visible { outline: none; box-shadow: none; }
.ccard:has(.ccard__link:focus-visible), .scard:has(.scard__link:focus-visible), .bcard:has(.bcard__link:focus-visible) { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }

.bcard { gap: 10px; padding: 26px 24px 24px; min-height: 200px; }
.bcard__h { color: var(--brown); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 700; font-variation-settings: "wdth" 108, "wght" 700; letter-spacing: var(--tr-title-l); }
.bcard__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; }

.bwall { display: flex; flex-direction: column; gap: 28px; }
.bwall ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.bwall__major { gap: 6px 36px; }
.bwall__big a { display: inline-block; padding: 4px 0; color: var(--brown); font-size: var(--fs-h2-s); line-height: 1.1; font-weight: 700; font-variation-settings: "wdth" 108, "wght" 700; letter-spacing: var(--tr-h2); transition: color .2s ease; }
.bwall__big a:hover { color: var(--accent); }
.bwall__minor { gap: 4px 22px; }
.bwall__small { color: var(--copy); font-size: var(--fs-body); line-height: 1.5; }
@media (max-width: 809.98px) { .bwall__major { gap: 4px 24px; } }

.spec { margin: 0; background: var(--white); border-radius: var(--r-soft); box-shadow: var(--shadow-soft); overflow: hidden; }
.spec__row { display: grid; grid-template-columns: minmax(110px, 34%) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 14px 22px; }
.spec__row:nth-child(even) { background: var(--steel-50); }
.spec dt { color: var(--muted); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); }
.spec dd { margin: 0; color: var(--ink); font-size: var(--fs-body); font-weight: 560; font-variation-settings: var(--w-ui); }
@media (max-width: 809.98px) { .spec__row { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 18px; } .cgrid { gap: 16px; } }
@media (prefers-reduced-motion: reduce) { .ccard, .scard, .bcard, .ccard__img, .scard__img { transition: none; } .ccard:hover, .scard:hover, .bcard:hover { transform: none; } }

.ccard { position: relative; }
.ccard__link::after { z-index: 2; }



.k-ic { display: block; width: 24px; height: 24px; flex: none; }
.k-ic--li { color: var(--ic-line); }
.k-disc { display: inline-grid; place-items: center; flex: none; border-radius: 50%; }
.k-disc svg { width: 56%; height: 56%; }
.k-disc--md { width: 44px; height: 44px; }
.k-disc--lg { width: 52px; height: 52px; }
.k-disc--xl { width: 72px; height: 72px; }
.k-disc--steel { background: var(--steel-50); }
.k-disc--blue { background: var(--steel-100); }
.k-disc--white { background: var(--white); }
.k-disc--sand { background: var(--tint); }
.k-disc--navy { background: var(--brown); --ic-line: var(--ic-on-dark-line); }

.sec--dark, .on-dark, .photo-sec { --ic-line: var(--ic-on-dark-line); }

.sec--dark { --ic-fill: var(--ic-on-dark-fill); --ic-detail: var(--ic-on-dark-accent); }
.photo-sec .pk, .photo-sec .band__form { --ic-line: #6A1FAD; }

.k-label.chip { gap: 7px; padding: 6px 13px 6px 11px; border-radius: var(--r-full); background: var(--steel-50); color: var(--steel-700); font-family: var(--sans); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: var(--tr-label); text-transform: none; line-height: 1.2; --ic-line: var(--brown); --ic-fill: var(--steel-100); --ic-detail: var(--ic-accent); }
.k-label--deep.chip { background: var(--steel-100); }
.k-label--white.chip { background: var(--white); box-shadow: var(--shadow-soft); }
.k-label--photo.chip { background: var(--chip-photo); color: var(--white); --ic-line: var(--ic-on-dark-line); }
.k-label__ic { width: 16px; height: 16px; flex: none; }

.k-head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.k-head--center { align-items: center; text-align: center; margin-inline: auto; }
.k-head__label { display: flex; }
.k-head--center .k-head__label { justify-content: center; }
.k-head__h { color: var(--brown); max-width: 24ch; }
.k-head__lead { color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); max-width: 58ch; text-wrap: pretty; }

.sec--dark .k-head__h, .on-dark .k-head__h, .photo-sec .k-head__h { color: var(--cream); }
.sec--dark .k-head__lead, .on-dark .k-head__lead, .photo-sec .k-head__lead { color: var(--cream); opacity: .82; }
.k-head__actions { margin-top: 8px; }
.k-head--center .k-head__actions { justify-content: center; }
.k-head + * { margin-top: 44px; }

.k-stats { background: var(--white); border-radius: var(--r-soft-l); box-shadow: var(--shadow-soft); padding: 34px 40px; }
.k-stats__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 40px; }
.k-stat { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; min-width: 0; }
.k-stat__t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.k-stat__lab { color: var(--muted); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); }
.k-stat__val { color: var(--brown); font-size: var(--fs-stat); line-height: 1.05; font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); font-variant-numeric: tabular-nums lining-nums; }
.k-stat__cap { color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; }
@media (max-width: 809.98px) {
  .k-stats { padding: 24px 20px; }
  .k-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
  .k-stat { gap: 14px; }
  .k-stat__val { font-size: var(--fs-title-l); }
}

.k-steps__list { display: grid; grid-template-columns: repeat(var(--k-n, 5), minmax(0, 1fr)); gap: 20px; }
.k-step { display: flex; flex-direction: column; background: var(--white); border-radius: var(--r-soft-l); box-shadow: var(--shadow-soft); overflow: hidden; min-width: 0; }
.k-step__card { display: block; }
.k-step__tile { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--steel-100); }
.k-step__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-step__veil { position: absolute; inset: 0; background: var(--veil-step); }
.k-step__num { position: absolute; inset: 0; display: grid; place-items: center; color: var(--white); font-size: var(--fs-step); line-height: .8; font-weight: 700; font-variation-settings: "wdth" 112, "wght" 700; letter-spacing: -0.02em; font-variant-numeric: lining-nums; }
.k-step__tile--plain { background: var(--steel-50); }
.k-step__tile--plain .k-step__num { color: var(--brown); }
.k-step__ic { position: absolute; left: 18px; top: 18px; z-index: 1; }
.k-step__body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 22px 22px 26px; }
.k-step__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 600; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.k-step__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; }
.k-steps__dots { display: none; justify-content: center; align-items: center; gap: 8px; margin-top: 2px; }
.k-steps__dots span { width: 8px; height: 8px; border-radius: var(--r-full); background: var(--steel-200); transition: width .25s ease, background-color .25s ease; }
.k-steps__dots span.is-on { width: 24px; background: var(--brown); }

@media (max-width: 1079.98px) {
  .k-steps--many .k-steps__list { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 26px; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
  .k-steps--many .k-steps__list::-webkit-scrollbar { display: none; }
  .k-steps--many .k-step { flex: 0 0 min(78%, 340px); scroll-snap-align: start; }
  .k-steps--many .k-steps__dots:not([hidden]) { display: flex; }
}
@media (max-width: 809.98px) {
  .k-steps__list { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 26px; scroll-padding-inline: var(--gutter); scrollbar-width: none; overscroll-behavior-x: contain; }
  .k-steps__list::-webkit-scrollbar { display: none; }
  .k-step { flex: 0 0 min(78%, 340px); scroll-snap-align: start; }
  .k-steps__dots:not([hidden]) { display: flex; }
  .k-step__body { padding: 18px 18px 22px; }
}
.k-steps__list:focus-visible { outline-offset: -2px; }

.k-steps--rail .k-steps__list { display: flex; flex-direction: column; gap: 0; overflow: visible; margin-inline: 0; padding: 0; }
.k-steps--rail .k-step { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; background: none; box-shadow: none; border-radius: 0; overflow: visible; min-height: 78vh; padding-bottom: 56px; flex: none; }
.k-steps--rail .k-step:last-child { min-height: 0; padding-bottom: 0; }
.k-steps--rail .k-step__card { position: sticky; top: calc(var(--nav-h) + 28px); align-self: start; }
.k-steps--rail .k-step__tile { border-radius: var(--r-soft-l); box-shadow: var(--shadow-soft); aspect-ratio: 5 / 4; }
.k-steps--rail .k-step__body { align-self: center; padding: 0; gap: 16px; max-width: 460px; transition: opacity .4s ease; }
.k-steps--rail .k-step__t { font-size: var(--fs-h2-s); line-height: var(--lh-h2); font-weight: 650; font-variation-settings: var(--w-h2); letter-spacing: var(--tr-h2); }
.k-steps--rail .k-step__x { font-size: var(--fs-title-s); }
.k-steps--rail.is-live .k-step:not(.is-active) .k-step__body { opacity: .4; }
@media (max-width: 1079.98px) {
  .k-steps--rail .k-steps__list { gap: 18px; }
  .k-steps--rail .k-step { display: flex; flex-direction: column; gap: 0; min-height: 0; padding-bottom: 0; background: var(--white); box-shadow: var(--shadow-soft); border-radius: var(--r-soft-l); overflow: hidden; }
  .k-steps--rail .k-step__card { position: static; }
  .k-steps--rail .k-step__tile { border-radius: 0; box-shadow: none; aspect-ratio: 4 / 3; }
  .k-steps--rail .k-step__body { padding: 22px 22px 26px; gap: 12px; max-width: none; }
  .k-steps--rail .k-step__t { font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 600; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
  .k-steps--rail .k-step__x { font-size: var(--fs-ui); }
  .k-steps--rail.is-live .k-step:not(.is-active) .k-step__body { opacity: 1; }
}

.k-icards { display: grid; grid-template-columns: repeat(var(--k-cols, 3), minmax(0, 1fr)); gap: 16px; }
.k-icard { display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: var(--r-soft-l); background: var(--steel-50); min-width: 0; }
.k-icards--white .k-icard { background: var(--white); box-shadow: var(--shadow-soft); }
.k-icard__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.k-icard__n { color: var(--steel-700); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; font-variant-numeric: tabular-nums lining-nums; }
.k-icard__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 600; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.k-icard__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.k-icards__photo { position: relative; min-height: 280px; border-radius: var(--r-soft-l); overflow: hidden; background: var(--steel-100); }
.k-icards__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-icards--photo .k-icards__photo { grid-column: 1; grid-row: 1 / span var(--k-prow, 2); }
.k-icards--photo { grid-template-columns: minmax(0, 1.1fr) repeat(2, minmax(0, 1fr)); }
@media (max-width: 1199.98px) {
  .k-icards, .k-icards--photo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-icards--photo .k-icards__photo { grid-column: 1 / -1; grid-row: auto; min-height: 0; aspect-ratio: 16 / 8; }
}
@media (max-width: 809.98px) {
  .k-icards, .k-icards--photo { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .k-icards--photo .k-icards__photo { aspect-ratio: 4 / 3; }
  .k-icard { padding: 22px; }
}

.k-pcards { display: grid; gap: 16px; }
.k-pcards--1 { grid-template-columns: minmax(0, 1fr); }
.k-pcards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.k-pcards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.k-pcards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.k-pcard { position: relative; isolation: isolate; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--r-soft-l); background: var(--brown); color: var(--white); min-width: 0; }
.k-pcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-spring); }
.k-pcard:hover .k-pcard__img { transform: scale(1.04); }
.k-pcard__veil { position: absolute; inset: 0; background: var(--card-photo-gradient); }
.k-pcard__in { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; height: 100%; padding: 20px; }
.k-pcard__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.k-pcard__t { color: var(--white); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); }
.k-pcard__x { color: var(--copy-on-photo); font-size: var(--fs-ui); line-height: 1.45; }
.k-pcard__link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.k-pcard__link:focus-visible { outline: none; box-shadow: none; }
.k-pcard:has(.k-pcard__link:focus-visible) { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.k-pcard__go { display: inline-flex; align-items: center; gap: 10px; margin-top: 6px; font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); }
.k-pcard__arr { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--white); color: var(--brown); transition: transform .35s var(--ease-spring); }
.k-pcard__arr svg { width: 12px; height: 12px; }
.k-pcard:hover .k-pcard__arr { transform: translateX(3px); }
@media (max-width: 1199.98px) { .k-pcards--3, .k-pcards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .k-pcards, .k-pcards--2, .k-pcards--3, .k-pcards--4 { grid-template-columns: minmax(0, 1fr); } .k-pcard { aspect-ratio: 5 / 4; } }

.k-checks { display: flex; flex-direction: column; gap: 12px; }
.k-check { display: flex; align-items: flex-start; gap: 12px; color: var(--ink); font-size: var(--fs-body); line-height: 1.4; text-wrap: pretty; }
.k-check__d { display: grid; place-items: center; flex: none; width: 24px; height: 24px; margin-top: 0; border-radius: 50%; background: var(--steel-700); color: var(--white); }
.k-check__d svg { width: 12px; height: 12px; }
.k-checks--accent .k-check__d { background: var(--steel-100); color: var(--ic-accent); }
.k-checks--photo .k-check { color: var(--white); }
.k-checks--photo .k-check__d { background: var(--cream); color: var(--brown); }
.k-smp { white-space: nowrap; }
.k-ast { color: inherit; margin-left: 1px; }

.k-render { display: block; width: 100%; height: 100%; object-fit: contain; }

.k-chooser > * + * { margin-top: 22px; }
.k-field { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.k-legend { padding: 0; margin-bottom: 10px; color: var(--ink); font-size: var(--fs-ui); line-height: 1.3; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; letter-spacing: var(--tr-ui); }
.k-in { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }

.k-seg__wrap { container-type: inline-size; }
.k-seg__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.k-seg__opt, .k-chip { position: relative; }
.k-seg__opt:last-child:nth-child(odd) { grid-column: 1 / -1; }
.k-seg__lab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; padding: 12px 8px; border-radius: var(--r-soft); background: var(--white); box-shadow: inset 0 0 0 1.5px var(--steel-200); cursor: pointer; transition: background-color .2s ease, box-shadow .2s ease; }
.k-seg__lab:hover { box-shadow: inset 0 0 0 1.5px var(--steel); }
.k-seg__img { display: block; width: 100%; height: 64px; }
.k-seg__img .k-render { width: 100%; height: 100%; object-fit: contain; }
.k-seg__img .dr { width: auto; height: 100%; margin-inline: auto; }
.k-seg__name { color: var(--ink); font-size: var(--fs-ui); line-height: 1.2; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; text-align: center; }
.k-seg__tick { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--brown); color: var(--white); opacity: 0; transform: scale(.6); transition: opacity .2s ease, transform .25s var(--ease-spring); }
.k-seg__tick svg { width: 11px; height: 11px; }
.k-in:checked + .k-seg__lab { background: var(--steel-50); box-shadow: inset 0 0 0 2px var(--brown); }
.k-in:checked + .k-seg__lab .k-seg__tick { opacity: 1; transform: none; }
.k-in:checked + .k-seg__lab .k-seg__name { color: var(--brown); font-weight: 700; font-variation-settings: var(--w-strong); }
.k-in:focus-visible + .k-seg__lab, .k-in:focus-visible + .k-chip__lab { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.k-in:checked:focus-visible + .k-seg__lab, .k-in:checked:focus-visible + .k-chip__lab { box-shadow: inset 0 0 0 2px var(--brown), var(--ring); }
@container (min-width: 520px) { .k-seg__grid { grid-template-columns: repeat(var(--k-n, 4), minmax(0, 1fr)); } .k-seg__opt:last-child:nth-child(odd) { grid-column: auto; } }

.k-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.k-chip__lab { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: var(--r-full); background: var(--white); box-shadow: inset 0 0 0 1.5px var(--steel-200); color: var(--ink); font-size: var(--fs-ui); line-height: 1.2; font-weight: 560; font-variation-settings: var(--w-ui); font-variant-numeric: tabular-nums lining-nums; cursor: pointer; white-space: nowrap; transition: background-color .2s ease, box-shadow .2s ease; }
.k-chip__lab:hover { box-shadow: inset 0 0 0 1.5px var(--steel); }
.k-in:checked + .k-chip__lab { background: var(--steel-50); box-shadow: inset 0 0 0 2px var(--brown); color: var(--brown); font-weight: 700; font-variation-settings: var(--w-strong); }

.k-preview { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-soft-l); background: var(--steel-50); }
.k-preview__img { position: absolute; inset: 0; display: grid; place-items: center; padding: 14px; transition: opacity .18s ease; }
.k-preview__img.is-swapping { opacity: 0; }
.k-preview__img .k-render { width: 100%; height: 100%; object-fit: contain; }
.k-preview__img .dr { width: 100%; max-height: 100%; }

@media (prefers-reduced-motion: reduce) {
  .k-preview__img, .k-seg__tick, .k-step__body, .k-pcard__img, .k-pcard__arr { transition: none; }
  .k-steps__list { scroll-behavior: auto; }
}

.k-readout { display: grid; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); gap: 10px; }
.k-readout__cell { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 12px 14px; border-radius: var(--r-soft); background: var(--steel-50); }
.k-readout__cell[hidden] { display: none; }
.k-readout__lab { color: var(--steel-700); font-size: var(--fs-label); line-height: 1.3; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.k-readout__val { color: var(--brown); font-size: var(--fs-title-m); line-height: 1.1; font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); font-variant-numeric: tabular-nums lining-nums; overflow-wrap: anywhere; }
.k-readout__val.is-bump { animation: k-bump .4s var(--ease-spring); }
@keyframes k-bump { from { opacity: .35; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .k-readout__val.is-bump { animation: none; } }

@media (forced-colors: active) {
  .k-chip__lab, .k-seg__lab, button.pill, .qf-rail__b { border: 1px solid ButtonText; }
  .k-in:checked + label, button.pill[aria-pressed="true"], .qf-rail__b[aria-current] { border-color: Highlight; outline: 2px solid Highlight; outline-offset: 0; }
}

.pk { display: flex; flex-direction: column; gap: 20px; color: var(--ink); text-align: left; }
.pk--hero { padding: 28px; background: var(--white); border-radius: var(--r-soft-l); box-shadow: var(--lift); }
.pk__title { margin: 0; color: var(--brown); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); }
.pk__step { display: block; }
.pk__legend { display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 12px; color: var(--ink); font-size: var(--fs-ui); line-height: 1.3; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; letter-spacing: var(--tr-ui); }
.pk__n { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--steel-100); color: var(--steel-700); font-size: 12px; line-height: 1; font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; font-variant-numeric: lining-nums; }
.pk__opt-note { color: var(--muted); font-style: normal; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; }
.pk__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pk__opt { position: relative; }
.pk__tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; height: 100%; min-height: 92px; padding: 12px 6px 10px; border-radius: var(--r-soft); background: var(--white); box-shadow: inset 0 0 0 1.5px var(--steel-200); cursor: pointer; text-align: center; transition: background-color .2s ease, box-shadow .2s ease, transform .35s var(--ease-spring); }
.pk__tile:hover { box-shadow: inset 0 0 0 1.5px var(--steel); transform: translateY(-2px); }
.pk__ic { width: 40px; height: 40px; flex: none; }
.pk__name { color: var(--ink); font-size: var(--fs-ui); line-height: 1.2; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.k-in:checked + .pk__tile { background: var(--steel-50); box-shadow: inset 0 0 0 2px var(--brown); }
.k-in:checked + .pk__tile .pk__name { color: var(--brown); font-weight: 700; font-variation-settings: var(--w-strong); }
.k-in:focus-visible + .pk__tile { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: inset 0 0 0 2px var(--brown), var(--ring); }
.pk__more { display: flex; flex-direction: column; gap: 18px; }
.pk__more[hidden], .pk__more [hidden] { display: none; }
html:not(.js) .pk__more:not([data-pk-keep]) [data-pk-for][hidden] { display: none; }
.pk__chips { gap: 8px; }
.pk__chips .k-chip__lab { min-height: 44px; padding: 8px 14px; white-space: normal; }
.pk__foot { display: flex; flex-direction: column; gap: 14px; }
.pk__sum { margin: 0; color: var(--steel-700); font-size: var(--fs-ui); line-height: 1.4; font-weight: 560; font-variation-settings: var(--w-ui); min-height: 1.4em; }
.pk__go { --bh: 52px; --pl: 22px; align-self: stretch; justify-content: space-between; white-space: nowrap; }

.pk__sum[data-hint-kind="call"], .pk__sum[data-hint-kind="marine"] { color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.pk__go[hidden], .pk__call[hidden] { display: none; }
.pk__call .btn__ic svg { width: 20px; height: 20px; }

.pk--band { gap: 16px; }
.pk--band .pk__legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pk--band .pk__grid { display: flex; flex-wrap: wrap; gap: 8px; }
.pk--band .pk__tile { flex-direction: row; gap: 8px; min-height: 48px; padding: 8px 16px 8px 10px; border-radius: var(--r-full); }
.pk--band .pk__ic { width: 28px; height: 28px; }
.pk--band .pk__tile:hover { transform: none; }
.pk--band .pk__foot { align-items: stretch; }
.pk--band .pk__main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pk--band .pk__more { gap: 12px; }

.pk--band .pk__step--brands .pk__legend { position: static; width: auto; height: auto; margin: 0 0 8px; overflow: visible; clip: auto; white-space: normal; font-size: 14px; }
.pk--band .pk__chips .k-chip__lab { min-height: 44px; padding: 8px 14px; font-size: 14px; }
.pk--band .pk__sum { min-height: 0; font-size: 14px; }
@media (min-width: 1080px) {
  .pk--band { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 28px; }
  .pk--band .pk__main { flex: 1 1 auto; }
  .pk--band .pk__go { flex: none; align-self: flex-end; }
}

.pk--page { max-width: 760px; }
.pk--page .pk__tile { min-height: 120px; }
.pk--page .pk__ic { width: 52px; height: 52px; }

@media (min-width: 810px) { .pk--hero .pk__foot { flex-direction: row; align-items: center; justify-content: space-between; gap: 18px; } .pk--hero .pk__go { align-self: auto; flex: none; } .pk--hero .pk__sum { flex: 1 1 auto; min-width: 0; } }
@media (max-width: 809.98px) {
  .pk--hero { padding: 20px; gap: 16px; }
  .pk__grid { gap: 6px; }
  .pk__tile { min-height: 84px; padding: 10px 4px 8px; }
  .pk__ic { width: 34px; height: 34px; }
  .pk__name { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .pk__tile { transition: none; } .pk__tile:hover { transform: none; } }
@media (forced-colors: active) { .pk__tile { border: 1px solid ButtonText; } .k-in:checked + .pk__tile { border-color: Highlight; outline: 2px solid Highlight; } }

.k-badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; }
.k-badges__i { display: flex; align-items: center; gap: 12px; min-width: 0; }
.k-badges__em { flex: none; display: inline-flex; width: 48px; height: 48px; }
.k-badges__em svg { width: 100%; height: 100%; }
.k-badges__em--g { align-items: center; justify-content: center; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }   
.k-badges__em--g svg.gmark { width: 56%; height: 56%; }
.k-badges__t { display: flex; flex-direction: column; line-height: 1.25; font-size: var(--fs-ui); }
.k-badges__t strong { font-weight: 650; font-variation-settings: "wght" 650; color: var(--brown); }
.k-badges__t span { color: var(--copy); font-size: calc(var(--fs-ui) * .92); }
.k-badges--photo .k-badges__em { width: 68px; height: 68px; }
.k-badges--photo .k-badges__t strong, .k-badges--dark .k-badges__t strong { color: var(--cream); }
.k-badges--photo .k-badges__t span, .k-badges--dark .k-badges__t span { color: var(--cream); opacity: .84; }
.k-badges--photo .smp, .k-badges--dark .smp { color: var(--brand-yellow); }
@media (max-width: 809.98px) {
  .k-badges { gap: 12px 20px; }
  .k-badges--photo .k-badges__em { width: 54px; height: 54px; }
  .k-badges__i { flex: 1 1 calc(50% - 20px); }
}

.band__badges { margin-top: 28px; }
.band__badges .k-badges { max-width: 560px; }

.k-badges--photo { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 16px 36px; }

.band__form .pk__n { display: none; }

.band__form .pk__legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.proof { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; }
.proof--light { background: var(--line); border-radius: var(--r-soft-l); overflow: hidden; box-shadow: var(--shadow-soft); }
.proof--light .proof__i { background: var(--white); }
.proof--dark { background: rgba(243, 242, 239, .2); border-radius: var(--r-soft-l); overflow: hidden; }
.proof--dark .proof__i { background: var(--chip-photo); }
.proof--flat { gap: 18px 24px; }
.proof__i { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 18px 20px; }
.proof--flat .proof__i { padding: 0; }
.proof__ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; }
.proof__ic svg { width: 100%; height: 100%; }
.proof__ic .gmark { width: 28px; height: 28px; }
.proof__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.proof__t strong { color: var(--brown); font-size: var(--fs-ui); line-height: 1.2; font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; }
.proof__t span { color: var(--copy); font-size: 13px; line-height: 1.3; }
.proof--dark .proof__t strong { color: var(--cream); }
.proof--dark .proof__t span { color: var(--cream); opacity: .86; }
.proof--dark .smp { color: var(--brand-yellow); }
.gmark { display: inline-block; flex: none; }
@media (max-width: 1359.98px) { .proof { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof__i { gap: 10px; padding: 14px; }
  .proof__ic { width: 32px; height: 32px; }
  .proof__ic .gmark { width: 24px; height: 24px; }
  .proof__t strong { font-size: 14px; }
  .proof__t span { font-size: 12.5px; }
}

.gstars { display: block; flex: none; width: 70px; height: 14px; }
.grate { color: inherit; text-decoration: none; border-radius: var(--r-chip); }
.grate:hover .grate__n, .grate:hover .proof__t > span, .grate:hover .k-badges__t > strong, .grate:hover .v2-num__l { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.grate:focus-visible { outline: 2px solid var(--white); outline-offset: 3px; box-shadow: var(--ring); }

.grate--row { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; vertical-align: middle; }
.grate__g { display: inline-flex; flex: none; }
.grate--row .gstars { width: 85px; height: 17px; }
.grate__w { color: var(--brown); font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; }
.sec--dark .grate__w, .on-dark .grate__w, .photo-sec .grate__w { color: var(--cream); }

.proof__i--g { padding: 0; }
.grate--cell { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; min-width: 0; padding: 18px 20px; }
.grate--cell .gstars { margin: 2px 0 1px; }
.proof--dark .grate--cell { color: var(--cream); }
@media (max-width: 809.98px) {
  .grate--cell { gap: 10px; padding: 14px; }
  .grate--cell .gstars { width: 60px; height: 12px; }
}

.gline { --gfig: clamp(34px, 3.6vw, 52px); container-type: inline-size; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; width: 100%; min-width: 0; min-height: var(--gfig); }
.gline__g { display: inline-flex; flex: none; }
.gline__g .gmark { width: 28px; height: 28px; }
.gline .gstars { width: 70px; height: 14px; margin: 0; }
.gline__w { flex: none; color: var(--brown); font-size: max(26px, min(var(--gfig), calc((100cqw - 118px) / 4.5))); line-height: 1; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.04em; white-space: nowrap; }
.proof--dark .gline__w { color: var(--cream); }
@container (min-width: 360px) { .gline__w { font-size: max(26px, min(var(--gfig), calc((100cqw - 140px) / 4.5))); } .gline .gstars { width: 92px; height: 18.4px; } }   
.grate--col { flex-direction: column; align-items: flex-start; gap: 6px; }
.proof__gl { color: var(--copy); font-size: 13px; line-height: 1.3; }
.proof--dark .proof__gl { color: var(--cream); opacity: .86; }

.grate--badge { display: flex; align-items: center; gap: 12px; min-width: 0; }
.k-badges__sub { display: inline-flex; align-items: center; gap: 8px; }
.k-badges__sub .gstars { width: 60px; height: 12px; }
.k-badges__sub i { font-style: normal; }



:root { --hm-half: clamp(24px, 3.7vw, 54px); --hm-tail: clamp(44px, 5.5vw, 80px); --hm-hero-min: clamp(600px, calc(100svh - var(--card-top) - var(--inset)), 940px); }
.hm-sec { padding: var(--hm-half) 0; }   
.hm-sec .k-head__h { max-width: 24ch; }
.hm-sec .k-head + * { margin-top: 40px; }
@media (max-width: 809.98px) { .hm-sec .k-head + * { margin-top: 26px; } .hm-sec .k-head { gap: 12px; } }

.hm-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--brown); font-size: var(--fs-ui); line-height: 1.2; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.hm-link span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(38, 16, 64, .35); transition: text-decoration-color .2s ease; }
.hm-link:hover span { text-decoration-color: currentColor; }
.hm-link svg { width: 12px; height: 12px; flex: none; transition: transform .35s var(--ease-spring); }
.hm-link:hover svg { transform: translateX(4px); }
.hm-after { margin-top: 20px; }

.hm-pill { --bh: 48px; display: inline-flex; align-items: center; justify-content: space-between; border: 1px solid transparent; font-size: var(--fs-ui); line-height: 1.2; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; white-space: nowrap; transition: background-color .25s ease; }
.hm-pill__ic { display: grid; place-items: center; flex: none; }
.hm-pill--yellow { background: var(--brand-yellow); color: var(--brown); }
.hm-pill--yellow:hover { background: #F2E600; }
.hm-pill--yellow .hm-pill__ic { background: #fff; }

.hm-hero { position: relative; isolation: isolate; display: flex; min-height: var(--hm-hero-min); padding: calc(var(--bar-h) + 9px + 40px) 0 34px; }
.hm-hero__bg { position: absolute; inset: 0 var(--inset); z-index: 0; overflow: hidden; border-radius: var(--r-hero); background: var(--hero-fill);
  clip-path: inset(0 calc(var(--hp, 0) * 10%) round calc(29px + var(--hp, 0) * 12px)); }
.hm-hero__glow { position: absolute; z-index: 2; left: 50%; top: 41%; width: min(96%, 1060px); height: 80%; translate: -50% -50%; background: radial-gradient(closest-side, rgba(236, 234, 248, .9) 0%, rgba(236, 234, 248, .78) 50%, rgba(236, 234, 248, .34) 78%, rgba(236, 234, 248, 0) 100%); }   
.hm-sphere { position: absolute; z-index: 1; pointer-events: none; left: 63%; top: 60%; width: clamp(min(57vw, 750px), calc(750px + (100vw - 1440px) * .5708), 1024px); height: auto; translate: -50% -50%; opacity: .82;    animation: hm-float 18s ease-in-out infinite; }
@keyframes hm-float { 0%, 100% { transform: translateY(-6px) rotate(-2.5deg); } 50% { transform: translateY(8px) rotate(2.5deg); } }
.hm-hero__in { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 30px; width: 100%; }
.hm-hero__copy { display: flex; flex-direction: column; align-items: center; gap: 18px; max-width: 860px; text-align: center; }
.hm-hero__chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border-radius: 999px; background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--brown); }
.hm-hero__chipic { display: inline-flex; width: 18px; height: 18px; flex: none; }
.hm-hero__chipic svg { width: 100%; height: 100%; }
.hm-hero__tag { color: var(--brown); font-size: 14px; letter-spacing: .01em; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; }
.hm-hero__h.display { color: var(--brown); font-size: clamp(40px, 4.7vw, 74px); line-height: 1; max-width: 13em; text-wrap: balance; }
.hm-hero__lead { max-width: 42ch; color: var(--copy); font-size: clamp(17px, 1.35vw, 20px); line-height: 1.4; text-wrap: balance; }
.hm-hero__free { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.hm-hero__offer { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--brown); font-size: 18px; line-height: 1.3; }
.hm-hero__ck { display: inline-flex; width: 22px; height: 22px; flex: none; }
.hm-hero__ck svg { width: 100%; height: 100%; }
.hm-hero__fee { margin: 0; max-width: 44ch; color: var(--brown); font-size: 15px; line-height: 1.4; }
.hm-hero__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.hm-hero__open { display: inline-flex; border-radius: 999px; }
.hm-hero .open--hero { justify-content: center; text-align: center; background: rgba(255, 255, 255, .62); border: 1px solid rgba(255, 255, 255, .85); color: var(--brown); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); --open-dot: #1E8F55; --open-ring: rgba(30, 143, 85, .5); --closed-dot: #8A8198; }
.hm-hero__side { display: none; width: 100%; max-width: 1180px; }
@media (min-width: 1000px) { .hm-hero__side { display: block; } }

.hm-hero .pk--hero { gap: 12px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 19px; box-shadow: var(--shadow-soft), 0 28px 54px -30px rgba(38, 16, 64, .45); }
.hm-hero .pk__title { font-size: 19px; line-height: 1.2; font-variation-settings: "wdth" 100, "wght" 520; letter-spacing: -.01em; }
.hm-hero .pk__step--tiles .pk__legend { margin-bottom: 8px; }
.hm-hero .pk__grid { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; }
.hm-hero .pk__tile { min-height: 74px; padding: 8px 4px; gap: 4px; border-radius: 14px; }
.hm-hero .pk__ic { width: 32px; height: 32px; }
.hm-hero .pk__name { font-size: 13px; }
@media (max-width: 1179.98px) { .hm-hero .pk__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.hm-hero__btns .btn--price { --bh: 52px; --pl: 22px; background: var(--brand-yellow); color: var(--brown); }
.hm-hero__btns .btn--price:hover { background: #F2E600; }
.hm-hero__btns .btn--price .btn__ic { background: #fff; color: var(--brown); }
.hm-call { --bh: 52px; --pl: 22px; background: rgba(255, 255, 255, .5); border: 1px solid rgba(255, 255, 255, .85); color: var(--brown); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.hm-call:hover { background: rgba(255, 255, 255, .72); }
.hm-call__ic { display: grid; place-items: center; flex: none; background: rgba(255, 255, 255, .7); }
.hm-call__ic svg { width: 17px; height: 17px; }
@media (max-width: 809.98px) {
  .hm-hero { --hm-res: clamp(236px, 64vw, 300px); --hm-sp: min(146vw, 560px); padding: calc(var(--bar-h) + 8px + 34px) 0 var(--hm-res); align-items: flex-start; }   
  .hm-hero__copy { gap: 12px; }
  .hm-hero__h.display { font-size: 36px; }
  .hm-hero__lead { font-size: 16px; }
  .hm-sphere { left: 50%; top: auto; bottom: calc(var(--hm-res) + 44px - var(--hm-sp)); width: var(--hm-sp); max-width: none; opacity: 1; translate: -50% 0; }      
  .hm-hero__glow { display: none; }
  .hm-hero__in { justify-content: flex-start; }
}

@media (max-width: 809.98px) {
  .hm-hero--home { --hm-sp: min(130vw, 520px); --hm-up: 150px; --hm-res: calc(.672 * var(--hm-sp) - var(--hm-up) + 22px); min-height: 0; }
  .hm-hero--home .hm-sphere { left: 50%; top: auto; width: var(--hm-sp); bottom: calc(var(--hm-res) + var(--hm-up) - .875 * var(--hm-sp)); translate: calc(-50% - .031 * var(--hm-sp)) 0; opacity: 1; }   
  .hm-hero--home .hm-call { background: rgba(255, 255, 255, .94); }
  .hm-hero--home .open--hero { background: rgba(255, 255, 255, .94); }
}
@media (min-width: 520px) and (max-width: 809.98px) { .hm-hero--home { --hm-up: 92px; } }
@media (max-width: 519.98px) {
  .hm-hero__btns { flex-direction: column; width: 100%; max-width: 340px; }
  .hm-hero__btns .btn { width: 100%; justify-content: space-between; }
}
@media (max-width: 389.98px) { .hm-hero__h.display { font-size: 34px; } }
@media (prefers-reduced-motion: reduce) { .hm-sphere { animation: none; } }

.hm-proof { padding: 32px 0 calc(var(--hm-half) + 24px); }
.hm-proof .proof { gap: 30px 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.hm-proof .proof__i { --oy: 0px; flex-direction: column; align-items: flex-start; justify-content: flex-start; min-height: 0; padding: 0; overflow: visible; background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: var(--shadow-soft);
  transform: translate3d(calc((1 - var(--sp, 1)) * var(--dx, 0px)), calc(var(--oy) + (1 - var(--sp, 1)) * 28px), 0); }   
.hm-proof .proof__i:nth-child(3n+1) { --dx: 14px; } .hm-proof .proof__i:nth-child(3n+2) { --dx: 0px; } .hm-proof .proof__i:nth-child(3n) { --dx: -14px; }
.hm-proof .hm-st > .proof__t, .hm-proof .hm-st > .grate--cell { box-sizing: border-box; width: 100%; padding: clamp(22px, 2.2vw, 30px); }
.hm-proof .proof__t { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; overflow: visible; }
.hm-proof .hm-st__row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .32em; }   
.hm-proof .hm-st__pre { display: block; color: var(--copy); font-size: 16px; line-height: 1; font-weight: 440; }
.hm-proof .hm-st__row strong { white-space: nowrap; }
.hm-proof .proof__t strong { color: var(--brown); font-size: clamp(34px, 3.6vw, 52px); line-height: 1; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.04em; text-wrap: balance; }   
.hm-proof .hm-st__l { display: block; margin-top: auto; padding-top: 14px; overflow: visible; text-overflow: clip; white-space: normal; color: var(--copy); font-size: 16px; line-height: 1.35; text-wrap: balance; }
.hm-proof .hm-st--g .grate--cell { display: flex; flex-direction: column; align-items: stretch; gap: 6px; flex: 1 1 auto; }   
@media (max-width: 999.98px) {
  .hm-proof .proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .hm-proof .proof__i:nth-child(n) { --dx: 0px; --oy: 0px; }
}
@media (max-width: 719.98px) {   
  .hm-proof { padding-top: 20px; }
  .hm-proof .proof { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .hm-proof .proof__i:nth-child(n) { --dx: 0px; --oy: 0px; }   
  .hm-proof .hm-st > .proof__t, .hm-proof .hm-st > .grate--cell { padding: 20px 22px; }
  .hm-proof .hm-st__l, .hm-proof .hm-st__pre { font-size: 15px; }
}

.hm-svc__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; }
.hm-svc__top .k-head + * { margin-top: 0; }
.hm-svc__act { flex: none; padding-bottom: 6px; }
.hm-pill--white { border-color: var(--line); background: #fff; color: var(--brown); box-shadow: var(--shadow-soft); }
.hm-pill--white:hover { background: #fff; border-color: var(--steel-200); }
.hm-pill--white .hm-pill__ic { background: var(--chip-arrow); }
.hm-svcs { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, 1fr) auto; gap: 16px; margin: 40px 0 0; padding: 0; list-style: none; }
.hm-fam { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 22px; --m: 118px; --s: 56px; padding: clamp(20px, 2.6vw, 34px); border-radius: var(--r-panel-xl); }
.hm-fam--lg { grid-column: 1 / span 7; grid-row: span 2; --m: clamp(160px, 13.6vw, 196px); --s: clamp(64px, 6vw, 84px); }
.hm-fam--md { grid-column: 8 / span 5; flex-direction: row; align-items: stretch; --m: 132px; --s: 58px; }
.hm-fam--wide { grid-column: 1 / -1; flex-direction: row; align-items: stretch; --m: 184px; --s: 72px; }
.hm-fam--light { border: 1px solid var(--line); background: linear-gradient(180deg, #fff 0%, #F3F1FC 100%); color: var(--brown); }
.hm-fam--dark { background: var(--dark-band); color: var(--cream); }
.hm-fam__tx { min-width: 0; }
.hm-fam--md .hm-fam__tx { flex: 1 1 54%; }
.hm-fam--wide .hm-fam__tx { flex: 1 1 54%; align-self: center; }
.hm-fam__t { max-width: 11ch; font-size: clamp(32px, 3.6vw, 52px); line-height: 1; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.035em; }
.hm-fam--md .hm-fam__t { max-width: 9ch; font-size: clamp(28px, 2.7vw, 38px); }
.hm-fam--light .hm-fam__t { color: var(--accent); }
.hm-fam--dark .hm-fam__t { color: #fff; }
.hm-fls { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.hm-fl { --pl: 18px; display: inline-flex; align-items: center; border: 1px solid var(--line); font-size: 17px; line-height: 1.1; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; white-space: nowrap; transition: background-color .2s ease, border-color .2s ease; }
.hm-fl__ic { display: grid; place-items: center; flex: none; }
.hm-fl__ic svg { width: 12px; height: 12px; }
.hm-fam--light .hm-fl { background: #fff; color: var(--brown); box-shadow: var(--shadow-soft); }
.hm-fam--light .hm-fl:hover { border-color: var(--steel-200); }
.hm-fam--light .hm-fl__ic { background: var(--chip-arrow); }
.hm-fam--dark .hm-fl { border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .1); color: var(--cream); }
.hm-fam--dark .hm-fl:hover { background: rgba(255, 255, 255, .2); border-color: rgba(255, 255, 255, .4); }
.hm-fam--dark .hm-fl__ic { background: rgba(255, 255, 255, .16); }

.hm-fam__art { position: relative; isolation: isolate; overflow: hidden; flex: 1 1 auto; min-height: 230px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 26px;
  background: radial-gradient(80% 90% at 92% 0%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 70%), radial-gradient(70% 80% at 6% 108%, rgba(255, 242, 0, .26), rgba(255, 242, 0, 0) 60%), #321660; }
.hm-fam--dark .hm-fam__art { background: radial-gradient(80% 90% at 8% 0%, rgba(106, 31, 173, .9), rgba(106, 31, 173, 0) 70%), radial-gradient(70% 80% at 96% 108%, rgba(255, 242, 0, .24), rgba(255, 242, 0, 0) 60%), #2A1150; }
.hm-fam__art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 18px); -webkit-mask-image: radial-gradient(70% 80% at 50% 55%, #000 20%, transparent 100%); mask-image: radial-gradient(70% 80% at 50% 55%, #000 20%, transparent 100%); }
.hm-fam--md .hm-fam__art { flex: 0 0 42%; min-height: 0; }
.hm-fam--wide .hm-fam__art { flex: 0 0 46%; min-height: 210px; }
.hm-fam__main { position: absolute; left: 46%; top: 54%; display: grid; place-items: center; width: var(--m); height: var(--m); translate: -50% -50%; --ic-line: #fff; --ic-fill: #FFF200; --ic-detail: #6A1FAD; }
.hm-fam__mi { width: 100%; height: 100%; filter: drop-shadow(0 14px 20px rgba(10, 2, 24, .45)); }
.hm-fam__sub { position: absolute; display: grid; place-items: center; width: var(--s); height: var(--s); border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: rgba(38, 16, 64, .78); box-shadow: 0 8px 16px rgba(10, 2, 24, .35); --ic-line: #D4B9F4; --ic-fill: rgba(255, 255, 255, .14); --ic-detail: #FFF200; }
.hm-fam__sub--0 { right: 9%; bottom: 11%; }
.hm-fam__sub--1 { left: 9%; top: 13%; }
.hm-fam__si { width: 62%; height: 62%; }
@media (max-width: 1099.98px) {
  .hm-svcs { display: flex; flex-direction: column; gap: 14px; margin-top: 30px; }
  .hm-fam, .hm-fam--md, .hm-fam--wide { flex-direction: column; gap: 20px; --m: 112px; --s: 52px; }
  .hm-fam__art, .hm-fam--md .hm-fam__art, .hm-fam--wide .hm-fam__art { order: -1; flex: none; height: 168px; min-height: 0; }
  .hm-fam__tx, .hm-fam--md .hm-fam__tx, .hm-fam--wide .hm-fam__tx { flex: none; align-self: auto; }
  .hm-fam__t, .hm-fam--md .hm-fam__t { max-width: none; font-size: clamp(30px, 6vw, 40px); }
}
@media (max-width: 809.98px) { .hm-fam { padding: 14px 14px 20px; } .hm-fam__tx { padding: 0 6px; } .hm-fls { margin-top: 16px; } .hm-fl { font-size: 16px; } }

.hm-bento { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px; }
.hm-bento__light { padding: clamp(24px, 3.4vw, 44px); border: 1px solid var(--line); border-radius: var(--r-panel-xl); background: linear-gradient(180deg, #fff 0%, #F3F1FC 100%); }
.hm-bento__light .k-head__h { color: var(--accent); max-width: 14ch; font-size: clamp(32px, 3.6vw, 50px); }
.hm-bento__light .k-head__lead { max-width: 46ch; }
.hm-bento__light .k-head + * { margin-top: 28px; }
.hm-brows { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.hm-brow { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.hm-brow:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.hm-brow__ic { display: flex; }
.hm-brow__t { color: var(--brown); font-size: 22px; line-height: 1.1; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; letter-spacing: -.02em; }
.hm-brow__link { display: inline-block; padding: 2px 0; color: inherit; }
.hm-brow__link::after { content: ""; position: absolute; inset: 0; border-radius: 19px; }
.hm-brow__link:focus-visible { outline: none; box-shadow: none; }
.hm-brow:has(.hm-brow__link:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; box-shadow: var(--ring); }
.hm-brow__x { margin-top: 3px; color: var(--copy); font-size: 15px; line-height: 1.4; }
.hm-brow__go { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--chip-arrow); color: var(--brown); }
.hm-brow__go svg { width: 11px; height: 11px; }
.hm-bento__dark { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; gap: 30px; min-height: 0; padding: clamp(24px, 3.4vw, 44px); border-radius: var(--r-panel-xl); background: var(--dark-band); color: var(--cream); }
.hm-bento__txt, .hm-bento__names, .hm-bento__act { position: relative; z-index: 1; }
.hm-bento__act { margin-top: auto; }
.hm-bento__l { margin: 0; color: var(--on-dark-muted); font-size: 13px; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; }
.hm-bchips { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.hm-bchip { padding: 13px 21px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .1); color: var(--cream); font-size: 18px; line-height: 1.1; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.01em; }
.hm-bchip--tail { padding-left: 6px; padding-right: 6px; border-color: transparent; background: transparent; color: var(--on-dark-muted); font-weight: 400; font-variation-settings: "wdth" 100, "wght" 400; }
.hm-bento__t { color: #fff; font-size: clamp(32px, 3.6vw, 50px); line-height: 1; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.035em; }
.hm-bento__x { margin-top: 14px; max-width: 26ch; color: var(--on-dark-muted); font-size: 18px; line-height: 1.4; }
.hm-bento__fine { margin: 18px 0 0; max-width: 44ch; color: var(--on-dark-muted); font-size: 14px; line-height: 1.5; font-weight: 400; font-variation-settings: "wdth" 100, "wght" 400; }   
.hm-bento__art { position: absolute; z-index: 0; right: -110px; top: -120px; width: 330px; height: 330px; border-radius: 50%; background: radial-gradient(circle at 34% 30%, rgba(255, 242, 0, .5) 0%, rgba(255, 242, 0, 0) 46%), repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .16) 0 1px, transparent 1px 24px); opacity: .55; }
.hm-wall { margin-top: 56px; text-align: center; }
.hm-wall__l { color: var(--muted); font-size: 13px; text-transform: uppercase; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; }
.hm-wall__ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 46px; margin: 22px 0 0; padding: 0; list-style: none; }
.hm-wall__m { color: rgba(38, 16, 64, .78); font-size: clamp(22px, 2.3vw, 32px); line-height: 1.1; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.03em; }
.hm-wall__m--tail { color: var(--muted); font-weight: 400; font-variation-settings: "wdth" 100, "wght" 400; }
@media (max-width: 999.98px) { .hm-bento { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 809.98px) { .hm-wall { margin-top: 40px; } .hm-wall__ul { gap: 8px 26px; } .hm-brow { padding: 12px 14px; gap: 12px; } .hm-brow__t { font-size: 20px; } }

.hm-statement { padding: var(--hm-half) 0 calc(var(--r-panel-xl) + var(--hm-tail)); text-align: center; }   
.hm-statement__p { max-width: 1120px; margin: 0 auto; color: var(--brown); font-size: clamp(28px, 3.55vw, 51px); line-height: 1.08; font-weight: 440; font-variation-settings: "wdth" 100, "wght" 440; letter-spacing: -.035em; text-wrap: balance; }
.hm-mark { color: inherit; background: linear-gradient(transparent 56%, var(--brand-yellow) 56%, var(--brand-yellow) 90%, transparent 90%); padding: 0 .08em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hm-statement__act { margin-top: 20px; display: flex; justify-content: center; }
.hm-why { position: relative; z-index: 1; margin-top: calc(var(--r-panel-xl) * -1); padding: clamp(48px, 6vw, 88px) 0 clamp(48px, 6vw, 88px); border-radius: var(--r-panel-xl) var(--r-panel-xl) 0 0; background: var(--dark-band); color: var(--cream);
  --ic-line: var(--ic-on-dark-line); --ic-fill: var(--ic-on-dark-fill); --ic-detail: var(--ic-on-dark-accent); --ic-accent: var(--ic-on-dark-accent); }
.hm-why .k-head__h { color: #fff; max-width: 14ch; font-size: clamp(36px, 4.2vw, 60px); }
.hm-why .k-head + * { margin-top: 44px; }
.hm-why__head + .hm-reasons { margin-top: 44px; }
.hm-reasons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.hm-reason { display: flex; flex-direction: column; gap: 10px; padding: 12px 12px 26px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 19px; background: rgba(255, 255, 255, .07); }
.hm-reason__art { position: relative; display: block; height: 188px; margin-bottom: 14px; overflow: hidden; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .14); background: #321660; isolation: isolate; }
.hm-reason__art::before { content: ""; position: absolute; inset: 0; z-index: -1; }
.hm-art--repair { background: radial-gradient(80% 90% at 92% 0%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 70%), radial-gradient(70% 80% at 6% 108%, rgba(255, 242, 0, .26), rgba(255, 242, 0, 0) 60%), #321660; }
.hm-art--repair::before { background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .07) 38% 50%, transparent 50% 62%, rgba(255, 255, 255, .05) 62% 68%, transparent 68%); }
.hm-art--price { background: radial-gradient(80% 90% at 8% 0%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 70%), radial-gradient(70% 80% at 96% 108%, rgba(255, 242, 0, .24), rgba(255, 242, 0, 0) 60%), #2E1358; }
.hm-art--price::before { background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .11) 0 1px, transparent 1px 24px); -webkit-mask-image: radial-gradient(75% 85% at 50% 55%, #000 20%, transparent 100%); mask-image: radial-gradient(75% 85% at 50% 55%, #000 20%, transparent 100%); }
.hm-art--van { background: radial-gradient(90% 80% at 50% 0%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 72%), radial-gradient(60% 70% at 100% 100%, rgba(255, 242, 0, .22), rgba(255, 242, 0, 0) 60%), #321660; }
.hm-art--van::before { background: linear-gradient(rgba(255, 255, 255, .26), rgba(255, 255, 255, .26)) 0 calc(100% - 18px) / 100% 2px no-repeat; }
.hm-art--timer { background: radial-gradient(80% 90% at 50% 100%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 70%), radial-gradient(60% 70% at 0% 0%, rgba(255, 242, 0, .22), rgba(255, 242, 0, 0) 60%), #2E1358; }
.hm-art--timer::before { background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 16px); -webkit-mask-image: radial-gradient(70% 80% at 50% 55%, #000 20%, transparent 100%); mask-image: radial-gradient(70% 80% at 50% 55%, #000 20%, transparent 100%); }
.hm-art__main { position: absolute; left: 47%; top: 55%; display: grid; place-items: center; width: 118px; height: 118px; translate: -50% -50%; --ic-line: #fff; --ic-fill: #FFF200; --ic-detail: #6A1FAD; }
.hm-art__mi { width: 100%; height: 100%; filter: drop-shadow(0 12px 18px rgba(10, 2, 24, .45)); }
.hm-art__sub { position: absolute; right: 13%; bottom: 12%; display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: rgba(38, 16, 64, .78); box-shadow: 0 8px 16px rgba(10, 2, 24, .35); --ic-line: #D4B9F4; --ic-fill: rgba(255, 255, 255, .14); --ic-detail: #FFF200; }
.hm-art__si { width: 38px; height: 38px; }
.hm-art__chip { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 9px; border-radius: 999px; background: #FFF200; color: var(--brown); font-size: 12.5px; line-height: 1.1; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.hm-art__dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--accent); }
.hm-reason__t { padding: 0 12px; color: #fff; font-size: 23px; line-height: 1.15; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.02em; }
.hm-reason__x { padding: 0 12px; color: var(--on-dark-muted); font-size: 15px; line-height: 1.5; text-wrap: pretty; }
@media (max-width: 1099.98px) { .hm-reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559.98px) { .hm-reasons { grid-template-columns: minmax(0, 1fr); gap: 12px; } .hm-reason__art { height: 156px; } .hm-art__main { width: 96px; height: 96px; } .hm-art__sub { width: 54px; height: 54px; } .hm-art__si { width: 32px; height: 32px; } }

.hm-job { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: var(--r-panel-xl); background: #fff; box-shadow: var(--shadow-soft); transition: box-shadow .3s ease; position: relative; }
.hm-job:hover { box-shadow: var(--lift); }
.hm-job__media { position: relative; min-height: 360px; overflow: hidden; border-radius: 26px; background: var(--steel-50); }
.hm-job__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.hm-job__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 14px; padding: clamp(24px, 4vw, 56px); }
.hm-job__t { color: var(--brown); font-size: clamp(26px, 2.6vw, 38px); line-height: 1.08; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.03em; max-width: 20ch; }
.hm-job__x { max-width: 52ch; color: var(--copy); font-size: var(--fs-body); line-height: 1.55; text-wrap: pretty; }
.hm-job__go::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-panel-xl); }
.hm-job:has(.hm-job__go:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; box-shadow: var(--ring); }
.hm-job__go:focus-visible { outline: none; box-shadow: none; }
@media (max-width: 809.98px) { .hm-job { grid-template-columns: minmax(0, 1fr); } .hm-job__media { min-height: 0; aspect-ratio: 16 / 10; border-radius: 19px; } .hm-job__body { padding: 14px 10px 0; gap: 10px; } .hm-job__t { font-size: 24px; } .hm-job__x { font-size: var(--fs-ui); } }

.hm-areas { position: relative; overflow: hidden; }
.hm-contours { position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(106, 31, 173, .17); pointer-events: none; z-index: 0; }
.hm-areas .wrap { position: relative; z-index: 1; }
.hm-areas__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px clamp(28px, 4vw, 64px); align-items: center; }
.hm-areas__act { margin-top: 16px; }
.hm-map { padding: clamp(14px, 2vw, 28px); border: 1px solid var(--line); border-radius: var(--r-panel-xl); background: rgba(255, 255, 255, .92); box-shadow: var(--shadow-soft); }
.hm-map .amap { margin: 0; }
.hm-map .amap__intro { display: none; }
.hm-counties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.hm-county { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 12px 18px; border: 1px solid var(--line); border-radius: 19px; background: #fff; color: var(--brown); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.hm-county svg { width: 12px; height: 12px; flex: none; }
@media (max-width: 1099.98px) { .hm-areas__grid { grid-template-columns: minmax(0, 1fr); gap: 24px 0; } }   

.hm-recent.hm-sec { padding-bottom: calc(var(--r-panel-xl) + var(--hm-tail)); }   
.hm-revband { position: relative; z-index: 1; margin-top: calc(var(--r-panel-xl) * -1); padding: clamp(52px, 6.4vw, 96px) 0 clamp(56px, 7vw, 104px); border-radius: var(--r-panel-xl) var(--r-panel-xl) 0 0; background: var(--dark-band); color: var(--cream); }
.hm-revband .k-head__h { max-width: 16ch; color: #fff; font-size: clamp(36px, 4.2vw, 60px); }
.hm-revband__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px 40px; }
.hm-revband__top .k-head + * { margin-top: 0; }
.hm-revsum { flex: none; margin: 0 9px 9px 0; padding: 16px 22px; border-radius: 19px; background: #fff; color: var(--brown); box-shadow: 0 0 0 9px rgba(255, 255, 255, .12), 0 30px 54px -26px rgba(0, 0, 0, .6); }
.hm-revsum .grate__n { color: var(--copy); }
.hm-revs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 30px; margin: 52px 0 0; padding: 0 9px; list-style: none; }
.hm-rev { display: flex; }
.hm-rev figure { margin: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 26px; width: 100%; padding: 30px; border-radius: 24px; background: #fff; box-shadow: 0 0 0 9px rgba(255, 255, 255, .1), 0 34px 60px -28px rgba(0, 0, 0, .6); }
.hm-rev__q p { color: var(--brown); font-size: 18px; line-height: 1.45; letter-spacing: -.01em; text-wrap: pretty; }
.hm-rev__c { display: flex; flex-direction: column; gap: 2px; }
.hm-rev__n { color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.hm-rev__s { color: var(--muted); font-size: 14px; }
.hm-revband .hm-after { margin-top: 44px; }
.hm-revband .hm-link { color: #fff; }
.hm-revband .hm-link span { text-decoration-color: rgba(255, 255, 255, .5); }
.hm-revband .hm-link:hover span { text-decoration-color: #fff; }
.hm-revband + .hm-sec { padding-top: calc(var(--hm-half) * 1.9); }
@media (max-width: 1079.98px) and (min-width: 810px) { .hm-rev figure { padding: 22px; } .hm-revs { gap: 22px; } }
@media (max-width: 809.98px) {
  .hm-revs { display: flex; flex-direction: column; gap: 22px; margin-top: 34px; padding: 0 9px; }
  .hm-rev figure { padding: 22px; gap: 18px; }
  .hm-rev__q p { font-size: 16.5px; }
  .hm-revsum { padding: 14px 18px; }
}

.hm-hours { position: relative; overflow: hidden; margin: 0 var(--inset); padding: clamp(64px, 8vw, 112px) 0; border-radius: var(--r-panel-xl); color: var(--cream);
  background: radial-gradient(60% 80% at 50% -10%, rgba(106, 31, 173, .62) 0%, rgba(106, 31, 173, 0) 70%), radial-gradient(40% 50% at 100% 100%, rgba(106, 31, 173, .3) 0%, rgba(106, 31, 173, 0) 70%), var(--night); }
.hm-hours__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "head card" "head act"; gap: 22px clamp(32px, 5vw, 80px); align-items: start; }
.hm-hours .k-head { grid-area: head; }
.hm-hours .k-head__h { color: #F6F5FA; max-width: 9ch; font-size: clamp(40px, 5vw, 72px); line-height: 1.02; font-weight: 250; font-variation-settings: "wdth" 100, "wght" 250; letter-spacing: -.03em; }
.hm-hours .k-head + * { margin-top: 0; }
.hm-hours__card { grid-area: card; padding: clamp(20px, 2.6vw, 32px); border: 1px solid rgba(255, 255, 255, .16); border-radius: 19px; background: rgba(255, 255, 255, .06); backdrop-filter: blur(6px); }
.hm-hours .emerg--card { padding: 0; background: none; box-shadow: none; border-radius: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }
.hm-hours .emerg__call { grid-column: 1 / -1; max-width: 56ch; }
.hm-hours .emerg__h { color: var(--on-dark-muted); font-size: 14px; }
.hm-hours .emerg__list li, .hm-hours .emerg__note, .hm-hours .emerg__call { color: rgba(243, 242, 239, .86); }
.hm-hours .emerg__price { color: #fff; font-size: 24px; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.02em; }
.hm-hours__note { margin-top: 16px; color: var(--on-dark-muted); font-size: var(--fs-ui); }
.hm-hours__act { grid-area: act; }
.hm-hours .hm-call { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .4); color: #fff; }
.hm-hours .hm-call:hover { background: rgba(255, 255, 255, .18); }
.hm-hours .hm-call__ic { background: rgba(255, 255, 255, .16); }
@media (max-width: 999.98px) { .hm-hours__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "card" "act"; gap: 22px 0; } .hm-hours .k-head__h { max-width: 14ch; } }
@media (max-width: 809.98px) { .hm-hours__act .btn { width: 100%; justify-content: space-between; } .hm-hours .emerg--card { grid-template-columns: minmax(0, 1fr); } }

.hm-faq__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px clamp(32px, 5vw, 80px); align-items: start; }
@media (max-width: 809.98px) { .hm-faq__panel { padding: 24px 14px 18px; } .hm-faq__head { padding: 0 8px; } }
.hm-faq .faq { max-width: none; gap: 10px; }
.hm-faq__panel { padding: clamp(24px, 4.6vw, 76px); border: 1px solid var(--line); border-radius: var(--r-panel-xl); background: #fff; box-shadow: var(--shadow-soft); }
.hm-faq .k-head__h { max-width: 9ch; color: var(--accent); font-size: clamp(36px, 4.2vw, 60px); }
.hm-faq .faq__row { background: #F7F6FC; border: 1px solid var(--line); border-radius: 19px; box-shadow: none; }
.hm-faq .faq__row:hover { background: #F2F0FB; }
.hm-faq .faq__q { min-height: 64px; padding: 16px 22px; font-size: 18px; font-variation-settings: "wdth" 100, "wght" 500; }
.hm-faq .faq__a p { padding: 0 22px 20px; }
.hm-faq .faq__a a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.hm-faq__side { margin-top: 10px; }
.hm-why + .hm-sec { padding-top: calc(var(--hm-half) * 1.9); }   
.hm-hours + .hm-faq.hm-sec { padding-top: calc(var(--hm-half) * 1.9); }
.hm-faq.hm-sec { padding-bottom: calc(var(--r-panel-xl) + var(--hm-tail)); }   
@media (max-width: 1079.98px) { .hm-faq__grid { grid-template-columns: minmax(0, 1fr); gap: 24px 0; } }

.hm-bento { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
.hm-bchips { gap: 8px; }
a.hm-bchip { display: flex; align-items: center; min-height: 44px; padding: 9px 18px; font-size: 17px; transition: background-color .2s ease, border-color .2s ease; }
a.hm-bchip:hover { background: rgba(255, 255, 255, .2); border-color: rgba(255, 255, 255, .4); }
.hm-bchip--tail { display: flex; align-items: center; min-height: 44px; }

.hm-bchip--plain { display: flex; align-items: center; min-height: 44px; padding: 9px 18px; border: 1px solid rgba(255, 255, 255, .22); background: transparent; color: var(--on-dark-muted); font-size: 17px; font-weight: 400; font-variation-settings: "wdth" 100, "wght" 400; cursor: default; }
@media (max-width: 999.98px) { .hm-bento { grid-template-columns: minmax(0, 1fr); } }

.cta.band.band--stmt { padding: clamp(80px, 9vw, 130px) 0 clamp(120px, 12vw, 176px); text-align: left; }
.cta.band.band--stmt .band__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 44px clamp(32px, 5vw, 88px); text-align: left; }
.cta.band.band--stmt .band__head { align-items: flex-start; max-width: none; gap: 20px; }
.cta.band.band--stmt .band__h { max-width: 5em; font-size: clamp(64px, 10.4vw, 156px); line-height: .92; font-weight: 440; font-variation-settings: "wdth" 100, "wght" 440; letter-spacing: -.05em; }
.cta.band.band--stmt .band__lead { max-width: 30ch; color: var(--on-dark-muted); }
.band__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.band__acts .btn--price { --bh: 52px; --pl: 22px; background: var(--brand-yellow); color: var(--brown); }
.band__acts .btn--price:hover { background: #F2E600; }
.band__acts .btn--price .btn__ic { background: #fff; color: var(--brown); }
.band__acts .hm-call { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .4); color: #fff; }
.band__acts .hm-call:hover { background: rgba(255, 255, 255, .18); }
.band__acts .hm-call__ic { background: rgba(255, 255, 255, .16); }
.band__side { position: relative; min-width: 0; }
.cta.band.band--stmt .band__form { position: relative; z-index: 1; max-width: none; padding: clamp(18px, 2.4vw, 30px); text-align: left; }
.cta.band.band--stmt .pk--band { flex-direction: column; align-items: stretch; gap: 18px; }
.cta.band.band--stmt .pk--band .pk__ic { display: none; }
.cta.band.band--stmt .pk--band .pk__tile { min-height: 44px; padding: 8px 16px; }
.cta.band.band--stmt .pk--band .pk__step--tiles .pk__legend { position: static; width: auto; height: auto; margin: 0 0 12px; overflow: visible; clip: auto; white-space: normal; color: var(--brown); font-size: 22px; line-height: 1.2; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; letter-spacing: -.01em; }
.cta.band.band--stmt .pk--band .pk__foot .btn { width: 100%; justify-content: space-between; }
@media (max-width: 999.98px) { .cta.band.band--stmt .band__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 809.98px) { .cta.band.band--stmt { padding: 72px 0 112px; } .cta.band.band--stmt .band__h { font-size: clamp(56px, 19vw, 96px); } }
@media (max-width: 519.98px) { .band__acts { flex-direction: column; width: 100%; } .band__acts .btn { width: 100%; justify-content: space-between; } }

.cta.band.band--stmt .band__head { position: relative; z-index: 1; }
@media (max-width: 809.98px) { .hm-revsum { flex: 0 1 auto; max-width: calc(100% - 9px); } }

.hm-brands.hm-sec { margin-top: var(--hm-half); }   
.hm-hours { margin-top: var(--hm-half); }           
.hm-hours__in { padding-inline: clamp(28px, 4.4vw, 64px); }   
@media (max-width: 809.98px) { .hm-map .amap--compact .amap__chip { padding: 4px 10px; } }   



.alink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--brown); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); line-height: var(--lh-btn); }
.alink:hover { text-decoration: underline; text-underline-offset: 3px; }
.alink__ic { display: inline-flex; width: 12px; height: 12px; flex: none; }
.alink__ic svg { width: 100%; height: 100%; transition: transform .35s var(--ease-spring); }
.alink:hover .alink__ic svg { transform: translateX(4px); }
.alink:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-pill); }
.indep { margin-top: 24px; color: var(--muted); font-size: var(--fs-ui); line-height: 1.5; font-variation-settings: var(--w-ui); }
.indep--left { margin-top: 0; max-width: 52ch; }
.cgtop__back { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; color: var(--steel-700); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: var(--w-ui); }
.cgtop__back:hover { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; }
.cgtop__back-ic { display: inline-flex; width: 12px; height: 12px; transform: rotate(180deg); }
.cgtop__back-ic svg { width: 100%; height: 100%; }
.cgtop__back:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-pill); }

.cgsec { padding-block: var(--pad-section); }
.cgsec .k-head + * { margin-top: 32px; }
@media (max-width: 809.98px) { .cgsec .k-head + * { margin-top: 24px; } .cgsec .k-head { gap: 12px; } }

.cgdoor { display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 8px 16px 8px 12px; border-radius: var(--r-soft); background: var(--steel-50); color: var(--brown); font-size: var(--fs-body); font-weight: 600; font-variation-settings: var(--w-title-s); line-height: 1.25; transition: background-color .2s ease, transform .5s var(--ease-spring); }
.cgdoor:hover { background: var(--steel-100); transform: translateY(-1px); }
.cgdoor:hover .alink__ic svg { transform: translateX(4px); }
.cgdoor:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.cgdoor__ic { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--white); }
.cgdoor__svg { width: 24px; height: 24px; }
.cgdoor__n { flex: 1 1 auto; min-width: 0; }

.chero { min-height: clamp(300px, 40vh, 380px); padding: 48px 0 44px; display: flex; align-items: flex-end; }
.chero__in { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.chero__h { color: var(--white); max-width: 20ch; }
.chero__lead { max-width: 58ch; color: var(--copy-on-photo); font-size: var(--fs-title-s); line-height: 1.5; text-wrap: pretty; }
.chero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
@media (max-width: 809.98px) {
  .chero { min-height: 0; padding: 28px 0 32px; }
  .chero__in { gap: 14px; }
  .chero__btns { display: none; }          
}

.cgdoors__grid { columns: 3; column-gap: 16px; }
.cgdoors__grp { display: inline-block; width: 100%; break-inside: avoid; margin: 0 0 16px; padding: 22px 20px 20px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); min-width: 0; }
.cgdoors__gh { margin: 0 0 14px; padding: 0 4px; color: var(--steel-700); font-size: var(--fs-label); font-weight: var(--w-label); letter-spacing: var(--tr-label); line-height: var(--lh-mono); }
.cgdoors__list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cgalso { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.cgalso__h { margin: 0; color: var(--steel-700); font-size: var(--fs-label); font-weight: var(--w-label); letter-spacing: var(--tr-label); line-height: var(--lh-mono); }
.cgalso__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cgalso__i { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: var(--r-full); background: var(--steel-100); color: var(--steel-700); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); line-height: var(--lh-btn); }
@media (max-width: 1079.98px) { .cgdoors__grid { columns: 2; } }
@media (max-width: 599.98px) { .cgdoors__grid { columns: 1; } .cgdoors__grp { margin-bottom: 12px; padding: 18px 14px 14px; } .cgalso { margin-top: 12px; } }

.cgfeat__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cgfeat__card .ccard__media { aspect-ratio: 16 / 10; }
.bphoto__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.45; }
@media (max-width: 809.98px) {
  .cgfeat__row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cgfeat__card { flex-direction: row; align-items: stretch; }
  .cgfeat__card .ccard__media { flex: 0 0 112px; width: 112px; aspect-ratio: auto; }
  .cgfeat__card .ccard__body { padding: 14px 16px; gap: 6px; justify-content: center; }
}
.cgaz__list { columns: 2; column-gap: 24px; margin: 0; padding: 0; list-style: none; }
.cgaz__list li { break-inside: avoid; display: flex; align-items: center; min-height: 38px; font-size: var(--fs-body); line-height: 1.25; }
.cgaz__a { display: inline-flex; align-items: center; min-height: 32px; color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; text-decoration: underline; text-decoration-color: var(--steel-200); text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.cgaz__a:hover { text-decoration-color: var(--brown); }
.cgaz__a:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-chip); }
.cgaz__t { color: var(--copy); }
.cgaz .indep { margin-top: 32px; }
@media (min-width: 600px) { .cgaz__list { columns: 3; } }
@media (min-width: 1080px) { .cgaz__list { columns: 4; } }
@media (max-width: 599.98px) { .cgaz__list li { min-height: 36px; } .cgaz .indep { margin-top: 24px; } }

.cgtop { padding-bottom: 56px; }
.cgtop__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 56px; align-items: center; }
.cgtop__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; min-width: 0; }
.cgtop__h { color: var(--brown); font-size: var(--fs-h2); line-height: var(--lh-h2); text-wrap: balance; }
.cgtop__lead { max-width: 56ch; color: var(--copy); font-size: var(--fs-title-s); line-height: 1.5; text-wrap: pretty; }
.cgtop__btns, .cgbt__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.cgbt__hint { margin: 0; max-width: 46ch; color: var(--copy); font-size: var(--fs-ui); line-height: 1.45; font-weight: 560; font-variation-settings: var(--w-ui); }
.cgtop__fine { max-width: 52ch; margin: 0; color: var(--muted); font-size: var(--fs-ui); line-height: 1.5; }
.cgtop__photo { margin: 0; aspect-ratio: 4 / 3; border-radius: var(--r-soft-l); overflow: hidden; background: var(--steel-100); box-shadow: var(--shadow-soft); }
.cgtop__img { display: block; width: 100%; height: 100%; object-fit: cover; }

.cgtop--solo .cgtop__grid { grid-template-columns: minmax(0, 880px); }
.cgtx__go { margin: 2px 0 0; }
@media (max-width: 1079.98px) {
  .cgtop__grid { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
  .cgtop__photo { aspect-ratio: 16 / 9; }
}
@media (max-width: 809.98px) {
  .cgtop { padding-bottom: 36px; }
  .cgtop__copy { gap: 16px; }
  .cgtop__btns, .cgbt__btns { width: 100%; }
  .cgtop__btns .btn, .cgbt__btns .btn { flex: 1 1 100%; justify-content: center; }
  .cgtop__btns .btn--price, .cgbt__btns .btn--price { justify-content: space-between; }
}

.cgprob__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; padding: 0; list-style: none; }
.cgprob__row { display: flex; align-items: center; gap: 16px; min-height: 76px; padding: 16px 20px 16px 16px; height: 100%; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); color: var(--brown); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.cgprob__row:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.cgprob__row:hover .alink__ic svg { transform: translateX(4px); }
.cgprob__row:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.cgprob__ic { display: flex; flex: none; }
.cgprob__ic .k-disc { background: var(--steel-50); }
.cgprob__ic .k-disc svg { width: 62%; height: 62%; }
.cgprob__tx { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.cgprob__t { color: var(--brown); font-size: var(--fs-title-s); line-height: 1.25; font-weight: 600; font-variation-settings: var(--w-title-s); letter-spacing: var(--tr-title-s); }
.cgprob__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; text-wrap: pretty; }
@media (max-width: 809.98px) { .cgprob__list { grid-template-columns: minmax(0, 1fr); gap: 10px; } .cgprob__row { min-height: 68px; padding: 14px 16px 14px 14px; gap: 14px; } }

.cgvis__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.cgvis__i { display: grid; grid-template-columns: 40px minmax(0, 1fr); grid-template-areas: "n t" "x x"; column-gap: 12px; row-gap: 10px; align-content: start; padding: 22px 22px 24px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); min-width: 0; }
.cgvis__n { grid-area: n; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--brown); color: var(--cream); font-size: var(--fs-ui); font-weight: 700; font-variation-settings: var(--w-strong); font-variant-numeric: tabular-nums lining-nums; }
.cgvis__t { grid-area: t; align-self: center; margin: 0; color: var(--brown); font-size: var(--fs-title-s); line-height: 1.25; font-weight: 600; font-variation-settings: var(--w-title-s); }
.cgvis__x { grid-area: x; margin: 0; color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
@media (max-width: 1079.98px) { .cgvis__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599.98px) {
  .cgvis__list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .cgvis__i { grid-template-columns: 36px minmax(0, 1fr); grid-template-areas: "n t" "n x"; padding: 16px 16px 18px; row-gap: 4px; }
  .cgvis__n { width: 36px; height: 36px; }
}

.brchips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.brchip { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 18px; border-radius: var(--r-full); background: var(--white); box-shadow: inset 0 0 0 1.5px var(--steel-200); color: var(--ink); font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); line-height: var(--lh-btn); }
.brchip--link { background: var(--steel-100); box-shadow: none; color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; transition: background-color .2s ease, transform .5s var(--ease-spring); }
.brchip--link:hover { background: var(--steel-200); transform: translateY(-2px); }
.brchip--link:hover .alink__ic svg { transform: translateX(4px); }
.brchip--link:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.cgbr .indep { margin-top: 24px; }

.cgtx__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 64px; align-items: start; }
.cgtx__grid > .k-head { position: sticky; top: calc(var(--nav-h-compact) + 24px); }
.cgtx__body { display: flex; flex-direction: column; gap: 26px; max-width: 64ch; }
.cgtx .k-head + .cgtx__body { margin-top: 0; }
.cgtx__blk { display: flex; flex-direction: column; gap: 10px; }
.cgtx__h { color: var(--brown); text-wrap: balance; }
.cgtx__blk .copy { font-size: var(--fs-body); line-height: var(--lh-body); text-wrap: pretty; }
@media (max-width: 1079.98px) { .cgtx__grid { display: flex; flex-direction: column; align-items: stretch; gap: 24px; } .cgtx__grid > .k-head { position: static; } .cgtx__body { max-width: none; } }
@media (max-width: 809.98px) { .cgtx__body { gap: 22px; } }

.cgrev .k-head__h { color: var(--cream); }
.cgrev__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.cgrev__card { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: 30px; border-radius: var(--r-soft-l); background: var(--glass-card); box-shadow: inset 0 0 0 1px var(--glass-line); min-width: 0; }
.cgrev__q { margin: 0; }
.cgrev__q p { color: var(--cream); font-size: var(--fs-title-s); line-height: 1.55; text-wrap: pretty; }
.cgrev__by { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.cgrev__name { color: var(--cream); font-size: var(--fs-body); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.cgrev__src { display: inline-flex; align-items: center; gap: 8px; color: var(--steel-100); font-size: var(--fs-ui); }
.cgrev__src .gmark { flex: none; }
@media (max-width: 809.98px) { .cgrev__list { grid-template-columns: minmax(0, 1fr); gap: 12px; } .cgrev__card { padding: 22px 20px; gap: 18px; } }

.cgrel__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.cgrel .cgdoor { background: var(--white); box-shadow: var(--shadow-soft); min-height: 64px; }
.cgrel .cgdoor:hover { background: var(--steel-50); }
.cgrel .cgdoor__ic { background: var(--steel-50); }
@media (max-width: 809.98px) { .cgrel__list { grid-template-columns: minmax(0, 1fr); gap: 8px; } }

.cgfaq__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 64px; align-items: start; }
.cgfaq__head { position: sticky; top: calc(var(--nav-h-compact) + 24px); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.cgfaq__more { margin-top: 0; }
@media (max-width: 1079.98px) { .cgfaq__in { display: flex; flex-direction: column; align-items: stretch; gap: 20px; } .cgfaq__head { position: static; } }

.cgbt { padding-bottom: 56px; }
.cgbt__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 56px; align-items: center; }
.cgbt__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; min-width: 0; }
.cgbt__h { color: var(--brown); font-size: var(--fs-h2); line-height: var(--lh-h2); text-wrap: balance; }
.cgbt__lead { max-width: 54ch; color: var(--copy); font-size: var(--fs-title-s); line-height: 1.5; text-wrap: pretty; }
.cgbt__oem { margin: 0; }
.cgbt__photo { margin: 0; aspect-ratio: 4 / 3; border-radius: var(--r-soft-l); overflow: hidden; background: var(--steel-100); box-shadow: var(--shadow-soft); }
.cgbt__img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1079.98px) { .cgbt__grid { display: flex; flex-direction: column; align-items: stretch; gap: 28px; } .cgbt__photo { aspect-ratio: 16 / 9; } }
@media (max-width: 809.98px) { .cgbt { padding-bottom: 36px; } .cgbt__copy { gap: 16px; } }

.cgbw__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); column-gap: 32px; align-items: start; }
.cgbw__list { padding: 30px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.cgbw__lt, .cgbw__st { color: var(--brown); }
.cgbw__checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 20px 0 0; padding: 0; list-style: none; }
.cgbw__checks .k-check { font-size: var(--fs-body); }
.cgbw__side { display: flex; flex-direction: column; gap: 14px; }
.cgbw__apps { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cgbw__apps .cgdoor { background: var(--white); box-shadow: var(--shadow-soft); }
.cgbw__apps .cgdoor:hover { background: var(--steel-50); }
.cgbw__apps .cgdoor__ic { background: var(--steel-50); }
@media (max-width: 1079.98px) { .cgbw__grid { display: flex; flex-direction: column; align-items: stretch; gap: 20px; } }
@media (max-width: 599.98px) { .cgbw__list { padding: 22px 18px; } .cgbw__checks { grid-template-columns: minmax(0, 1fr); gap: 12px; } }

.cgfold__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 64px; align-items: start; }
.cgfold__head { position: sticky; top: calc(var(--nav-h-compact) + 24px); }
.cgfold__intro { display: flex; flex-direction: column; gap: 12px; max-width: 70ch; margin-bottom: 20px; }
.cgfold__intro .copy { font-size: var(--fs-body); line-height: var(--lh-body); text-wrap: pretty; }
.cgfold__list { display: flex; flex-direction: column; gap: 8px; max-width: 820px; }
.cgfold__d { border-radius: var(--r-row); background: var(--white); box-shadow: var(--shadow-soft); }
.cgfold__s { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; padding: 14px 20px; cursor: pointer; list-style: none; color: var(--brown); font-size: var(--fs-title-s); font-weight: 600; font-variation-settings: var(--w-title-s); line-height: 1.25; }
.cgfold__s::-webkit-details-marker { display: none; }
.cgfold__s:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-row); }
.cgfold__ic { display: inline-flex; width: 14px; height: 14px; flex: none; transition: transform .45s var(--ease-spring); }
.cgfold__ic svg { width: 100%; height: 100%; }
.cgfold__d[open] .cgfold__ic { transform: rotate(45deg); }
.cgfold__b { display: flex; flex-direction: column; gap: 12px; padding: 0 20px 20px; max-width: 68ch; }
.cgfold__b .copy { font-size: var(--fs-ui); line-height: 1.55; text-wrap: pretty; }
.mtags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 4px 0 0; list-style: none; }
.mtag { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 12px; border-radius: var(--r-full); background: var(--steel-50); color: var(--steel-700); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; font-variant-numeric: tabular-nums lining-nums; }
@media (max-width: 1079.98px) { .cgfold__in { display: flex; flex-direction: column; align-items: stretch; gap: 20px; } .cgfold__head { position: static; } .cgfold__list { max-width: none; } }
@media (max-width: 599.98px) { .cgfold__s { padding: 12px 16px; min-height: 52px; } .cgfold__b { padding: 0 16px 16px; } }

.cgmt__card { display: flex; align-items: center; gap: 28px; padding: 32px 36px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.cgmt__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cgmt__h { color: var(--brown); }
.cgmt__x { max-width: 60ch; color: var(--copy); font-size: var(--fs-title-s); line-height: 1.5; text-wrap: pretty; }
@media (max-width: 809.98px) { .cgmt__card { flex-direction: column; align-items: flex-start; gap: 16px; padding: 22px 20px; } }

.cgmore__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 64px; align-items: start; }
.cgmore__in > .k-head + * { margin-top: 0; }
.cgmore__main { display: flex; flex-direction: column; gap: 20px; }
@media (max-width: 1079.98px) { .cgmore__in { display: flex; flex-direction: column; align-items: stretch; gap: 20px; } }

@media (prefers-reduced-motion: reduce) {
  .cgdoor, .cgprob__row, .brchip--link, .cgfold__ic { transition: none; }
  .cgdoor:hover, .cgprob__row:hover, .brchip--link:hover { transform: none; }
  .alink__ic svg, .cgprob__row:hover .alink__ic svg, .cgdoor:hover .alink__ic svg { transition: none; transform: none; }
}

section.chero .photo-sec__veil { background: linear-gradient(180deg, rgba(14, 24, 35, .5) 0%, rgba(14, 24, 35, .7) 55%, rgba(14, 24, 35, .8) 100%); }

.cg3-hero { min-height: clamp(540px, calc(100svh - var(--card-top) - var(--inset)), 780px); }
.cg3-hero .hm-hero__in { justify-content: center; }
.cg3-hero__h.display { max-width: 14em; }
.cg3-hero__back { text-decoration: none; transition: background-color .2s ease; }
.cg3-hero__back:hover { background: rgba(255, 255, 255, .8); }
.cg3-hero__backic svg { transform: scaleX(-1); }
.cg3-hero__fine { display: flex; flex-direction: column; align-items: center; gap: 6px; max-width: 44ch; margin-top: 2px; }
@media (min-width: 810px) { .cg3-hero .hm-sphere { left: 81%; top: 46%; width: clamp(min(46vw, 640px), calc(640px + (100vw - 1440px) * .5), 880px); opacity: .9; } }   
.cg3-hero__p { margin: 0; color: var(--brown); font-size: 14.5px; line-height: 1.4; text-wrap: balance; }
.cg3-hero__hint { font-size: 15px; }
.cg3-hero__oem { display: inline-flex; align-items: center; gap: 8px; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.cg3-hero__offer { margin-top: 4px; font-size: 16px; }
.cg3-hero__indep { margin-top: 4px; font-size: 13.5px; }
@media (max-width: 809.98px) {
  .cg3-hero .hm-hero__in { justify-content: flex-start; }
  .cg3-hero__p { font-size: 14px; }
}

.hm-sec:has(+ .cta.band), .hm-sec:has(+ .hm-why) { padding-bottom: calc(var(--r-panel-xl) + var(--hm-tail)); }
.hm-faq.hm-sec.cg3-faq:not(:has(+ .cta.band)) { padding-bottom: var(--hm-half); }

.cg3-what__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 16px; align-items: stretch; }
.cg3-what__main .k-head + * { margin-top: 28px; }
.cg3-what__lt { margin: 28px 0 14px; color: var(--copy); font-size: 13px; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.cg3-issues { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.cg3-issue { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 16px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); }
.cg3-issue__ck { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--chip-arrow); color: var(--accent); }
.cg3-issue__ck svg { width: 13px; height: 13px; }
.cg3-issue__t { color: var(--brown); font-size: 18px; line-height: 1.3; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.01em; }
.cg3-what__side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cg3-photo { position: relative; flex: 1 1 260px; min-height: 260px; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-panel-xl); background: var(--hero-fill); }
.cg3-photo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cg3-photo--art { border: 0; background: transparent; }   
.cg3-photo--art .p1-art--fill { position: absolute; inset: 0; height: 100%; border: 0; border-radius: inherit; }
.cg3-apps { flex: none; }
.cg3-apps .hm-fam__t { max-width: none; font-size: clamp(26px, 2.6vw, 36px); }
@media (max-width: 999.98px) { .cg3-what__grid { grid-template-columns: minmax(0, 1fr); } .cg3-photo { flex-basis: auto; min-height: 0; aspect-ratio: 3 / 2; } }

.cg3-fold { margin-bottom: 10px; border-radius: 19px; }
.cg3-fold__s { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 14px 16px 14px 22px; border-radius: 19px; cursor: pointer; list-style: none; font-size: 18px; line-height: 1.3; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; }
.cg3-fold__s::-webkit-details-marker { display: none; }
.cg3-fold__s:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cg3-fold__ic { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 10px; transition: transform .35s var(--ease-spring); }
.cg3-fold__ic svg { width: 13px; height: 13px; }
.cg3-fold[open] .cg3-fold__ic { transform: rotate(45deg); }
.cg3-fold__b { padding: 0 22px 22px; }
.cg3-fold__b .copy { margin: 0 0 12px; font-size: 16px; line-height: 1.55; text-wrap: pretty; }
.cg3-fold__b .copy:last-child { margin-bottom: 0; }
.cg3-fold__b .cgtx__go { margin: 4px 0 0; }

.cg3-band .cg3-fold { border: 1px solid rgba(255, 255, 255, .16); background: #351860; }   
.cg3-band .cg3-fold__s { color: #fff; }
.cg3-band .cg3-fold__s:focus-visible { outline-color: #fff; }
.cg3-band .cg3-fold__ic { background: rgba(255, 255, 255, .16); color: #fff; }
.cg3-band .cg3-fold__b .copy { color: #D9D2E4; }
.cg3-band .alink { color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255, 255, 255, .45); }
.cg3-band .alink:hover { text-decoration-color: #fff; }
.cg3-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px clamp(32px, 5vw, 80px); align-items: start; }
.cg3-split__head .k-head + * { margin-top: 0; }
.cg3-band__intro { display: flex; flex-direction: column; gap: 14px; margin-top: 26px; }
.cg3-band__intro:empty { display: none; }
.cg3-band__x { max-width: 40ch; margin: 0; color: var(--on-dark-muted); font-size: 17px; line-height: 1.5; text-wrap: pretty; }
@media (max-width: 1079.98px) { .cg3-split { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 809.98px) { .cg3-fold__s { min-height: 60px; padding: 12px 12px 12px 18px; font-size: 17px; } .cg3-fold__b { padding: 0 18px 20px; } }

.cg3-panel__head .k-head__h { max-width: 11ch; color: var(--accent); font-size: clamp(34px, 3.8vw, 54px); }
.cg3-panel .cg3-fold { border: 1px solid var(--line); background: #F7F6FC; }
.cg3-panel .cg3-fold:hover { background: #F2F0FB; }
.cg3-panel .cg3-fold__s { color: var(--brown); }
.cg3-panel .cg3-fold__ic { background: var(--chip-arrow); color: var(--brown); }
.cg3-panel .cg3-fold__b .copy { color: var(--copy); }
.cg3-panel .mtag { background: #fff; border: 1px solid var(--line); color: var(--brown); border-radius: 999px; }
.cg3-faq .hm-faq__head .k-head__h { max-width: 21ch; font-size: clamp(30px, 3.05vw, 46px); text-wrap: balance; }   

.cg3-maint__card { flex-direction: row; align-items: center; gap: clamp(18px, 3vw, 40px); }
.cg3-maint__h { color: var(--accent); font-size: clamp(26px, 2.8vw, 38px); line-height: 1.05; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.03em; }
.cg3-maint__x { margin-top: 10px; max-width: 62ch; color: var(--copy); font-size: 17px; line-height: 1.5; }
@media (max-width: 679.98px) { .cg3-maint__card { flex-direction: column; align-items: flex-start; } }

.cg3-more__in { display: flex; flex-direction: column; gap: 32px; }
.cg3-more__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; }
.cg3-more__head .k-head + * { margin-top: 0; }
.cg3-more__head .k-head__h { max-width: 14ch; color: var(--accent); font-size: clamp(34px, 3.8vw, 54px); }
.cg3-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cg3-chip { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 6px 6px 20px; border: 1px solid var(--line); border-radius: 999px; background: #fff; box-shadow: var(--shadow-soft); color: var(--brown); font-size: 17px; line-height: 1.1; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; transition: border-color .2s ease; }
.cg3-chip:hover { border-color: var(--steel-200); }

.cg3-chips--grid { display: grid; grid-template-columns: repeat(var(--c1, 6), minmax(0, 1fr)); gap: 10px; }
.cg3-chips--grid > li { display: flex; min-width: 0; }
.cg3-chips--grid .cg3-chip { flex: 1 1 auto; justify-content: space-between; min-width: 0; }
.cg3-chips--grid .cg3-chip > span:first-child { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1239.98px) { .cg3-chips--grid { grid-template-columns: repeat(var(--c2, 4), minmax(0, 1fr)); } }
@media (max-width: 999.98px) { .cg3-chips--grid { grid-template-columns: repeat(var(--c3, 3), minmax(0, 1fr)); } }
@media (max-width: 599.98px) { .cg3-chips--grid { grid-template-columns: repeat(var(--c4, 2), minmax(0, 1fr)); gap: 8px; } .cg3-chips--grid .cg3-chip { gap: 8px; padding-left: 14px; font-size: 16px; } .cg3-chips--odd > li:last-child { grid-column: 1 / -1; } }
.cg3-indep { margin-top: 28px; }
.cg3-chip__ic { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--chip-arrow); transition: transform .35s var(--ease-spring); }
.cg3-chip__ic svg { width: 12px; height: 12px; }
.cg3-chip:hover .cg3-chip__ic { transform: translateX(2px); }

.cg3-az .k-head__h, .cg3-svc .k-head__h, .cg3-visit .k-head__h, .cg3-rel .k-head__h { max-width: 14ch; color: var(--accent); font-size: clamp(34px, 3.8vw, 54px); }
.hm-sec:has(+ .hm-revband) { padding-bottom: calc(var(--r-panel-xl) + var(--hm-tail)); }
.cg3-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.cg3-tag { padding: 11px 18px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--brown); font-size: 17px; line-height: 1.1; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; }
.cg3-chip--plain { padding-right: 20px; box-shadow: none; background: #F7F6FC; }

.cg3-btiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.cg3-btiles > li { display: flex; min-width: 0; }
.cg3-btile { position: relative; flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; min-width: 0; min-height: 140px; padding: 20px 16px 16px 22px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-soft); color: var(--brown); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
a.cg3-btile:hover { box-shadow: var(--lift); transform: translateY(-2px); }
a.cg3-btile:hover .cg3-btile__go { transform: translateX(2px); }
a.cg3-btile:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: var(--ring); }
.cg3-btile--plain { background: #F7F6FC; box-shadow: none; }
.cg3-btile__n { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.05; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.03em; overflow-wrap: anywhere; }
.cg3-btile__go { align-self: flex-end; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--chip-arrow); transition: transform .35s var(--ease-spring); }
.cg3-btile__go svg { width: 12px; height: 12px; }
.cg3-rest { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--line); }
.cg3-rest__h { margin: 0; color: var(--copy); font-size: 13px; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.cg3-rest .cg3-tags { margin-top: 16px; }
@media (max-width: 1179.98px) { .cg3-btiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 519.98px) { .cg3-btiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .cg3-btile { min-height: 116px; padding: 16px 12px 12px 16px; border-radius: 20px; } .cg3-btile__n { font-size: 21px; } }

.cg3-fams { grid-template-rows: none; grid-auto-rows: auto; }
.cg3-xrow { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px; margin-top: 16px; }
.cg3-xfam .hm-fam__t { max-width: none; font-size: clamp(26px, 2.6vw, 36px); }
.cg3-xfam .cg3-tags, .cg3-xfam .hm-fls { margin-top: 0; }
@media (min-width: 1100px) {
  .cg3-fam--row { flex-direction: row; align-items: stretch; --m: 108px; --s: 48px; }
  .cg3-fam--l5 { grid-column: 1 / span 5; }
  .cg3-fam--r7 { grid-column: 6 / span 7; }
  .cg3-fams .cg3-fam--row .hm-fam__tx { flex: 1 1 60%; align-self: center; }
  .cg3-fams .cg3-fam--row .hm-fam__art { flex: 0 0 36%; min-height: 200px; }
  .cg3-fams .cg3-fam--row .hm-fam__t { max-width: 12ch; font-size: clamp(28px, 2.7vw, 38px); }
}
@media (max-width: 1099.98px) { .cg3-xrow { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 14px; } }

.cg3-prob__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px; align-items: stretch; }
.cg3-prob__main .k-head + * { margin-top: 28px; }
.cg3-prob__photo { min-height: 320px; }
.cg3-prob--solo .cg3-prob__grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 810px) { .cg3-prob--solo .cg3-prob__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
@media (max-width: 999.98px) { .cg3-prob__grid { grid-template-columns: minmax(0, 1fr); } .cg3-prob__photo { min-height: 0; } }

.cg3-brs__ind { margin: 26px 0 0; max-width: 46ch; color: var(--copy); font-size: 15px; line-height: 1.5; }
.cg3-brs__card .k-head__lead { max-width: 40ch; }
@media (min-width: 1000px) {
  .cg3-brs__card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "head chips" "ind chips"; column-gap: clamp(32px, 5vw, 80px); align-items: start; }
  .cg3-brs__card .k-head { grid-area: head; }
  .cg3-brs__card .cg3-chips { grid-area: chips; margin-top: 0; align-self: center; }
  .cg3-brs__card .cg3-brs__ind { grid-area: ind; align-self: end; }
}

.cg3-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.cg3-step { display: flex; flex-direction: column; gap: 10px; padding: 12px 12px clamp(22px, 2.2vw, 28px); border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: var(--shadow-soft); }
.cg3-step__art { display: block; margin-bottom: 12px; }
.cg3-step__art .p1-art { height: 168px; border-radius: 20px; }
.cg3-step__t { margin: 0; padding: 0 10px; color: var(--brown); font-size: 21px; line-height: 1.2; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; letter-spacing: -.02em; text-wrap: balance; }
.cg3-step__x { margin: 0; padding: 0 10px; color: var(--copy); font-size: 16px; line-height: 1.5; text-wrap: pretty; }
@media (max-width: 1079.98px) { .cg3-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559.98px) { .cg3-steps { grid-template-columns: minmax(0, 1fr); gap: 10px; } .cg3-step__art .p1-art { height: 150px; } }

.cg3-revs { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
.cg3-rev__src { display: inline-flex; align-items: center; gap: 8px; }
.cg3-rev__src .gmark { flex: none; }
@media (max-width: 809.98px) { .cg3-revs { display: flex; } }
.cg3-az, .cg3-svc { scroll-margin-top: 84px; }   


.ct [hidden] { display: none !important; }
.ct-h { color: var(--brown); }
.ct-lead { color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); max-width: 56ch; text-wrap: pretty; }
.fm-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.fm-label { color: var(--ink); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; letter-spacing: var(--tr-ui); line-height: var(--lh-ui); }
.fm-opt { color: var(--muted); font-weight: 400; font-variation-settings: var(--w-body); }
.fm-hint { color: var(--muted); font-size: 14px; line-height: 1.4; }
.fm-in { width: 100%; min-height: var(--field-h); padding: 0 16px; border-radius: var(--r-soft); border: 1px solid var(--field-ring); background: var(--white); color: var(--ink); font-size: 17px; font-weight: 500; font-variation-settings: var(--w-ui); line-height: 1.2; -webkit-appearance: none; appearance: none; transition: border-color .25s ease, box-shadow .25s ease; }
.fm-in::placeholder { color: var(--muted); opacity: 1; font-weight: 400; }
.fm-in:hover { border-color: var(--brown); }
.fm-in:focus-visible { outline: 0; border-color: var(--brown); box-shadow: inset 0 0 0 1px var(--brown); }
textarea.fm-in { display: block; min-height: 112px; padding: 14px 16px; line-height: 1.45; resize: vertical; font-weight: 400; font-variation-settings: var(--w-body); }
.fm-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
.fm-err { display: flex; align-items: flex-start; gap: 8px; color: var(--coral-ink); font-size: 14px; font-weight: 560; font-variation-settings: var(--w-ui); line-height: 1.35; }
.fm-err svg { width: 16px; height: 16px; flex: none; margin-top: 1px; }
.fm-field.has-error > .fm-in, .fm-field.has-error .fm-in { border-color: var(--coral-ink); box-shadow: inset 0 0 0 1px var(--coral-ink); }
.fm-error { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; padding: 12px 14px; border-radius: var(--r-soft); background: var(--steel-50); color: var(--coral-ink); font-weight: 560; font-variation-settings: var(--w-ui); line-height: 1.4; }
.fm-error svg { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.fm-field--kit { gap: 10px; }
.fm-field--kit .k-field + .k-field { margin-top: 0; }
.fm-check__in:focus-visible { outline: 0; box-shadow: none; }
.fm-submit { min-height: 52px; margin-top: 8px; }
.fm-submit:disabled { opacity: .5; cursor: not-allowed; }
.fm-nojs { margin-bottom: 22px; }
.fm-demo { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; border-radius: var(--r-soft); background: var(--steel-50); color: var(--ink); line-height: 1.45; }
.fm-demo .li { margin-top: 2px; color: var(--steel-700); flex: none; }
.ct.sec--first { padding-bottom: var(--pad-section); }
.ct-box { min-width: 0; background: var(--white); border-radius: var(--r-soft-l); box-shadow: var(--shadow-soft); padding: 36px 40px; }
.ct-box__head { display: flex; flex-direction: column; gap: 8px; margin-bottom: 26px; }
.ct-box__head .t-l { color: var(--brown); }
.ct-form { display: flex; flex-direction: column; gap: 22px; }
.ct-form .fm-submit { margin-top: 6px; align-self: flex-start; min-width: 200px; }
.ct-note { display: flex; align-items: center; gap: 10px; color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; }
.ct-note__ic { width: 22px; height: 22px; flex: none; }
.ct-note > span { text-wrap: balance; }
.fm-ok { display: none; }
.fm-ok.is-shown { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; width: 100%; }
.fm-ok:focus, .fm-ok:focus-visible { outline: none; }
.fm-ok__h { color: var(--brown); outline: none; }
.fm-ok__h:focus-visible { outline: none; box-shadow: none; }
.ct-ok__lead { color: var(--copy); max-width: 56ch; }
.qf-ty__badge { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--brown); color: var(--white); }
.qf-ty__badge svg { width: 28px; height: 28px; }
.ct-box.is-done .ct-box__head { display: none; }
@media (max-width: 809.98px) {
  .ct-box { padding: 22px 18px; border-radius: var(--r-soft); }
  .fm-two { grid-template-columns: minmax(0, 1fr); }
  .ct-form .fm-submit { align-self: stretch; }
}
.bs-g__dl { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.bs-r { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.bs-r__k { color: var(--muted); font-size: 13px; line-height: 1.3; }
.bs-r__v { margin: 0; width: fit-content; max-width: 100%; padding: 6px 12px; border-radius: var(--r-full); background: var(--white); color: var(--ink); font-size: 15px; line-height: 1.35; font-weight: 600; font-variation-settings: var(--w-title-s); overflow-wrap: anywhere; }
.ct-ok__list { width: 100%; }
.fm-ok .bs-r__v { border-radius: var(--r-soft); }


.btn[hidden] { display: none; }

.bk-hint { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; padding: 12px 16px; background: var(--steel-50); border: 1px solid var(--line); border-radius: var(--r-card); color: var(--steel-700); }
.bk-hint__t { margin: 0; flex: 1 1 220px; min-width: 0; font-size: var(--fs-ui); line-height: 1.4; font-weight: 560; font-variation-settings: var(--w-ui); }
.bk-hint[data-hint-kind="call"], .bk-hint[data-hint-kind="marine"] { background: var(--white); border-color: var(--brown); color: var(--brown); }
.bk-hint__call { flex: none; }
.bk-hint__call svg, .bk__call svg, .bk-fallback .btn svg, .bs__go .btn svg { width: 20px; height: 20px; flex: none; }
.bk-fallback { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(440px, calc(100% - 32px)); display: flex; flex-direction: column; gap: 12px; padding: 20px; background: var(--white); border: 1px solid var(--brown); border-radius: var(--r-card); box-shadow: var(--lift); }
.bk-fallback[hidden] { display: none; }

@media (max-width: 809.98px) { .bk-fallback { top: 20px; transform: translate(-50%, 0); } }

@media (max-width: 809.98px) and (max-height: 640px) {
  .bk-fallback { top: 8px; padding: 14px 16px; gap: 10px; }
  .bk-fallback .btns { display: contents; }
  .bk-fallback .btn--light { order: -1; }
  .bk-fallback .bk-fallback__t { order: 0; }
  .bk-fallback .btn--dark { order: 1; }
}
.bk-fallback__t { margin: 0; color: var(--brown); font-size: var(--fs-ui); line-height: 1.4; font-weight: 650; font-variation-settings: var(--w-title-l); }
.bk__nojs { margin: 0; color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; }
.bk__nojs a { color: var(--brown); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }

.bk { --bk-fh: max(480px, calc(100svh - var(--nav-h) - var(--bk-below, 0px))); padding-bottom: calc(var(--pad-section) * .6); }
.bk__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.bk__side { display: contents; }
.bk__head { order: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; }
.bk__h { color: var(--brown); }
.bk__lead { margin: 0; color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); }
.bk__callrow { display: flex; flex-wrap: wrap; gap: 8px; }
.bk__main { order: 2; display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 560px; margin-inline: auto; min-width: 0; }
.bk__more { order: 3; display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.bk__checks { margin: 0; }
.bk__open { display: flex; }
.bk__rate { display: flex; align-items: center; min-height: 44px; }

.bk__frame { position: relative; height: var(--bk-fh); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.bk__iframe { display: block; width: 100%; height: 100%; border: 0; background: transparent; }

@media (min-width: 560px) and (max-width: 1023.98px) {
  .bk__head, .bk__more { width: 100%; max-width: 560px; margin-inline: auto; }
}

@media (max-width: 559.98px) {
  .bk.sec--first { padding-top: 20px; }
  .bk { padding-bottom: 40px; }
  .bk__grid { gap: 16px; }
  .bk__label { display: none; }
  .bk__head { gap: 10px; }
  .bk__lead { font-size: var(--fs-body); }
  .bk__main { max-width: none; margin-inline: calc(var(--gutter) * -1); width: auto; gap: 0; }
  .bk-hint { border-radius: 0; border-inline: 0; }
  .bk__frame { border-width: 1px 0; border-radius: 0; }
}
@media (max-width: 809.98px) { .bk__label { display: none; } }

@media (min-width: 1024px) {
  .bk.sec--first { padding-top: 32px; }
  .bk { --bk-fh: max(440px, min(820px, calc(100svh - var(--nav-h) - 32px - 80px - var(--bk-below, 0px)))); }
  .bk__grid { grid-template-columns: minmax(0, 1fr) 560px; gap: 0 56px; align-items: start; }
  .bk__side { display: flex; flex-direction: column; gap: 28px; grid-column: 1; grid-row: 1; position: sticky; top: calc(var(--nav-h-compact) + 24px); }
  .bk__head, .bk__more { order: 0; margin: 0; max-width: none; }
  .bk__main { grid-column: 2; grid-row: 1; margin: 0; position: sticky; top: calc(var(--nav-h-compact) + 24px); }
  .bk__more { gap: 18px; }
}

.bs__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 56px; align-items: start; }
.bs__head { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; }
.bs__h { color: var(--brown); }
.bs__lead { margin: 0; color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); max-width: 56ch; text-wrap: pretty; }
.bs__side { min-width: 0; }

@media (max-width: 1023.98px) { .bk:has([data-bk-hint] [data-hint-call]:not([hidden])) .bk__callrow { display: none; } }
@media (max-width: 1023.98px) { .bs__grid { grid-template-columns: minmax(0, 1fr); } }

.bk { padding-top: 6px; }
.bk.sec--first { padding-top: 6px; }
.bk__head { position: relative; isolation: isolate; overflow: hidden; gap: 16px; padding: clamp(26px, 3vw, 44px); border-radius: var(--r-hero); background: var(--hero-fill); }
.bk__head::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(60% 80% at 6% 0%, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 70%), radial-gradient(50% 70% at 100% 100%, rgba(106, 31, 173, .14), rgba(106, 31, 173, 0) 70%); }
.bk__h.h2 { font-size: clamp(40px, 4.6vw, 68px); line-height: 1; letter-spacing: -.035em; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; }
.bk__lead { max-width: 34ch; }
.bk__label .chip { background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.bk__callrow { margin-top: 4px; }
.bk__call.hm-call { min-height: 52px; }
.bk__checks { padding: 18px 22px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); }
.bk__open { display: block; }
.bk__rate { padding: 10px 18px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); }
.bk-hint { border-radius: 19px; background: var(--chip-arrow); border-color: transparent; }
.bk__frame { border-radius: var(--r-hero); box-shadow: var(--shadow-soft), 0 30px 60px -36px rgba(38, 16, 64, .45); }
@media (max-width: 559.98px) {
  .bk.sec--first { padding-top: 6px; }
  .bk__head { padding: 22px 20px 20px; }
  .bk__h.h2 { font-size: 36px; }
  .bk-hint { border-radius: 0; }
  .bk__frame { border-radius: 0; box-shadow: none; }
}
@media (min-width: 1024px) {
  .bk.sec--first { padding-top: 6px; }
  .bk__side { gap: 16px; }
  .bk__more { gap: 12px; }
}

.bk-start { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 24px; text-align: center; background: var(--white); }
.bk-start[hidden] { display: none; }
.bk-start__t { margin: 0; max-width: 22ch; color: var(--brown); font-size: var(--fs-title-l); line-height: 1.15; font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); text-wrap: balance; }
html:not(.js) button.bk-start__go { display: none; }

.bk__hrs { container-type: inline-size; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); overflow: hidden; }
.bk__hrs .bk__open .open--card { width: 100%; padding: 14px 22px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.bk__hrs .open__h, .bk__hrs .open__sub { display: none; }
.bk__emerg .emerg--flat { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 18px 22px 22px; }
.bk__emerg .emerg--flat .emerg__call { grid-column: 1 / -1; max-width: none; margin: 0; padding-top: 16px; border-top: 1px solid var(--line); }
@container (min-width: 480px) { .bk__emerg .emerg--flat { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; } }
@media (max-width: 1023.98px) {
  .bk__more { display: contents; }
  .bk__more > * { order: 3; width: 100%; min-width: 0; }
  .bk__more > .bk__rate { order: 1; }
}
@media (min-width: 560px) and (max-width: 1023.98px) {
  .bk__more > * { max-width: 560px; margin-inline: auto; }
}
@media (max-width: 559.98px) {
  .bk__hrs .bk__open .open--card { padding: 12px 18px; }
  .bk__emerg .emerg--flat { padding: 16px 18px 20px; }
}



:root {
  --pg-split-head: 400px;        
  --pg-toc: 280px;               
  --pg-read: 64ch;               
}

.pg-linkpill { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 18px; border-radius: var(--r-full); background: var(--white); box-shadow: var(--shadow-soft); color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: 1.2; white-space: nowrap; transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.pg-linkpill svg { width: 12px; height: 12px; flex: none; transition: transform .35s var(--ease-spring); }
.pg-linkpill:hover { box-shadow: var(--lift); transform: translateY(-1px); }
.pg-linkpill:hover svg { transform: translateX(3px); }
.pg-linkpill:focus-visible { box-shadow: var(--ring); }

.pg-pill { display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px 11px 16px; border-radius: var(--r-full); background: var(--white); box-shadow: var(--shadow-soft); color: var(--brown); font-size: var(--fs-body); line-height: 1.2; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; transition: background-color .2s ease, color .2s ease; }
.pg-pill--link { justify-content: flex-start; gap: 12px; width: max-content; max-width: 100%; padding: 8px 18px 8px 8px; font-size: var(--fs-ui); text-align: left; }
.pg-pill--link:hover { background: var(--steel-50); color: var(--brown); }
.pg-pill--link:focus-visible { box-shadow: var(--shadow-soft), var(--ring); }
.pg-pill__n { display: inline-grid; place-items: center; flex: none; min-width: 28px; height: 28px; padding: 0 6px; border-radius: var(--r-full); background: var(--steel-100); color: var(--steel-700); font-size: var(--fs-label); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; font-variant-numeric: tabular-nums lining-nums; }
a[aria-current] .pg-pill__n { background: color-mix(in srgb, var(--white) 18%, transparent); color: var(--white); }
.pg-pill--link[aria-current] { background: var(--brown); color: var(--white); }

.pg-split { display: grid; grid-template-columns: minmax(0, var(--pg-split-head)) minmax(0, 1fr); gap: 72px; align-items: start; }
.pg-split__head { position: sticky; top: calc(var(--nav-h-compact) + 32px); min-width: 0; }
.pg-split__body { min-width: 0; }
.pg-split .faq { max-width: none; }
@media (max-width: 1199.98px) {
  .pg-split { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .pg-split__head { position: static; }
}

.sec.pg-hero { padding-bottom: 72px; }
.sec.pg-hero--solo { padding-bottom: 40px; }
.pg-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: center; }
.pg-hero--solo .pg-hero__grid { grid-template-columns: minmax(0, 880px); }
.pg-hero__main { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; min-width: 0; }
.pg-hero__h { color: var(--brown); overflow-wrap: anywhere; max-width: 14ch; }
.pg-hero__h--long { max-width: 18ch; font-size: var(--fs-h2); line-height: var(--lh-h2); }
.pg-hero__lead { max-width: 54ch; font-size: var(--fs-title-s); line-height: var(--lh-body); text-wrap: pretty; }
.pg-hero__btns { margin-top: 6px; }
.pg-figure { display: flex; flex-direction: column; gap: 14px; margin: 0; min-width: 0; }
.pg-fig { aspect-ratio: 4 / 3; border-radius: var(--r-soft-l); overflow: hidden; background: var(--steel-100); box-shadow: var(--shadow-soft); }
.pg-fig__img { width: 100%; height: 100%; object-fit: cover; }
.pg-figcap { max-width: 60ch; color: var(--muted); font-size: var(--fs-label); line-height: 1.5; text-wrap: pretty; }
.pg-figcap a { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pg-figcap a:hover { text-decoration-thickness: 2px; }
.pg-figcap__all { white-space: nowrap; }
@media (max-width: 1199.98px) {
  .pg-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .pg-hero__h { max-width: 20ch; }
  .pg-fig { aspect-ratio: 16 / 10; }
}
@media (max-width: 809.98px) {
  .sec.pg-hero { padding-bottom: 48px; }
  .pg-hero__main { gap: 18px; }
  .pg-fig { aspect-ratio: 4 / 3; }
}

.pg-find { display: none; max-width: 520px; margin: 0 0 32px; }
.js .pg-find { display: block; }
.k-head + .pg-find { margin-top: 36px; }
.pg-find__l { display: block; margin-bottom: 8px; color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.pg-find__box { display: flex; align-items: center; gap: 12px; min-height: var(--field-h); padding: 0 20px; border-radius: var(--r-full); background: var(--white); color: var(--steel-700); box-shadow: 0 0 0 1.5px var(--field-ring); transition: box-shadow .2s ease; }
.pg-find__box:focus-within { box-shadow: 0 0 0 1.5px var(--brown), var(--ring); }
.pg-find__box svg { width: 20px; height: 20px; flex: none; }
.pg-find__in { flex: 1; min-width: 0; min-height: 44px; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: var(--fs-body); outline: none; }
.pg-find__in::placeholder { color: var(--muted); opacity: 1; }
.pg-find__status { min-height: 1.5em; margin-top: 10px; color: var(--muted); font-size: var(--fs-ui); line-height: 1.5; }

.pg-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.pg-group { display: flex; flex-direction: column; min-width: 0; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); overflow: hidden; }
.pg-group[hidden] { display: none; }
.pg-group__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--steel-100); }
.pg-group__img { width: 100%; height: 100%; object-fit: cover; }
.pg-group__media--pin { display: grid; place-items: center; background: var(--steel-100); }
.pg-group__disc.k-disc--xl { width: 64px; height: 64px; }
.pg-group__disc.k-disc--xl svg { width: 34px; height: 34px; }
.pg-group__count { color: var(--steel-700); font-size: var(--fs-ui); font-weight: 600; margin-top: -6px; }
.pg-group__body { display: flex; flex-direction: column; gap: 14px; padding: 22px 24px 26px; flex: 1; }
.pg-group__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.pg-group__note { color: var(--muted); font-size: var(--fs-ui); line-height: 1.45; margin-top: -6px; }
.pg-towns { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-town { padding: 7px 14px; border-radius: var(--r-full); background: var(--steel-50); color: var(--brown); font-size: var(--fs-ui); line-height: 1.25; font-weight: 560; font-variation-settings: var(--w-ui); }
.pg-town[hidden] { display: none; }
.pg-empty { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding: 16px 22px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); color: var(--brown); font-size: var(--fs-body); font-weight: 560; }
.pg-empty[hidden] { display: none; }
.pg-empty a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1199.98px) { .pg-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .pg-groups { grid-template-columns: minmax(0, 1fr); }
  .pg-group__media { aspect-ratio: 16 / 9; }
  .pg-group__body { padding: 18px 18px 22px; }
  .pg-find { max-width: none; }
}

.pg-offices { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gap-card); }
.pg-office { grid-column: span 2; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px 26px 26px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); min-width: 0; transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.pg-office:nth-child(n+4) { grid-column: span 3; }
.pg-office:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.pg-office__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); margin-top: 6px; }
.pg-office__a { font-style: normal; color: var(--copy); font-size: var(--fs-body); line-height: 1.5; }
.pg-office__call { display: inline-block; margin-top: auto; padding: 12px 0 4px; color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.pg-office__call:hover { text-decoration-thickness: 2px; }
@media (max-width: 1199.98px) {
  .pg-offices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-office, .pg-office:nth-child(n+4) { grid-column: auto; }
  .pg-office:last-child { grid-column: 1 / -1; }
}
@media (max-width: 809.98px) {
  .pg-offices { grid-template-columns: minmax(0, 1fr); }
  .pg-office:last-child { grid-column: auto; }
  .pg-office { padding: 20px 20px 22px; }
}

.pg-rule { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 56px; align-items: stretch; padding: 40px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.pg-rule__big { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: 28px; border-radius: var(--r-soft); background: var(--steel-50); min-width: 0; }
.pg-rule__n { color: var(--brown); font-size: 112px; line-height: .9; font-weight: 680; font-variation-settings: var(--w-display); letter-spacing: var(--tr-display); }
.pg-rule__cap { color: var(--steel-700); font-size: var(--fs-title-s); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.pg-rule__txt { display: flex; flex-direction: column; gap: 18px; min-width: 0; justify-content: center; }
.pg-rule__txt .k-head + * { margin-top: 0; }
.pg-rule__first { color: var(--brown); font-size: var(--fs-title-m); line-height: 1.4; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; max-width: 38em; text-wrap: pretty; }
.pg-rule__rest { color: var(--copy); font-size: var(--fs-body); line-height: var(--lh-body); max-width: var(--pg-read); text-wrap: pretty; }
@media (max-width: 1199.98px) { .pg-rule { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 28px; } .pg-rule__big { flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 16px; flex-wrap: wrap; } }
@media (max-width: 809.98px) { .pg-rule { padding: 20px; } .pg-rule__big { padding: 20px; } .pg-rule__n { font-size: 80px; } }

.pg-life { padding: 12px 32px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.pg-lifetab { width: 100%; border-collapse: collapse; }
.pg-lifetab thead th { padding: 14px 0 8px; text-align: left; color: var(--muted); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.pg-lifetab tbody th, .pg-lifetab tbody td { padding: 20px 0; text-align: left; vertical-align: middle; }
.pg-lifetab tbody tr + tr > * { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
.pg-lifetab tbody th { width: 28%; color: var(--brown); font-size: var(--fs-title-m); line-height: 1.2; font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.pg-life__cell { display: flex; align-items: center; gap: 28px; }
.pg-life__v { flex: none; min-width: 150px; color: var(--brown); font-size: var(--fs-stat); line-height: 1; font-weight: 680; font-variation-settings: var(--w-display); letter-spacing: var(--tr-display); font-variant-numeric: tabular-nums lining-nums; }
.pg-life__u { color: var(--steel-700); font-size: var(--fs-title-s); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; letter-spacing: 0; }
.pg-life__bar { flex: 1; min-width: 0; height: 14px; border-radius: var(--r-full); background: var(--steel-100); overflow: hidden; }
.pg-life__bar i { display: block; height: 100%; border-radius: var(--r-full); background: var(--brown); }
@media (max-width: 809.98px) {
  .pg-life { padding: 6px 18px; }
  .pg-lifetab tbody th { width: 34%; font-size: var(--fs-title-s); }
  .pg-life__cell { flex-direction: column; align-items: flex-start; gap: 10px; }
  .pg-life__v { min-width: 0; }
  .pg-life__bar { width: 100%; flex: none; }
}

.pg-maint { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: center; margin-top: var(--gap-card); padding: 26px 30px; border-radius: var(--r-soft-l); background: var(--tint); }
.pg-maint__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); margin-bottom: 6px; }
.pg-maint__x { color: var(--ink); line-height: 1.55; max-width: 60ch; text-wrap: pretty; }
.pg-maint__a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brown); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pg-maint__a:hover { text-decoration-thickness: 2px; }
@media (max-width: 809.98px) { .pg-maint { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 22px 20px; justify-items: start; } }

.pg-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.pg-guide { display: flex; flex-direction: column; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); overflow: hidden; min-width: 0; }
.pg-guide__tile { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; min-height: 150px; padding: 20px 22px 18px; background: var(--steel-50); }
.pg-gnum { display: block; color: var(--brown); font-size: 56px; line-height: .98; font-weight: 680; font-variation-settings: var(--w-display); letter-spacing: var(--tr-display); font-variant-numeric: tabular-nums lining-nums; }
.pg-gcap { color: var(--steel-700); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: 1.3; }
.pg-guide__body { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 10px; align-items: center; padding: 18px 22px 24px; flex: 1; align-content: start; }
.pg-guide__body .k-disc { grid-row: 1; }
.pg-guide__t { grid-column: 2; color: var(--brown); font-size: var(--fs-title-s); line-height: 1.2; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.pg-guide__x { grid-column: 1 / -1; color: var(--copy); font-size: var(--fs-ui); line-height: 1.55; text-wrap: pretty; }
@media (max-width: 1199.98px) { .pg-guides { grid-template-columns: minmax(0, 1fr); } .pg-guide { flex-direction: row; } .pg-guide__tile { flex: 0 0 42%; min-height: 0; } .pg-guide__body { align-content: center; } }
@media (max-width: 559.98px) { .pg-guide { flex-direction: column; } .pg-guide__tile { min-height: 110px; } .pg-gnum { font-size: 44px; } }

.pg-case { display: flex; flex-direction: column; gap: 28px; padding: 40px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.pg-case__head { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.pg-case__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-case__h { color: var(--brown); max-width: 22ch; }
.pg-case__intro { max-width: 62ch; color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); text-wrap: pretty; }
.pg-case__ba { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-card); }
.pg-case__panel { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-radius: var(--r-soft); background: var(--steel-50); min-width: 0; }
.pg-case__panel--after { background: var(--dark-band); color: var(--cream); }
.pg-case__tag { color: var(--steel-700); font-size: var(--fs-label); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.pg-case__panel--after .pg-case__tag { color: var(--steel-100); }
.pg-case__txt { font-size: var(--fs-title-m); line-height: 1.4; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; text-wrap: pretty; }
.pg-case__photos { display: flex; flex-direction: column; gap: 14px; }
.pg-case__photos .pg-case__sh { margin-bottom: 0; }
.pg-case__figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.pg-case__fig { margin: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pg-case__img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-soft); background: var(--steel-100); }
.pg-case__fig figcaption { color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; text-wrap: balance; }
.pg-case__src { color: var(--muted); font-size: var(--fs-label); }

@media (max-width: 1199.98px) {
  .pg-case__figs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-case__fig:first-child { grid-column: 1 / -1; }
  .pg-case__fig:first-child .pg-case__img { aspect-ratio: 16 / 10; }
}
.pg-case__cols { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: start; }
.pg-case__sh { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); margin-bottom: 10px; }
.pg-case__lead { color: var(--copy); margin-bottom: 16px; line-height: 1.55; }
.pg-case__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pg-case__part { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border-radius: var(--r-soft); background: var(--steel-50); color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: 1.25; }
.pg-case__dl { margin-bottom: 20px; }
.pg-case__row { display: grid; grid-template-columns: minmax(0, 120px) minmax(0, 1fr); gap: 16px; padding: 14px 0; }
.pg-case__row + .pg-case__row { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
.pg-case__row dt { color: var(--muted); font-size: var(--fs-ui); }
.pg-case__row dd { color: var(--brown); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: 1.4; }
@media (max-width: 1199.98px) { .pg-case__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
@media (max-width: 809.98px) {
  .pg-case { padding: 22px 18px; gap: 22px; }
  .pg-case__ba { grid-template-columns: minmax(0, 1fr); }
  .pg-case__panel { padding: 22px 20px; }
  .pg-case__list { grid-template-columns: minmax(0, 1fr); }
  .pg-case__row { grid-template-columns: minmax(0, 96px) minmax(0, 1fr); gap: 12px; }
}

.pg-legal { display: grid; grid-template-columns: minmax(0, var(--pg-toc)) minmax(0, 820px); gap: 80px; justify-content: space-between; align-items: start; }
.pg-legal__toc { position: sticky; top: calc(var(--nav-h-compact) + 32px); }
.pg-legal__toc ol { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.pg-legal__toc li { min-width: 0; max-width: 100%; }
.pg-legal__toc .pg-pill { white-space: normal; }
.pg-legal__body { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pg-clause { scroll-margin-top: calc(var(--nav-h) + 24px); display: flex; flex-direction: column; gap: 14px; padding: 28px 32px 30px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.pg-clause__h { color: var(--brown); overflow-wrap: anywhere; }
.pg-lp { max-width: var(--pg-read); color: var(--ink); line-height: 1.6; text-wrap: pretty; }
.pg-lp a, .pg-lp--contact a { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pg-lp a:hover { text-decoration-thickness: 2px; }
.pg-lul { display: flex; flex-direction: column; gap: 8px; max-width: var(--pg-read); }
.pg-lul li { position: relative; padding-left: 22px; color: var(--ink); line-height: 1.55; }
.pg-lul li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--steel); }
@media (max-width: 1199.98px) {
  .pg-legal { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .pg-legal__toc { position: static; }
  .pg-legal__toc ol { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 809.98px) { .pg-clause { padding: 22px 20px 24px; } }

.pg-credits__intro { max-width: 62ch; margin-bottom: 32px; color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); text-wrap: pretty; }
.pg-credits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pg-credit { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 12px 18px 12px 12px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); min-width: 0; }
.pg-credit__ph { width: 72px; height: 72px; overflow: hidden; border-radius: 10px; background: var(--steel-100); }
.pg-credit__img { width: 100%; height: 100%; object-fit: cover; }
.pg-credit__t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pg-credit__n { color: var(--brown); font-size: var(--fs-ui); line-height: 1.3; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; overflow-wrap: anywhere; text-wrap: pretty; }
.pg-credit__a { color: var(--muted); font-size: var(--fs-label); line-height: 1.3; overflow-wrap: anywhere; }
.pg-credit__r { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.pg-credit .pg-linkpill { min-height: 36px; padding: 6px 14px; background: var(--steel-50); font-size: var(--fs-label); }
.pg-credit .pg-linkpill:not(:focus-visible) { box-shadow: none; }
.pg-lic { display: inline-flex; max-width: 100%; border-radius: var(--r-full); }

.pg-credit__r .k-label.chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.pg-lic:focus-visible { box-shadow: var(--ring); }
@media (max-width: 1199.98px) { .pg-credits { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) {
  .pg-credit { grid-template-columns: 56px minmax(0, 1fr); gap: 6px 14px; }
  .pg-credit__ph { width: 56px; height: 56px; }
  .pg-credit__r { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .pg-linkpill, .pg-office, .pg-linkpill svg, .pg-find__box { transition: none; }
  .pg-office:hover, .pg-linkpill:hover { transform: none; }
}

.pg-group--text .pg-group__body { padding-top: 26px; }

.ex-narrow .ex-steps, .ex-narrow .ex-note { max-width: 880px; }

.ex-trio__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); margin-top: 44px; }
.ex-pcard { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--white); border-radius: var(--r-soft); box-shadow: var(--shadow-soft); overflow: hidden; transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.ex-pcard:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.ex-pcard__media { position: relative; display: grid; place-items: center; aspect-ratio: 5 / 4; overflow: hidden; background: var(--white); border-bottom: 1px solid var(--line); }
.ex-pcard__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 22px 22px 18px; }
.ex-pcard__t { color: var(--brown); }
.ex-pcard__range { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; }
.ex-pcard__img { width: 100%; height: 100%; object-fit: contain; padding: 18px; transition: transform 1.2s var(--ease-spring); }
.ex-pcard:hover .ex-pcard__img { transform: scale(1.03); }
.ex-pcard__h { color: var(--brown); }
.ex-pcard__h:hover { text-decoration: underline; text-underline-offset: 3px; }
.ex-pcard__more { display: flex; flex-direction: column; gap: 0; margin: 6px 0 0; padding: 10px 0 0; list-style: none; border-top: 1px solid var(--line); }
.ex-pcard__more .alink { min-height: 40px; }
@media (max-width: 1199.98px) { .ex-trio__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .ex-trio__grid { grid-template-columns: minmax(0, 1fr); margin-top: 32px; } }

.ex-tag__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 56px; align-items: center; }
.ex-tag__ps { display: flex; flex-direction: column; gap: 14px; margin-top: 22px; max-width: 62ch; }
.ex-tag__card { padding: 22px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.ex-tag__img { display: block; width: 100%; height: auto; }
.ex-tag__cap { margin-top: 12px; color: var(--muted); font-size: var(--fs-ui); line-height: 1.5; }
.ex-jumps { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; padding: 0; list-style: none; }
.ex-jumps .pg-linkpill { white-space: normal; }
@media (max-width: 1079.98px) { .ex-tag__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; } .ex-tag__fig { max-width: 560px; } }

.ex-loc__intro { display: flex; flex-direction: column; gap: 12px; max-width: 70ch; margin-top: 20px; }
.ex-loc__index .brchips { margin-top: 28px; }
.ex-loc__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); margin: 40px 0 0; padding: 0; list-style: none; }
.ex-loc { display: flex; flex-direction: column; min-width: 0; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); overflow: hidden; scroll-margin-top: 110px; }
.ex-loc__media { aspect-ratio: 1; border-bottom: 1px solid var(--line); background: var(--white); }
.ex-loc__img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ex-loc__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 18px 20px 14px; }
.ex-loc__h { color: var(--brown); font-size: var(--fs-title-s); line-height: 1.25; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.ex-loc__k { margin-top: 4px; color: var(--muted); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.ex-loc__where { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; color: var(--ink); font-size: var(--fs-ui); line-height: 1.45; }
.ex-loc__where strong { color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.ex-loc__go { margin-top: auto; padding-top: 6px; }
@media (max-width: 809.98px) { .ex-loc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .ex-loc__body { padding: 14px 14px 10px; } }
@media (max-width: 559.98px) { .ex-loc__grid { grid-template-columns: minmax(0, 1fr); } }

.ex-plans__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-card); margin-top: 44px; align-items: stretch; }
.ex-plan { display: flex; flex-direction: column; gap: 14px; padding: 30px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); scroll-margin-top: 110px; min-width: 0; }
.ex-plan__top { display: flex; align-items: center; gap: 16px; }
.ex-plan__brand { color: var(--muted); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.ex-plan__h { color: var(--brown); font-size: var(--fs-title-l); line-height: 1.15; font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-plan__x { color: var(--copy); line-height: 1.55; text-wrap: pretty; }
.ex-plan__k { margin-top: 6px; color: var(--brown); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.ex-plan__list .k-check { font-size: var(--fs-ui); }
.ex-plan__also ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.ex-plan__also li { padding: 6px 12px; border-radius: var(--r-chip); background: var(--tint); color: var(--ink); font-size: var(--fs-ui); line-height: 1.3; }
.ex-plan__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.ex-plan__price { display: flex; flex-direction: column; gap: 2px; color: var(--ink); font-size: var(--fs-ui); line-height: 1.4; }
.ex-plan__pk { color: var(--muted); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
@media (max-width: 1079.98px) { .ex-plans__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) { .ex-plan { padding: 22px 18px; } .ex-plan__foot .btn { width: 100%; } .ex-plan__foot .btn:not(.btn--price) { justify-content: center; } }

.ex-tiles__grid { display: grid; grid-template-columns: repeat(var(--ex-cols, 3), minmax(0, 1fr)); gap: var(--gap-card); margin: 44px 0 0; padding: 0; list-style: none; }
.ex-tiles__grid > li { display: flex; min-width: 0; }
.ex-tile { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 26px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.ex-tile:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.ex-tile:hover .ccard__go svg { transform: translateX(4px); }
.ex-tile:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.ex-tile .k-disc { margin-bottom: 6px; }
.ex-tile__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-tile__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
@media (max-width: 1199.98px) { .ex-tiles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .ex-tiles__grid { grid-template-columns: minmax(0, 1fr); } .ex-tile { padding: 22px 20px; } }

.ex-steps { display: flex; flex-direction: column; gap: 18px; margin: 40px 0 0; padding: 0; list-style: none; }
.ex-step { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; padding: 26px 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); scroll-margin-top: 110px; }
.ex-step__n { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--brown); color: var(--cream); font-size: var(--fs-title-m); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; font-variant-numeric: tabular-nums lining-nums; }
.ex-step__b { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ex-step__h { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-step__list { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0 0 0 20px; color: var(--ink); line-height: 1.5; }
.ex-step__list li { list-style: disc; }
.ex-step__call { display: flex; align-items: flex-start; gap: 10px; margin-top: 4px; padding: 12px 14px; border-radius: var(--r-inset); background: var(--tint); color: var(--ink); font-size: var(--fs-ui); line-height: 1.5; }
.ex-step__ic { width: 18px; height: 18px; flex: none; margin-top: 2px; }
@media (max-width: 559.98px) { .ex-step { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 22px 18px; } .ex-step__n { width: 44px; height: 44px; } }

.pg-credit__ph.pg-credit__ph--white { background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }

.ex-codes__wrap { margin-top: 36px; padding: 6px 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.ex-codes { width: 100%; border-collapse: collapse; }
.ex-codes thead th { padding: 16px 16px 10px 0; text-align: left; color: var(--muted); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.ex-codes tbody th, .ex-codes tbody td { padding: 18px 16px 18px 0; text-align: left; vertical-align: top; color: var(--ink); font-size: var(--fs-ui); line-height: 1.5; }
.ex-codes tbody tr + tr > * { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
.ex-codes tbody th { width: 18%; }
.ex-codes td:nth-child(2) { width: 38%; }
.ex-code { display: inline-block; padding: 4px 10px; border-radius: var(--r-chip); background: var(--brown); color: var(--cream); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; font-variant-numeric: tabular-nums lining-nums; line-height: 1.35; }
.ex-code__s { display: block; margin-top: 8px; color: var(--muted); font-size: var(--fs-label); font-weight: 500; line-height: 1.35; }
.ex-codes__src { margin-top: 14px; color: var(--muted); font-size: var(--fs-ui); line-height: 1.5; max-width: 80ch; }
@media (max-width: 809.98px) {
  .ex-codes__wrap { padding: 4px 18px; }
  .ex-codes thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ex-codes, .ex-codes tbody, .ex-codes tr, .ex-codes th, .ex-codes td { display: block; width: 100%; }
  .ex-codes tbody th, .ex-codes td:nth-child(2) { width: 100%; }
  .ex-codes tbody tr { padding: 14px 0; }
  .ex-codes tbody tr + tr { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
  .ex-codes tbody tr > *, .ex-codes tbody tr + tr > * { padding: 4px 0; background: none; }
}

.ex-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; padding: 28px 30px; border-radius: var(--r-soft-l); background: var(--tint); }
.ex-note__b { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ex-note__h { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-note__x { color: var(--ink); line-height: 1.55; text-wrap: pretty; }
.ex-note__btns { margin-top: 8px; }
@media (max-width: 559.98px) { .ex-note { grid-template-columns: minmax(0, 1fr); padding: 22px 18px; } }

:root { --p1-half: clamp(24px, 3.7vw, 54px); --p1-tail: clamp(44px, 5.5vw, 80px); }
.p1-sec { padding: var(--p1-half) 0; }
.p1-sec .k-head__h { max-width: 24ch; color: var(--brown); }
.p1-sec .k-head + * { margin-top: 36px; }
@media (max-width: 809.98px) { .p1-sec .k-head + * { margin-top: 24px; } .p1-sec .k-head { gap: 12px; } }

.p1-sec:has(+ .p1-band), .p1-sec:has(+ .cta.band), .hm-sec:has(+ .cta.band) { padding-bottom: calc(var(--r-panel-xl) + var(--p1-tail)); }
.p1-band + .p1-sec, .p1-band + .hm-sec { padding-top: calc(var(--p1-half) * 1.9); }
.p1-band + .p1-band { margin-top: 0; border-radius: 0; }

.p1-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 999px; background: rgba(255, 255, 255, .55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--brown); font-size: 14px; line-height: 1.2; letter-spacing: .01em; font-weight: 520; font-variation-settings: "wdth" 100, "wght" 520; }
.p1-chip__ic { display: inline-flex; flex: none; width: 18px; height: 18px; }
.p1-chip__ic svg { width: 100%; height: 100%; }
.p1-chiphead { display: inline-flex; margin: 0; padding: 9px 18px; border: 0; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--line), var(--shadow-soft); color: var(--accent); font-size: 14px; line-height: 1.2; letter-spacing: .01em; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }

.p1-hero { padding: 6px var(--inset) 0; }
.p1-hero__card { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(28px, 4vw, 72px); min-height: clamp(440px, 60svh, 620px); padding: clamp(36px, 5vw, 76px) max(clamp(24px, 4.4vw, 72px), calc((100% - var(--content)) / 2)); border-radius: var(--r-hero); background: var(--hero-fill); }
.p1-hero--solo .p1-hero__card { grid-template-columns: minmax(0, 1fr); }
.p1-hero__glow { position: absolute; z-index: -1; inset: 0; background: radial-gradient(60% 80% at 6% 0%, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 70%), radial-gradient(50% 70% at 100% 100%, rgba(106, 31, 173, .14), rgba(106, 31, 173, 0) 70%); }
.p1-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; }
.p1-hero__h.display { max-width: 12em; color: var(--brown); font-size: clamp(38px, 4.5vw, 68px); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.p1-hero__h--long.display { font-size: clamp(36px, 4.1vw, 62px); }
.p1-hero__lead { max-width: 40ch; color: var(--copy); font-size: clamp(17px, 1.35vw, 20px); line-height: 1.4; text-wrap: pretty; }
.p1-hero__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.p1-hero__btns .btn--price { min-height: 52px; padding: 8px 8px 8px 22px; background: var(--brand-yellow); color: var(--brown); }
.p1-hero__btns .btn--price:hover { background: #F2E600; }
.p1-hero__btns .btn--price .btn__ic { width: 34px; height: 34px; border-radius: 10px; background: #fff; color: var(--brown); }
.p1-hero__btns .hm-pill { min-height: 52px; }
.p1-hero__side { position: relative; align-self: stretch; margin: 0; min-width: 0; }
.p1-hero--split .p1-hero__side { display: flex; align-items: center; }
.p1-hero__frame { position: relative; width: 100%; aspect-ratio: 5 / 4; max-height: 520px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 26px; overflow: hidden; background: var(--steel-50); box-shadow: 0 34px 60px -34px rgba(38, 16, 64, .55); }
.p1-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p1-hero__float { position: absolute; left: -20px; bottom: 24px; z-index: 2; }
.p1-hero__float .open--card { padding: 12px 18px; border: 1px solid var(--line); border-radius: 19px; background: #fff; color: var(--brown); box-shadow: var(--shadow-soft), 0 24px 40px -22px rgba(38, 16, 64, .5); }
.p1-hero--sphere .p1-hero__side { min-height: 280px; }
.p1-hero__copy { position: relative; z-index: 1; }   
.p1-hero__sphere { pointer-events: none; z-index: 0; position: absolute; right: -16%; top: 50%; width: min(780px, 124%); max-width: none; height: auto; translate: 0 -50%; animation: hm-float 18s ease-in-out infinite; }
@media (max-width: 1099.98px) {
  .p1-hero__card { grid-template-columns: minmax(0, 1fr); gap: 28px; min-height: 0; }
  .p1-hero__frame { aspect-ratio: 16 / 10; max-height: none; }
  .p1-hero--sphere .p1-hero__side { min-height: 240px; }
  .p1-hero__sphere { right: -8%; width: min(560px, 110%); }
  .p1-hero__float { left: 14px; }
}
@media (max-width: 809.98px) {
  .p1-hero__card { padding: 30px 20px 20px; }
  .p1-hero__copy { gap: 14px; }
  .p1-hero__h.display, .p1-hero__h--long.display { font-size: 36px; }
  .p1-hero__lead { font-size: 16px; }
  .p1-hero__frame { aspect-ratio: 4 / 3; border-radius: 19px; }
  .p1-hero--sphere .p1-hero__side { min-height: 210px; }
  .p1-hero__sphere { right: -26%; width: 112%; }
}
@media (max-width: 519.98px) {
  .p1-hero__btns { flex-direction: column; width: 100%; }
  .p1-hero__btns .btn, .p1-hero__btns .hm-pill { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) { .p1-hero__sphere { animation: none; } }

.p1-art { position: relative; isolation: isolate; overflow: hidden; height: 188px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px;
  background: radial-gradient(80% 90% at 92% 0%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 70%), radial-gradient(70% 80% at 6% 108%, rgba(255, 242, 0, .26), rgba(255, 242, 0, 0) 60%), #321660; }
.p1-art--b { background: radial-gradient(80% 90% at 8% 0%, rgba(106, 31, 173, .85), rgba(106, 31, 173, 0) 70%), radial-gradient(70% 80% at 96% 108%, rgba(255, 242, 0, .24), rgba(255, 242, 0, 0) 60%), #2E1358; }
.p1-art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 18px); -webkit-mask-image: radial-gradient(70% 80% at 50% 55%, #000 20%, transparent 100%); mask-image: radial-gradient(70% 80% at 50% 55%, #000 20%, transparent 100%); }
.p1-art__main { position: absolute; left: 47%; top: 55%; display: grid; place-items: center; width: 118px; height: 118px; translate: -50% -50%; --ic-line: #fff; --ic-fill: #FFF200; --ic-detail: #6A1FAD; }
.p1-art__mi { width: 100%; height: 100%; filter: drop-shadow(0 12px 18px rgba(10, 2, 24, .45)); }
.p1-art__sub { position: absolute; right: 13%; bottom: 12%; display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: rgba(38, 16, 64, .78); box-shadow: 0 8px 16px rgba(10, 2, 24, .35); --ic-line: #D4B9F4; --ic-fill: rgba(255, 255, 255, .14); --ic-detail: #FFF200; }
.p1-art__si { width: 62%; height: 62%; }
.p1-art__chip { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 9px; border-radius: 999px; background: #FFF200; color: var(--brown); font-size: 12.5px; line-height: 1.1; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.p1-art__dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--accent); }

.p1-story { padding: calc(var(--p1-half) * 1.5) 0 var(--p1-half); text-align: center; }
.p1-statement { max-width: 1120px; margin: 28px auto 0; color: var(--brown); font-size: clamp(26px, 3.3vw, 48px); line-height: 1.1; font-weight: 440; font-variation-settings: "wdth" 100, "wght" 440; letter-spacing: -.035em; text-wrap: balance; }

.p1-nums__panel { position: relative; isolation: isolate; overflow: hidden; margin: 0 var(--inset); padding: clamp(44px, 5.4vw, 80px) 0 clamp(52px, 6vw, 92px); border-radius: var(--r-panel-xl); color: var(--cream);
  background: radial-gradient(60% 80% at 50% -10%, rgba(106, 31, 173, .62) 0%, rgba(106, 31, 173, 0) 70%), radial-gradient(40% 50% at 100% 100%, rgba(106, 31, 173, .3) 0%, rgba(106, 31, 173, 0) 70%), var(--night); }
.p1-nums__ring { position: absolute; z-index: -1; right: -120px; top: -140px; width: 420px; height: 420px; border-radius: 50%; opacity: .55;
  background: radial-gradient(circle at 34% 30%, rgba(255, 242, 0, .5) 0%, rgba(255, 242, 0, 0) 46%), repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .16) 0 1px, transparent 1px 24px); }
.p1-nums .k-head__h { max-width: 14ch; color: #fff; font-size: clamp(36px, 4.2vw, 60px); }
.p1-nums .k-head + * { margin-top: clamp(32px, 4vw, 56px); }
.p1-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px clamp(14px, 1.6vw, 22px); align-items: stretch; margin: 0; padding: 0; list-style: none; }
.p1-stat { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 176px; padding: 24px 26px 26px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 19px; background: #fff; color: var(--brown); box-shadow: 0 34px 56px -30px rgba(6, 0, 18, .75), 0 2px 0 rgba(255, 255, 255, .5) inset; }
.p1-stat__v { display: flex; align-items: center; gap: 10px; color: var(--brown); font-size: clamp(34px, 3.6vw, 52px); line-height: 1; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.04em; white-space: nowrap; }
.p1-stat__l { color: var(--copy); font-size: 15px; line-height: 1.35; text-wrap: balance; }
.p1-stat--g { padding: 0; }
.p1-stat--g .grate--num { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; width: 100%; height: 100%; min-height: 176px; padding: 24px 26px 26px; border-radius: 19px; color: var(--brown); }
@media (max-width: 1099.98px) {
  .p1-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p1-stat:nth-child(1), .p1-stat:nth-child(6) { grid-column: auto; }
}
@media (max-width: 719.98px) {   
  .p1-stat:nth-child(1), .p1-stat:nth-child(6) { grid-column: 1 / -1; }
}
@media (max-width: 559.98px) {
  .p1-stats { gap: 12px 10px; }
  .p1-stat, .p1-stat--g .grate--num { min-height: 124px; padding: 16px 16px 18px; gap: 12px; }
  .p1-stat.p1-stat--g { padding: 0; }
  .p1-stat__l { font-size: 13.5px; }
}

.p1-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; }
.p1-step__art { display: block; margin-bottom: 14px; }
@media (max-width: 1099.98px) { .p1-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559.98px) { .p1-steps { grid-template-columns: minmax(0, 1fr); gap: 12px; } .p1-art { height: 156px; } .p1-art__main { width: 96px; height: 96px; } .p1-art__sub { width: 54px; height: 54px; } }
.p1-band .k-head__lead { color: var(--on-dark-muted); max-width: 46ch; }

.p1-doors { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.p1-door { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; gap: 22px; min-height: 300px; padding: clamp(14px, 1.6vw, 20px) clamp(14px, 1.6vw, 20px) clamp(22px, 2.6vw, 34px); border-radius: var(--r-panel-xl); }
.p1-door--light { grid-column: span 7; border: 1px solid var(--line); background: linear-gradient(180deg, #fff 0%, #F3F1FC 100%); color: var(--brown); }
.p1-door--dark { grid-column: span 5; background: var(--dark-band); color: var(--cream); }
.p1-door--wide { grid-column: 1 / -1; flex-direction: row-reverse; align-items: stretch; min-height: 0; border: 1px solid var(--line); background: #fff; color: var(--brown); box-shadow: var(--shadow-soft); }
.p1-door__art { order: -1; }
.p1-door--wide .p1-door__art { order: 0; flex: 0 0 38%; }
.p1-door__art .p1-art { height: 170px; border-radius: 26px; }
.p1-door--wide .p1-door__art .p1-art { height: 100%; min-height: 150px; }
.p1-door__tx { padding: 0 clamp(8px, 1vw, 14px); }
.p1-door--wide .p1-door__tx { flex: 1 1 auto; align-self: center; padding: 8px clamp(14px, 2.4vw, 34px); }
.p1-door__t { font-size: clamp(28px, 3vw, 42px); line-height: 1.02; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.035em; }
.p1-door--light .p1-door__t, .p1-door--wide .p1-door__t { color: var(--accent); }
.p1-door--dark .p1-door__t { color: #fff; }
.p1-door__a { color: inherit; }
.p1-door__a::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: var(--r-panel-xl); }
.p1-door__a:focus-visible { outline: none; box-shadow: none; }
.p1-door:has(.p1-door__a:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; box-shadow: var(--ring); }
.p1-door__x { max-width: 34ch; margin-top: 12px; color: var(--copy); font-size: var(--fs-body); line-height: 1.5; }
.p1-door--dark .p1-door__x { color: var(--on-dark-muted); }
.p1-door__go { position: absolute; right: clamp(16px, 2vw, 26px); bottom: clamp(16px, 2vw, 26px); z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--chip-arrow); color: var(--brown); transition: transform .35s var(--ease-spring); }
.p1-door--dark .p1-door__go { background: #fff; }
.p1-door:hover .p1-door__go { transform: translateX(3px); }
.p1-door__go svg { width: 14px; height: 14px; }
@media (max-width: 999.98px) {
  .p1-door--light, .p1-door--dark, .p1-door--wide { grid-column: 1 / -1; }
  .p1-door--wide { flex-direction: column; }
  .p1-door--wide .p1-door__art { order: -1; flex: none; }
  .p1-door--wide .p1-door__art .p1-art { height: 170px; }
  .p1-door { min-height: 0; padding-bottom: 28px; }
  .p1-door__x { padding-right: 52px; }
}



.v2-split { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 72px; align-items: start; }
.v2-split__head { min-width: 0; }
.v2-split__body { min-width: 0; }
.v2-split .faq { max-width: none; }
@media (max-width: 1199.98px) { .v2-split { grid-template-columns: minmax(0, 1fr); gap: 32px; } }

.v2-card { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 32px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.v2-card__h { color: var(--brown); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); }
.v2-card__lead { color: var(--copy); line-height: var(--lh-body); text-wrap: pretty; }

.sec.v2-hero { padding-bottom: 72px; }
.v2-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: center; }
.v2-hero--solo .v2-hero__grid { grid-template-columns: minmax(0, 880px); }
.v2-hero__main { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; min-width: 0; }
.v2-hero__h { color: var(--brown); overflow-wrap: anywhere; max-width: 14ch; }
.v2-hero__h--long { max-width: 20ch; }
.v2-hero__lead { max-width: 54ch; font-size: var(--fs-title-s); line-height: var(--lh-body); text-wrap: pretty; }
.v2-hero__pill { display: flex; }
.v2-hero__btns { margin-top: 6px; gap: 12px; align-items: flex-start; }
.v2-hero__call { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; }
.v2-hero__under { max-width: 30ch; color: var(--muted); font-size: var(--fs-ui); line-height: 1.4; }
.v2-hero__fig { margin: 0; min-width: 0; }
.v2-hero__frame { aspect-ratio: 4 / 3; border-radius: var(--r-soft-l); overflow: hidden; background: var(--steel-100); box-shadow: var(--shadow-soft); }
.v2-hero__img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1199.98px) {
  .v2-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .v2-hero__h { max-width: 20ch; }
  .v2-hero__frame { aspect-ratio: 16 / 10; }
}
@media (max-width: 809.98px) {
  .sec.v2-hero { padding-bottom: 48px; }
  .v2-hero__main { gap: 18px; }
  .v2-hero__grid { gap: 32px; }
  .v2-hero__frame { aspect-ratio: 4 / 3; }
}
@media (max-width: 559.98px) {
  .v2-hero__btns { flex-direction: column; align-items: stretch; width: 100%; }
  .v2-hero__btns > .btn, .v2-hero__call > .btn { width: 100%; }
  .v2-hero__call { align-items: stretch; }
  .v2-hero__under { max-width: none; }
}

.v2-lede { max-width: 62ch; color: var(--ink); font-size: var(--fs-title-m); line-height: 1.45; font-weight: 450; font-variation-settings: "wdth" 100, "wght" 450; text-wrap: pretty; }

.v2-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-radius: var(--r-soft-l); overflow: hidden; background: var(--line); box-shadow: var(--shadow-soft); }
.v2-num { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; min-width: 0; padding: 30px 32px; background: var(--white); }
.v2-num__v { display: block; color: var(--brown); font-size: var(--fs-stat); line-height: 1.02; font-weight: 680; font-variation-settings: var(--w-display); letter-spacing: var(--tr-display); font-variant-numeric: tabular-nums lining-nums; }
.v2-num__g { display: inline-block; margin-right: 10px; vertical-align: -3px; }

.v2-num--g { padding: 0; }
.grate--num { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; flex: 1 1 auto; min-width: 0; padding: 30px 32px; }
.v2-num__r { display: inline-flex; align-items: center; gap: 8px; color: var(--brown); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; line-height: 1.2; }
.v2-num__v .smp { margin-left: 6px; font-size: .5em; vertical-align: .9em; }
.v2-num__l { color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; }
@media (max-width: 1199.98px) { .v2-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .v2-num { padding: 22px 18px; gap: 8px; }
  .v2-num--g { padding: 0; }
  .grate--num { padding: 22px 18px; gap: 8px; }
  .v2-num__l { font-size: 14px; }
}

.v2-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-step { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; align-items: start; min-width: 0; padding: 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.v2-step__n { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--brown); color: var(--cream); font-size: var(--fs-title-m); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; font-variant-numeric: tabular-nums lining-nums; }
.v2-step__b { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding-top: 2px; }
.v2-step__h { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.v2-step__x { color: var(--copy); line-height: 1.55; text-wrap: pretty; }
@media (max-width: 1079.98px) { .v2-steps { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) { .v2-step { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 20px 18px; } .v2-step__n { width: 40px; height: 40px; font-size: var(--fs-title-s); } }
.v2-stepsec { scroll-margin-top: calc(var(--nav-h) + 16px); }

.v2-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-doors > li { display: flex; min-width: 0; }
.v2-door { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; min-width: 0; padding: 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.v2-door:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.v2-door:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.v2-door .k-disc { margin-bottom: 6px; }
.v2-door__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.v2-door__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.v2-door__go { display: grid; place-items: center; width: 36px; height: 36px; margin-top: auto; border-radius: 50%; background: var(--steel-50); color: var(--brown); transition: transform .35s var(--ease-spring); }
.v2-door__go svg { width: 14px; height: 14px; }
.v2-door:hover .v2-door__go { transform: translateX(4px); }
@media (max-width: 1079.98px) { .v2-doors { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) { .v2-door { padding: 22px 20px; } }

.v2-creds { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-cred { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 32px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); scroll-margin-top: calc(var(--nav-h) + 16px); }
.v2-cred__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.v2-cred__n { color: var(--steel-700); font-size: var(--fs-title-l); line-height: 1; font-weight: 680; font-variation-settings: var(--w-display); letter-spacing: var(--tr-display); font-variant-numeric: tabular-nums lining-nums; }
.v2-cred__h { color: var(--brown); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); text-wrap: balance; }
.v2-cred__lead { color: var(--copy); line-height: 1.55; text-wrap: pretty; }
.v2-cred__dl { display: flex; flex-direction: column; margin: 4px 0 0; }
.v2-cred__row { display: flex; flex-direction: column; gap: 4px; padding: 16px 0; }
.v2-cred__row + .v2-cred__row { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
.v2-cred__row dt { color: var(--brown); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; line-height: 1.3; }
.v2-cred__row dd { margin: 0; color: var(--ink); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.v2-cred__row dd a { color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.v2-cred__row dd a:hover { text-decoration-thickness: 2px; }
.v2-cred__door { margin-top: auto; padding-top: 8px; }
.v2-cred__door .pg-linkpill { background: var(--steel-50); box-shadow: none; }
.v2-cred__door .pg-linkpill:hover { background: var(--steel-100); box-shadow: none; transform: none; }
.v2-cred__door .pg-linkpill:focus-visible { box-shadow: var(--ring); }
@media (max-width: 1199.98px) { .v2-creds { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) { .v2-cred { padding: 24px 20px; } }

.v2-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: start; max-width: 880px; padding: 28px 30px; border-radius: var(--r-soft-l); background: var(--tint); }
.v2-note__b { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.v2-note__h { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); }
.v2-note__x { color: var(--copy); line-height: 1.55; text-wrap: pretty; }
.v2-note__s { color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; line-height: 1.5; text-wrap: pretty; }
@media (max-width: 559.98px) { .v2-note { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 22px 20px; } }

.v2-proms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-prom { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: start; min-width: 0; padding: 26px 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.v2-prom__b { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-top: 2px; }
.v2-prom__t { color: var(--brown); font-size: var(--fs-title-s); line-height: 1.25; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.v2-prom__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.55; text-wrap: pretty; }
@media (max-width: 809.98px) { .v2-proms { grid-template-columns: minmax(0, 1fr); } .v2-prom { padding: 22px 20px; gap: 14px; } }

.v2-hourssec { scroll-margin-top: calc(var(--nav-h) + 16px); }
.v2-hours { display: flex; flex-direction: column; gap: 14px; }
.v2-hours__note { color: var(--muted); font-size: var(--fs-ui); line-height: 1.4; }
.v2-msgbox.ct-box { padding: 32px 36px; }
.v2-msgbox .ct-box__card { min-width: 0; }
@media (max-width: 809.98px) { .v2-msgbox.ct-box { padding: 22px 18px; border-radius: var(--r-soft); } }
.v2-msgsec .fm-ok .btns { gap: 8px; }

.v2-officesec { scroll-margin-top: calc(var(--nav-h) + 16px); }
.v2-offices__grid--map { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); grid-template-areas: "map list" "map go"; grid-template-rows: auto 1fr; gap: 20px 48px; align-items: start; }
.v2-offices__grid--map > .v2-offs { grid-area: list; }
.v2-offices__map { grid-area: map; min-width: 0; }
.v2-offices__grid--map > .v2-offices__go { grid-area: go; margin-top: 8px; }
.v2-offs { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.v2-offs--grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-off { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; min-width: 0; padding: 18px 22px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); }
.v2-off__b { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v2-off__t { color: var(--brown); font-size: var(--fs-title-s); line-height: 1.25; font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.v2-off__a { font-style: normal; color: var(--copy); font-size: var(--fs-ui); line-height: 1.45; }
.v2-offices__go { margin-top: 28px; }
@media (max-width: 1199.98px) {
  .v2-offices__grid--map { grid-template-columns: minmax(0, 1fr); grid-template-areas: "list" "map" "go"; grid-template-rows: auto; gap: 28px; }
  .v2-offs--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 809.98px) { .v2-offs--grid { grid-template-columns: minmax(0, 1fr); } .v2-off { padding: 16px 18px; } }

.v2-g { display: inline-block; width: 20px; height: 20px; margin-right: 8px; vertical-align: -4px; }
.v2-revs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-rev { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.v2-rev--wide { grid-column: span 2; }
.v2-rev__top { display: flex; align-items: center; gap: 10px; }
.v2-rev__g { flex: none; }
.v2-rev__who { color: var(--brown); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.v2-rev__q { margin: 0; }
.v2-rev__q p { color: var(--ink); font-size: var(--fs-body); line-height: 1.55; text-wrap: pretty; }
.v2-more { margin-top: auto; }
.v2-more summary { display: inline-flex; align-items: center; min-height: 44px; color: var(--brown); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; cursor: pointer; list-style: none; }
.v2-more summary::-webkit-details-marker { display: none; }
.v2-more summary:hover { text-decoration-thickness: 2px; }
.v2-more summary:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-chip); }
.v2-more[open] summary { display: none; }
.v2-more p { color: var(--ink); font-size: var(--fs-body); line-height: 1.55; text-wrap: pretty; }
.v2-revsec { scroll-margin-top: calc(var(--nav-h) + 16px); }
@media (max-width: 1199.98px) { .v2-revs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .v2-revs { grid-template-columns: minmax(0, 1fr); } .v2-rev--wide { grid-column: auto; } .v2-rev { padding: 22px 20px; } }

.v2-mdoors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); }
.v2-mdoor { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; padding: 28px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.v2-mdoor--link:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.v2-mdoor--link:focus-within { box-shadow: var(--shadow-soft), var(--ring); }
.v2-mdoor .k-disc { margin-bottom: 6px; }
.v2-mdoor__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); text-wrap: balance; }
.v2-mdoor__a::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-soft-l); }
.v2-mdoor__a { display: inline-block; min-height: 24px; }   
.v2-mdoor__a:focus-visible { outline: none; }
.v2-mdoor__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.v2-mdoor__go { display: grid; place-items: center; width: 36px; height: 36px; margin-top: auto; border-radius: 50%; background: var(--steel-50); color: var(--brown); transition: transform .35s var(--ease-spring); }
.v2-mdoor__go svg { width: 14px; height: 14px; }
.v2-mdoor--link:hover .v2-mdoor__go { transform: translateX(4px); }
@media (max-width: 809.98px) {
  .v2-mdoors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .v2-mdoor { padding: 18px 16px; gap: 8px; border-radius: var(--r-soft); }
  .v2-mdoor__a::after { border-radius: var(--r-soft); }
  .v2-mdoor__t { font-size: var(--fs-title-s); }
  .v2-mdoor__x { font-size: 14px; }
}

.v2-wherebox { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 36px; border-radius: var(--r-soft-l); background: var(--tint); }
.v2-wherebox__t { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.v2-wherebox__h { color: var(--brown); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: 650; font-variation-settings: var(--w-title-l); letter-spacing: var(--tr-title-l); }
.v2-wherebox__x { max-width: 62ch; color: var(--copy); line-height: 1.55; text-wrap: pretty; }
@media (max-width: 809.98px) { .v2-wherebox { flex-direction: column; align-items: flex-start; gap: 20px; padding: 24px 20px; } }

.v2-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-card); align-items: stretch; }
.v2-signs { display: flex; flex-direction: column; }
.v2-sign { display: flex; flex-direction: column; gap: 2px; padding: 14px 0; }
.v2-sign + .v2-sign { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
.v2-sign:first-child { padding-top: 0; }
.v2-sign strong { color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; line-height: 1.3; }
.v2-sign span { color: var(--copy); line-height: 1.5; text-wrap: pretty; }
.v2-checks.k-checks { gap: 12px; }
@media (max-width: 1079.98px) { .v2-duo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) { .v2-card { padding: 24px 20px; } }

@media (prefers-reduced-motion: reduce) {
  .v2-door, .v2-mdoor, .v2-door__go, .v2-mdoor__go { transition: none; }
  .v2-door:hover, .v2-mdoor--link:hover { transform: none; }
}



.arhero { min-height: clamp(320px, 44vh, 420px); padding: 48px 0 44px; display: flex; align-items: flex-end; }
.arhero__in { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.arhero__h { color: var(--white); max-width: 22ch; font-size: var(--fs-h2); line-height: var(--lh-h2); text-wrap: balance; }
.arhero__lead { max-width: 58ch; color: var(--copy-on-photo); font-size: var(--fs-title-s); line-height: 1.5; text-wrap: pretty; }
.arhero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
@media (max-width: 809.98px) {
  .arhero { min-height: 0; padding: 28px 0 32px; }
  .arhero__in { gap: 14px; }
  .arhero__btns { width: 100%; }
  .arhero__btns .btn { flex: 1 1 100%; justify-content: center; }
  .arhero__btns .btn--price { justify-content: space-between; }
  .arhero__btns--hide { display: none; }       
}

.ardoors__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 24px 56px; align-items: start; }
.ardoors__grid--nomap { grid-template-columns: minmax(0, 760px); }
.ardoors__list { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ardoor { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "c l" "x l"; column-gap: 24px; row-gap: 4px; align-items: center; padding: 16px 20px 16px 22px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.ardoor:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.ardoor:focus-within { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.ardoor__c { grid-area: c; margin: 0; color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 600; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.ardoor__x { grid-area: x; margin: 0; color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; text-wrap: pretty; }
.ardoor__links { grid-area: l; display: flex; flex-direction: column; align-items: flex-end; margin: 0; padding: 0; list-style: none; }
.ardoor--one .alink::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-soft); }     
.ardoor .alink:focus-visible { outline: none; box-shadow: none; }
.ardoor.is-on { box-shadow: var(--lift); }
@media (max-width: 1079.98px) { .ardoors__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
@media (max-width: 599.98px) {
  .ardoor { grid-template-columns: minmax(0, 1fr); grid-template-areas: "c" "x" "l"; padding: 14px 16px 6px 18px; row-gap: 2px; }
  .ardoor__links { align-items: flex-start; }
  .ardoor .alink { min-height: 40px; }
}

.armap .amap, .armap .amap--full { display: block; }
.armap .amap .amap__chips, .armap .amap.is-live .amap__chips, .armap .amap .amap__panel, .armap .amap .amap__list, .armap .amap .amap__intro { display: none; }
.armap .amap__stage { max-width: 480px; margin-inline: auto; }
.armap .amap__cap { margin-top: 14px; max-width: 480px; margin-inline: auto; }
.arwhere__map .amap__stage, .arwhere__map .amap__cap { max-width: 400px; margin-inline: 0; }
@media (max-width: 1079.98px) { .armap .amap__stage, .armap .amap__cap { margin-inline: 0; max-width: 440px; } }

.araz__d { max-width: 100%; scroll-margin-top: calc(var(--nav-h-compact) + 20px); }
.araz__b { max-width: none; padding-top: 4px; }
.araz__list { columns: 2; column-gap: 24px; margin: 0; padding: 0; list-style: none; }
.araz__list li { break-inside: avoid; display: flex; align-items: center; min-height: 40px; font-size: var(--fs-body); line-height: 1.25; }
.araz__a { display: inline-flex; align-items: center; min-height: 32px; color: var(--brown); font-weight: 600; font-variation-settings: var(--w-title-s); text-decoration: underline; text-decoration-color: var(--steel-200); text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.araz__a:hover { text-decoration-color: var(--brown); }
.araz__a:focus-visible, .araz__x a:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-chip); }
.araz__x { margin: 8px 0 0; color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; }
.araz__x a { color: var(--brown); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 600px) { .araz__list { columns: 3; } }
@media (min-width: 1080px) { .araz__list { columns: 4; } }

.aroff__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.aroff__list li { display: flex; flex-direction: column; gap: 2px; padding: 14px 0; border-top: 1px solid var(--line); }
.aroff__n { color: var(--brown); font-size: var(--fs-body); font-weight: 600; font-variation-settings: var(--w-title-s); }
.aroff__a { color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; }
@media (max-width: 1079.98px) { .aroff__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599.98px) { .aroff__list { grid-template-columns: minmax(0, 1fr); gap: 0; } .aroff__list li { padding: 12px 0; } }

.arapps__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.arapp { display: flex; align-items: center; gap: 12px; min-height: 60px; height: 100%; padding: 8px 16px 8px 10px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: var(--w-title-s); line-height: 1.25; transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.arapp:hover { box-shadow: var(--lift); transform: translateY(-1px); }
.arapp:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.arapp__ic { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--steel-50); }
.arapp__svg { width: 24px; height: 24px; }
.arapp--all { background: var(--steel-100); box-shadow: none; }
.arapp--all:hover { background: var(--steel-200); box-shadow: none; }
.arapp--all .arapp__ic { background: var(--white); }

.arapps--compact .arapps__grid { display: flex; flex-wrap: wrap; gap: 8px; }
.arapps--compact .arapp { height: auto; min-height: 44px; padding: 5px 16px 5px 6px; gap: 8px; font-size: 15px; }
.arapps--compact .arapp__ic { width: 32px; height: 32px; }
.arapps--compact .arapp__svg { width: 20px; height: 20px; }
.arapps__marine { max-width: 62ch; margin: 20px 0 0; color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.arapps__ml { color: var(--brown); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width: 1079.98px) { .arapps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 599.98px) {
  .arapps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .arapp { min-height: 56px; gap: 8px; padding: 6px 10px 6px 8px; font-size: 14px; }
  .arapp__ic { width: 34px; height: 34px; }
  .arapp__svg { width: 20px; height: 20px; }
  .arapps__marine { margin-top: 16px; }
}

.arwhere__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 32px 72px; align-items: start; }
.arwhere__grid--nomap { grid-template-columns: minmax(0, 760px); }
.arwhere__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; }
.arwhere__copy .k-head + * { margin-top: 0; }
.arwhere__towns { margin: 0; color: var(--ink); font-size: var(--fs-title-s); line-height: 1.5; text-wrap: pretty; }
.arwhere__towns.is-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-clamp: 1; overflow: hidden; }
.arwhere__more { min-height: 44px; padding: 8px 18px; border: 0; border-radius: var(--r-full); background: var(--steel-100); color: var(--brown); font-family: var(--sans); font-size: var(--fs-ui); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; line-height: var(--lh-btn); cursor: pointer; transition: background-color .2s ease; }
.arwhere__more:hover { background: var(--steel-200); }
.arwhere__more:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.arwhere__more[hidden] { display: none; }
.arwhere__note { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; }
.arwhere__loc { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 560px; padding: 18px 20px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); }
.arwhere__ll { margin: 0; color: var(--copy); font-size: var(--fs-ui); line-height: 1.45; }
.arwhere__offices { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.arwhere__offices li { display: flex; flex-direction: column; gap: 2px; }
.arwhere__ln { color: var(--brown); font-size: var(--fs-body); font-weight: 600; font-variation-settings: var(--w-title-s); }
.arwhere__la { color: var(--copy); font-size: var(--fs-ui); line-height: 1.4; }
@media (min-width: 1080px) { .arwhere__grid:not(.arwhere__grid--nomap) { align-items: center; } }
@media (max-width: 1079.98px) { .arwhere__grid { grid-template-columns: minmax(0, 1fr); } }

.arlocal__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 64px; align-items: start; }
.arlocal__head { position: sticky; top: calc(var(--nav-h-compact) + 24px); }
.arlocal__main { display: flex; flex-direction: column; gap: 16px; max-width: 64ch; }
.arlocal__p { margin: 0; color: var(--copy); font-size: var(--fs-title-s); line-height: 1.55; text-wrap: pretty; }
.arlocal__brands { margin: 0; }
.arlocal__links { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 1079.98px) { .arlocal__in { display: flex; flex-direction: column; align-items: stretch; gap: 16px; } .arlocal__head { position: static; } .arlocal__main { max-width: none; } }
.arwork__card { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: 920px; padding: 28px 30px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); }
.arwork__t { margin: 0; color: var(--brown); }
.arwork__cols { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px 40px; width: 100%; }
.arwork__b, .arwork__a { margin: 0; color: var(--copy); font-size: var(--fs-body); line-height: var(--lh-body); text-wrap: pretty; }
.arwork__rh { margin: 0 0 8px; color: var(--steel-700); font-size: var(--fs-label); font-weight: var(--w-label); letter-spacing: var(--tr-label); line-height: var(--lh-mono); }
.arwork__list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.arwork__list li { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 12px; border-radius: var(--r-full); background: var(--steel-50); color: var(--steel-700); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
@media (max-width: 809.98px) { .arwork__card { padding: 22px 20px; } .arwork__cols { grid-template-columns: minmax(0, 1fr); } }
.arfaq__a { color: var(--brown); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .ardoor, .arapp, .arwhere__more { transition: none; } .ardoor:hover, .arapp:hover { transform: none; } }



.amap {
  --amap-sea: var(--steel-50);
  --amap-land: var(--tint);
  --amap-coast: var(--steel-200);
  --amap-fill: color-mix(in srgb, var(--ic-accent) 48%, var(--white));
  --amap-on: var(--brown);
  --amap-ink: var(--brown);
  --amap-halo: 0 0 2px var(--white), 0 0 2px var(--white), 0 0 4px var(--white), 0 0 6px var(--white);
  margin: 0;
}

.amap { display: grid; align-items: start; gap: 0 48px; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); grid-template-rows: auto auto 1fr; grid-template-areas: "stage chips" "stage panel" "stage cap"; }
.amap--compact { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 0 40px; }

.amap--bare { display: block; max-width: 440px; }
.amap--bare.amap--compact { max-width: 320px; }
.amap--bare .amap__cap { margin-top: 16px; }
.amap__stage { grid-area: stage; align-self: start; position: relative; width: 100%; background: var(--amap-sea); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.amap__chips { grid-area: chips; }
.amap__panel { grid-area: panel; min-width: 0; scroll-margin: calc(var(--nav-h) + 12px) 0 96px; }
.amap__cap { grid-area: cap; align-self: end; }

.amap__svg { display: block; width: 100%; height: 100%; }
.amap__land { fill: var(--amap-land); stroke: var(--amap-coast); stroke-width: 1px; vector-effect: non-scaling-stroke; stroke-linejoin: round; pointer-events: none; }
.amap__borders { fill: none; stroke: var(--white); stroke-width: 1px; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; pointer-events: none; }
.amap__lake { fill: var(--amap-sea); stroke: var(--amap-coast); stroke-width: 1px; vector-effect: non-scaling-stroke; pointer-events: none; }

.amap__c { cursor: pointer; outline: none; }
.amap__shape { fill: var(--amap-fill); stroke: var(--white); stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; transition: fill .18s ease; }
.amap__keys { fill: var(--amap-fill); stroke: var(--amap-fill); stroke-width: 1.7px; vector-effect: non-scaling-stroke; stroke-linejoin: round; transition: fill .18s ease, stroke .18s ease; }
.amap__shape--faint { fill: var(--amap-land); stroke: var(--amap-fill); }
.amap__hit { fill: none; stroke: transparent; stroke-width: 28px; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; pointer-events: stroke; }
.amap__c.is-on .amap__shape, .amap__c.is-on .amap__keys { fill: var(--amap-on); }
.amap__c.is-on .amap__keys { stroke: var(--amap-on); }
.amap:not(.is-live) .amap__c.is-focus .amap__shape, .amap:not(.is-live) .amap__c.is-focus .amap__keys { fill: var(--amap-on); }
.amap:not(.is-live) .amap__c.is-focus .amap__keys { stroke: var(--amap-on); }
@media (hover: hover) {
  .amap__c:hover .amap__shape, .amap__c:hover .amap__keys { fill: var(--amap-on); }
  .amap__c:hover .amap__keys { stroke: var(--amap-on); }
}

.amap__c.is-on .amap__shape--faint, .amap:not(.is-live) .amap__c.is-focus .amap__shape--faint { fill: var(--amap-fill); }
@media (hover: hover) { .amap__c:hover .amap__shape--faint { fill: var(--amap-fill); } }
.amap__c:focus-visible .amap__shape { stroke: var(--brown); stroke-width: 3px; }
.amap__c:focus-visible .amap__keys { stroke: var(--brown); stroke-width: 3.2px; paint-order: stroke; }

.amap__over { position: absolute; inset: 0; pointer-events: none; }
.amap__lbl { position: absolute; transform: translate(-50%, -50%); padding: 2px 5px; border-radius: var(--r-chip); font-family: var(--sans); font-size: 13px; line-height: 1.05; font-weight: 700; font-variation-settings: "wdth" 100, "wght" 700; white-space: nowrap; color: var(--amap-ink); transition: color .18s ease, background-color .18s ease; }

.amap__lbl.is-on { color: var(--white); background: var(--amap-on); }
.amap:not(.is-live) .amap__lbl.is-focus { color: var(--white); background: var(--amap-on); }
.amap__water { position: absolute; margin: 0; transform: translate(-50%, -50%); font-family: var(--sans); font-size: 12px; line-height: 1.15; font-style: italic; font-variation-settings: "wdth" 100, "wght" 500; color: var(--steel-700); text-align: center; white-space: nowrap; }

.amap__pin { position: absolute; width: 0; height: 0; }
.amap__pinmark { position: absolute; left: 0; top: 0; width: 14px; height: 14px; margin: -7px 0 0 -7px; box-sizing: border-box; border: 2px solid var(--white); border-radius: 50%; background: var(--brown); box-shadow: var(--shadow-soft); }
.amap__pinmark::after { content: ""; position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px 0 0 -2px; border-radius: 50%; background: var(--brand-yellow); }
.amap--compact .amap__pinmark { width: 12px; height: 12px; margin: -6px 0 0 -6px; }
.amap__pinlbl { position: absolute; top: 0; transform: translateY(-50%); width: max-content; max-width: 6.6em; white-space: normal; font-family: var(--sans); font-size: 13px; line-height: 1.12; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 640; color: var(--amap-ink); text-shadow: var(--amap-halo); }
.amap__pin--r .amap__pinlbl { left: 13px; text-align: left; }
.amap__pin--l .amap__pinlbl { right: 13px; text-align: right; }

.amap__dot { position: absolute; width: 8px; height: 8px; margin: -4px 0 0 -4px; box-sizing: border-box; border: 2px solid var(--brown); border-radius: 50%; background: var(--white); opacity: 0; transform: scale(.6); transition: opacity .18s ease, transform .18s ease; }
.amap__dot.is-on { opacity: 1; transform: none; }

.amap__chips[hidden], .amap__intro[hidden] { display: none; }
.amap__chips { display: none; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.amap.is-live .amap__chips { display: flex; }
.amap__chip { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: var(--white); color: var(--brown); font-family: var(--sans); font-size: var(--fs-ui); line-height: var(--lh-btn); font-weight: 560; font-variation-settings: var(--w-ui); text-align: left; cursor: pointer; transition: background-color .18s ease, color .18s ease; }
.amap__chip:hover { background: var(--tint); }
.amap__chip[aria-pressed="true"] { background: var(--brown); border-color: var(--brown); color: var(--cream); }

.amap__intro { margin: 0; padding: var(--pad-card); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); color: var(--copy); font-size: var(--fs-body); line-height: var(--lh-body); }
.amap__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--gap-card); grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.amap__item { display: flex; flex-direction: column; gap: 8px; padding: var(--pad-card); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.amap__item.is-focus { background: var(--steel-50); }
.amap__name { margin: 0; color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 600; font-variation-settings: var(--w-title-m); letter-spacing: var(--tr-title-m); }
.amap__n, .amap__off { margin: 0; color: var(--muted); font-size: var(--fs-label); line-height: var(--lh-mono); font-weight: var(--w-label); letter-spacing: var(--tr-label); }
.amap__towns { margin: 0; color: var(--copy); font-size: var(--fs-body); line-height: var(--lh-body); text-wrap: pretty; }
.amap__links { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; }
.amap__a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--brown); font-size: var(--fs-ui); line-height: var(--lh-btn); font-weight: 560; font-variation-settings: var(--w-ui); text-decoration: none; }
.amap__a:hover { text-decoration: underline; text-underline-offset: 3px; }
.amap__go { display: inline-flex; width: 12px; height: 12px; flex: none; }
.amap__go svg { width: 100%; height: 100%; transition: transform .35s var(--ease-spring); }
.amap__a:hover .amap__go svg { transform: translateX(4px); }

.amap__dir[hidden] { display: none; }
.amap__dir { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.amap__dirhead { margin: 0; padding: 18px var(--pad-card) 14px; color: var(--muted); font-size: var(--fs-label); line-height: var(--lh-mono); font-weight: var(--w-label); letter-spacing: var(--tr-label); }
.amap__rows { list-style: none; margin: 0; padding: 0; }
.amap__row { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 4px 24px; padding: 8px var(--pad-card); border-top: 1px solid var(--line); }
.amap__rowname { margin: 0; color: var(--brown); font-size: var(--fs-title-s); line-height: var(--lh-title-s); font-weight: 600; font-variation-settings: var(--w-title-s); letter-spacing: var(--tr-title-s); }
.amap__row .amap__n { margin: 2px 0 0; }
.amap__row .amap__links { margin: 0; }
.amap__back { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: -10px 0 -2px; padding: 0; border: 0; background: none; color: var(--brown); font-family: var(--sans); font-size: var(--fs-ui); line-height: var(--lh-btn); font-weight: 560; font-variation-settings: var(--w-ui); cursor: pointer; }
.amap__back:hover { text-decoration: underline; text-underline-offset: 3px; }
.amap__back:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); border-radius: var(--r-pill); }
.amap__go--back svg { transform: rotate(180deg); }
.amap__back:hover .amap__go--back svg { transform: rotate(180deg) translateX(4px); }

.amap.is-live .amap__list { display: block; }
.amap.is-live .amap__item { display: none; }
.amap.is-live .amap__item.is-on { display: flex; animation: amap-in .2s ease both; }
@keyframes amap-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.amap__cap { margin: 20px 0 0; display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: var(--fs-label); line-height: var(--lh-mono); }
.amap__legend { display: inline-flex; align-items: flex-start; gap: 10px; }
.amap .amap__pinmark--key { position: relative; flex: none; margin: 1px 0 0; }

@media (max-width: 809.98px) {
  .amap--full { gap: 16px; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "stage" "chips" "panel" "cap"; }
  .amap--full .amap__stage { max-width: 440px; }
  .amap--compact { gap: 16px; grid-template-columns: minmax(0, 208px) minmax(0, 1fr); grid-template-rows: auto auto auto; grid-template-areas: "stage chips" "panel panel" "cap cap"; align-items: stretch; }
  .amap__cap { margin-top: 0; }
  .amap__chips { margin-bottom: 0; }
  .amap--compact .amap__chips { flex-direction: column; flex-wrap: nowrap; align-content: stretch; }
  .amap--compact .amap__chip { flex: 1 1 0; min-height: 44px; padding: 6px 12px; font-size: 14px; }
  .amap__lbl { font-size: 12px; padding: 1px 3px; white-space: normal; width: min-content; text-align: center; }
  .amap__pinlbl { font-size: 12px; }
  .amap__item, .amap__intro { padding: var(--pad-card); }
  .amap__list { grid-template-columns: minmax(0, 1fr); }
  .amap__row { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 12px var(--pad-card) 2px; }
  .amap__who { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; }
  .amap__row .amap__n { margin: 0; }
  .amap__row .amap__a { min-height: 40px; }
  .amap__dirhead { padding: 16px var(--pad-card) 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .amap__shape, .amap__keys, .amap__lbl, .amap__chip, .amap__dot, .amap__go svg { transition: none; }
  .amap.is-live .amap__item.is-on { animation: none; }
  .amap__a:hover .amap__go svg { transform: none; }
  .amap__back:hover .amap__go--back svg { transform: rotate(180deg); }
}



[data-ex-item][hidden], [data-ex-group][hidden], [data-ex-quiet][hidden], .ex-find [hidden] { display: none !important; }

.sec.ex-findsec { padding-top: 0; padding-bottom: 0; margin-bottom: 8px; }
html:not(.js) .ex-findsec { display: none; }
.ex-find { display: none; }
.js .ex-find { display: block; }
.ex-find__l { display: block; margin-bottom: 8px; color: var(--brown); font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.ex-find__box { display: flex; align-items: center; gap: 12px; max-width: 640px; min-height: var(--field-h); padding: 0 20px; border-radius: var(--r-full); background: var(--white); color: var(--steel-700); box-shadow: 0 0 0 1.5px var(--field-ring); transition: box-shadow .2s ease; }
.ex-find__box:focus-within { box-shadow: 0 0 0 1.5px var(--brown), var(--ring); }
.ex-find__box svg { width: 20px; height: 20px; flex: none; }
.ex-find__in { flex: 1; min-width: 0; min-height: 44px; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: var(--fs-body); outline: none; box-shadow: none; }
.ex-find__in:focus-visible { outline: none; box-shadow: none; }
.ex-find__in::placeholder { color: var(--muted); opacity: 1; }
.ex-chips { display: flex; flex-wrap: nowrap; gap: 8px; margin: 10px calc(-1 * var(--gutter)) 0; padding: 6px var(--gutter) 8px; list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-padding-inline: var(--gutter); }
.ex-chips::-webkit-scrollbar { display: none; }
.ex-chips > li { flex: none; }
.ex-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 0; border-radius: var(--r-full); background: var(--white); box-shadow: inset 0 0 0 1.5px var(--steel-200); color: var(--ink); font: inherit; font-size: var(--fs-ui); font-weight: 560; font-variation-settings: var(--w-ui); line-height: 1.2; white-space: nowrap; cursor: pointer; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.ex-chip:hover { background: var(--steel-50); }
.ex-chip[aria-pressed="true"] { background: var(--brown); color: var(--cream); box-shadow: none; }
.ex-chip[aria-pressed="true"]:hover { background: var(--brown-hover); }
.ex-chip:focus-visible, .ex-chip[aria-pressed="true"]:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.ex-chip--jump { background: var(--steel-100); box-shadow: none; color: var(--brown); font-weight: 650; font-variation-settings: "wdth" 100, "wght" 650; }
.ex-chip--jump:hover { background: var(--steel-200); }
.ex-find__status { min-height: 1.5em; margin: 6px 0 0; color: var(--muted); font-size: var(--fs-ui); line-height: 1.5; }
.ex-find__a { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.ex-find__a:hover { text-decoration-thickness: 2px; }
@media (min-width: 1200px) { .ex-chips { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; overflow: visible; } }

.ex-filtering .sec[data-ex-group] { padding-top: 28px; padding-bottom: 36px; }
.ex-filtering [data-ex-group] .k-head__label, .ex-filtering [data-ex-group] .k-head__lead, .ex-filtering .ex-loc__intro { display: none; }
.ex-filtering [data-ex-group] .k-head__h { font-size: var(--fs-title-l); line-height: 1.15; max-width: none; }
.ex-filtering .ex-loc__grid { margin-top: 16px; }
.ex-filtering .ex-codes__wrap { margin-top: 18px; }
.js .ex-loc__index { display: none; }

.ex-codes tbody tr + tr > * { background: none; }
.ex-codes tbody tr:not([hidden]) ~ tr:not([hidden]) > * { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
@media (max-width: 809.98px) {
  .ex-codes tbody tr + tr { background: none; }
  .ex-codes tbody tr:not([hidden]) ~ tr:not([hidden]) { background: linear-gradient(var(--line), var(--line)) top / 100% 1px no-repeat; }
  .ex-codes tbody tr > *, .ex-codes tbody tr:not([hidden]) ~ tr:not([hidden]) > * { background: none; }
}

.sec.ex-notesec[data-ex-quiet] { padding-top: 0; padding-bottom: 0; margin-bottom: 28px; }
.ex-note--quiet { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 18px 22px; }
.ex-note--quiet .k-disc { display: none; }
.ex-note--quiet .ex-note__h { font-size: var(--fs-title-s); line-height: 1.25; }
.ex-note--quiet .ex-note__b { gap: 6px; }
.ex-note--quiet .ex-note__x { font-size: var(--fs-ui); line-height: 1.5; }

.sec.ex-foldsec { padding-top: 0; padding-bottom: 0; margin-bottom: 28px; }
.ex-fold, .ex-cv { border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); min-width: 0; }
.ex-fold__s, .ex-cv__s { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 20px; color: var(--brown); font-size: var(--fs-title-s); font-weight: 600; font-variation-settings: var(--w-title-s); line-height: var(--lh-title-s); cursor: pointer; list-style: none; border-radius: var(--r-soft); }
.ex-fold__s::-webkit-details-marker, .ex-cv__s::-webkit-details-marker { display: none; }
.ex-fold__ic, .ex-cv__ic { width: 14px; height: 14px; flex: none; transition: transform .45s var(--ease-spring); }
.ex-fold[open] .ex-fold__ic, .ex-cv[open] .ex-cv__ic { transform: rotate(45deg); }
.ex-fold__b { padding: 4px 20px 24px; align-items: start; }
.ex-fold__b .ex-tag__ps { margin-top: 0; }

.ex-tiles--bare .ex-tiles__grid { margin-top: 0; }
.sec.ex-tiles--bare { padding-top: 0; margin-top: 12px; }
@media (max-width: 809.98px) {
  .ex-tiles__grid { gap: 10px; margin-top: 28px; }
  .ex-tiles--bare .ex-tiles__grid { margin-top: 0; }
  .ex-tile { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; row-gap: 3px; align-items: start; padding: 16px 18px; }
  .ex-tile .k-disc { grid-row: 1 / span 3; margin: 2px 0 0; }
  .ex-tile__t { font-size: var(--fs-title-s); line-height: 1.25; }
  .ex-tile .ccard__go { margin-top: 2px; }
}

.ex-ap__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gap-card); margin: 36px 0 0; padding: 0; list-style: none; }
.ex-ap__grid > li { display: flex; min-width: 0; }
.ex-ap { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; padding: 18px 8px 16px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); color: var(--brown); text-align: center; transition: box-shadow .3s ease, transform .5s var(--ease-spring); }
.ex-ap:hover { box-shadow: var(--lift); transform: translateY(-2px); }
.ex-ap:focus-visible { outline: 2px solid var(--white); outline-offset: 2px; box-shadow: var(--ring); }
.ex-ap__t { font-size: var(--fs-ui); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: 1.25; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) { .ex-ap__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .ex-ap__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; } .ex-ap { padding: 14px 6px 12px; gap: 8px; } .ex-ap__t { font-size: 14px; } }

.ex-pts__grid { display: grid; grid-template-columns: repeat(var(--ex-cols, 3), minmax(0, 1fr)); gap: var(--gap-card); margin: 36px 0 0; padding: 0; list-style: none; }
.ex-pt { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 24px; border-radius: var(--r-soft); background: var(--white); box-shadow: var(--shadow-soft); }
.ex-pt__b { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ex-pt__t { color: var(--brown); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-pt__x { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.ex-pt__a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 0; margin: -10px 0; color: var(--brown); }   
.ex-pt__a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ex-pt__a .alink__ic { width: 14px; height: 14px; }
.ex-pt__a:hover .alink__ic svg { transform: translateX(4px); }
@media (max-width: 1199.98px) { .ex-pts__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .ex-pts__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 24px; }
  .ex-pt { flex-direction: row; align-items: flex-start; gap: 14px; padding: 16px 18px; }
}

.ex-planrow__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-card); margin: 36px 0 0; padding: 0; list-style: none; align-items: stretch; }
.ex-pl { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 26px 26px 22px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); scroll-margin-top: 110px; }
.ex-pl__h { color: var(--brown); font-size: var(--fs-title-l); line-height: 1.15; font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-pl__often { color: var(--brown); font-size: var(--fs-body); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; line-height: 1.35; }
.ex-pl__covers { color: var(--copy); font-size: var(--fs-ui); line-height: 1.5; text-wrap: pretty; }
.ex-pl__price { display: flex; flex-direction: column; gap: 2px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink); font-size: var(--fs-ui); line-height: 1.4; }
.ex-pl__pk { color: var(--muted); font-size: var(--fs-label); font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; }
.ex-planrow__act { margin-top: 28px; }
@media (max-width: 809.98px) {
  .ex-planrow__scroll { position: relative; margin: 24px calc(-1 * var(--gutter)) 0; padding: 6px var(--gutter) 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
  .ex-planrow__scroll::-webkit-scrollbar { display: none; }
  .ex-planrow__grid { display: flex; gap: 12px; margin: 0; }
  .ex-pl { flex: 0 0 min(78%, 300px); scroll-snap-align: start; padding: 22px 20px 18px; }
  .ex-planrow__act { margin-top: 12px; }
}

.ex-cov__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-card); margin-top: 36px; align-items: start; }
.ex-cv__b { padding: 6px 20px 22px; }
.ex-cv .k-checks { gap: 10px; }
.ex-cv .k-check { font-size: var(--fs-ui); }
@media (max-width: 809.98px) { .ex-cov__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 24px; } }

.ex-narrow .ex-faq { max-width: 880px; }
.ex-faq { margin-top: 32px; }
@media (max-width: 809.98px) { .ex-faq { margin-top: 24px; } }

.sec.ex-reqsec { padding-top: 0; }
.ex-req { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 36px 40px; border-radius: var(--r-soft-l); background: var(--white); box-shadow: var(--shadow-soft); scroll-margin-top: 110px; }
.ex-req__tx { display: flex; flex-direction: column; gap: 10px; min-width: 0; max-width: 56ch; }
.ex-req__h { color: var(--brown); font-size: var(--fs-h2-s); line-height: var(--lh-h2); font-weight: 650; font-variation-settings: var(--w-title-m); }
.ex-req__x { color: var(--copy); font-size: var(--fs-title-s); line-height: var(--lh-body); text-wrap: pretty; }
.ex-req__btns { flex: none; }
@media (max-width: 1079.98px) { .ex-req { flex-direction: column; align-items: flex-start; gap: 22px; padding: 28px 24px; } }
@media (max-width: 559.98px) { .ex-req { padding: 24px 20px; } .ex-req__btns { width: 100%; } .ex-req__btns .btn { flex: 1 1 auto; } }

@media (prefers-reduced-motion: reduce) { .ex-chip, .ex-find__box, .ex-ap, .ex-fold__ic, .ex-cv__ic { transition: none; } .ex-ap:hover { transform: none; } }

.ex-loc__intro { margin-top: 12px; }
.ex-loc__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: 28px; align-items: stretch; }
.ex-loc__grid.has-open { align-items: start; }
.ex-loc__media { aspect-ratio: 5 / 4; min-height: 0; overflow: hidden; }   
.ex-loc__img { padding: 4px; }
.ex-loc__body { gap: 0; padding: 8px 12px 12px; }
.ex-loc__h { font-size: var(--fs-ui); line-height: 1.25; font-weight: 650; }
.ex-loc__t { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; width: 100%; min-height: 44px; margin: 0; padding: 4px 0 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ex-loc__tn { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ex-loc__ic { width: 12px; height: 12px; flex: none; margin-top: 5px; transition: transform .45s var(--ease-spring); }
.ex-loc.is-open .ex-loc__ic { transform: rotate(45deg); }
.js .ex-loc__media { cursor: pointer; }

.ex-loc__more { display: block; }
.js .ex-loc__more { display: grid; grid-template-rows: 0fr; visibility: hidden; margin: 0 -6px; transition: grid-template-rows .45s var(--ease-spring), visibility 0s linear .45s; }
.js .ex-loc.is-open .ex-loc__more { grid-template-rows: 1fr; visibility: visible; transition-delay: 0s; }
.ex-loc__in { display: flex; flex-direction: column; gap: 4px; min-height: 0; overflow: hidden; padding: 6px 6px 2px; }
.ex-loc__k { margin-top: 0; font-size: 12px; }
.ex-loc__where { font-size: 14px; line-height: 1.4; }
.ex-loc__go { margin-top: 2px; padding-top: 0; }
@media (max-width: 1079.98px) { .ex-loc__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .ex-locsec .k-head__h { max-width: none; }
  .ex-locsec .k-head__lead { font-size: var(--fs-ui); }
  .ex-loc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
  .ex-loc__media { aspect-ratio: 4 / 3; }
  .ex-loc__body { padding: 6px 10px 10px; }
}
@media (max-width: 559.98px) { .ex-loc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
@media (prefers-reduced-motion: reduce) { .js .ex-loc__more, .ex-loc__ic, .ex-codes__ic { transition: none; } }

.ex-codes__t { display: block; margin: -9px 0; padding: 9px 0; border: 0;  background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ex-codes__ic { width: 12px; height: 12px; transition: transform .45s var(--ease-spring); }
.ex-codes__src { max-width: none; }
.sec.ex-finesec { padding-top: 0; padding-bottom: 0; margin-bottom: 40px; }
@media (max-width: 809.98px) {
  .ex-codesec .k-head__h { max-width: none; }
  .ex-codes__wrap { margin-top: 14px; padding: 2px 16px; }
  .js .ex-codes tbody tr { display: flex; flex-direction: column; align-items: stretch; gap: 3px; position: relative; padding: 10px 26px 10px 0; }
  .js .ex-codes tbody th { display: contents; }
  .js .ex-codes .ex-code, .js .ex-codes .ex-codes__t { order: 1; align-self: flex-start; }
  .js .ex-codes .ex-code { padding: 2px 9px; font-size: 14px; line-height: 1.35; }
  .js .ex-codes tbody td:nth-child(2) { order: 2; padding: 0; font-size: 14.5px; line-height: 1.4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .js .ex-codes .ex-code__s { order: 3; display: none; margin: 4px 0 0; }
  .js .ex-codes tbody td:nth-child(3) { order: 4; display: none; padding: 4px 0 0; font-size: 14.5px; line-height: 1.4; }
  .js .ex-codes tr.is-open td:nth-child(2) { display: block; -webkit-line-clamp: unset; overflow: visible; }
  .js .ex-codes tr.is-open .ex-code__s { display: block; }
  .js .ex-codes tr.is-open td:nth-child(3) { display: block; }
  .js .ex-codes tr.is-open td:nth-child(3)::before { content: "What to do"; display: block; margin-bottom: 2px; color: var(--muted); font-size: var(--fs-label); font-weight: 600; }
  .ex-codes tr.is-enh { cursor: pointer; }
  .ex-codes__ic { position: absolute; right: 4px; top: 16px; }
  .ex-codes tr.is-open .ex-codes__ic { transform: rotate(45deg); }
  .sec.ex-finesec { margin-bottom: 28px; }
}

.p1-why__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px; align-items: stretch; }
.p1-why__fig { position: relative; min-height: 380px; margin: 0; overflow: hidden; border-radius: var(--r-panel-xl); background: var(--steel-50); }
.p1-why__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.p1-why__fig .p1-art--fill { position: absolute; inset: 0; height: 100%; border: 0; border-radius: inherit; }
.p1-art--fill .p1-art__main { left: 50%; top: 50%; width: clamp(140px, 14vw, 192px); height: clamp(140px, 14vw, 192px); }   
.p1-art--fill .p1-art__sub { right: 12%; bottom: 11%; width: clamp(76px, 7vw, 104px); height: clamp(76px, 7vw, 104px); }
.p1-art--fill .p1-art__chip { left: 20px; top: 20px; padding: 8px 15px 8px 12px; font-size: 14px; }
.p1-pts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.p1-pt { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2.2vw, 28px); border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); }
.p1-pt--dark { border-color: transparent; background: var(--dark-band); color: var(--cream); }
.p1-pt__ic { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 8px; border-radius: 16px; background: var(--steel-50); }
.p1-pt__i { width: 38px; height: 38px; }
.p1-pt--dark .p1-pt__ic { background: rgba(255, 255, 255, .12); --ic-line: var(--ic-on-dark-line); --ic-fill: var(--ic-on-dark-fill); --ic-detail: var(--ic-on-dark-accent); --ic-accent: var(--ic-on-dark-accent); }
.p1-pt__t { color: var(--brown); font-size: clamp(20px, 1.7vw, 24px); line-height: 1.15; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.02em; }
.p1-pt--dark .p1-pt__t { color: #fff; }
.p1-pt__x { color: var(--copy); font-size: 15.5px; line-height: 1.5; text-wrap: pretty; }
.p1-pt--dark .p1-pt__x { color: var(--on-dark-muted); }
.p1-pt__a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.p1-pt__a svg { width: 12px; height: 12px; flex: none; transition: transform .35s var(--ease-spring); }
.p1-pt__a:hover svg { transform: translateX(4px); }
@media (max-width: 1099.98px) { .p1-why__grid { grid-template-columns: minmax(0, 1fr); } .p1-why__fig { min-height: 0; aspect-ratio: 16 / 9; } }
@media (max-width: 559.98px) { .p1-pts { grid-template-columns: minmax(0, 1fr); gap: 12px; } .p1-why__fig { aspect-ratio: 4 / 3; border-radius: 19px; } }

.p1-plans__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.p1-plan { display: flex; flex-direction: column; gap: 10px; padding: 14px 14px clamp(22px, 2.4vw, 30px); border: 1px solid var(--line); border-radius: var(--r-panel-xl); background: #fff; box-shadow: var(--shadow-soft); scroll-margin-top: calc(var(--nav-h) + 16px); }
.p1-plan--dark { border-color: transparent; background: var(--dark-band); color: var(--cream); }
.p1-plan__art.p1-art { height: 168px; margin-bottom: 14px; border-radius: 26px; }
.p1-plan__h, .p1-plan__often, .p1-plan__covers, .p1-plan__price { margin-inline: clamp(8px, 1.2vw, 16px); }
.p1-plan__h { color: var(--accent); font-size: clamp(30px, 3vw, 42px); line-height: 1; font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; letter-spacing: -.035em; }
.p1-plan--dark .p1-plan__h { color: #fff; }
.p1-plan__often { margin-top: 6px; color: var(--brown); font-size: 20px; line-height: 1.25; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.01em; }
.p1-plan__covers { color: var(--copy); font-size: 16px; line-height: 1.45; }
.p1-plan--dark .p1-plan__often { color: #fff; }
.p1-plan--dark .p1-plan__covers { color: var(--on-dark-muted); }
.p1-plan__price { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); color: var(--brown); font-size: 16px; font-weight: 560; font-variation-settings: "wdth" 100, "wght" 560; }
.p1-plan--dark .p1-plan__price { border-top-color: rgba(255, 255, 255, .22); color: #fff; }
.p1-plan__pk { color: var(--muted); font-size: 13px; font-weight: 520; text-transform: uppercase; letter-spacing: .04em; }
.p1-plan--dark .p1-plan__pk { color: var(--on-dark-muted); }
.p1-plans__act { margin-top: 28px; }
@media (max-width: 899.98px) {
  .p1-plans__scroll { contain: paint; margin-inline: calc(var(--gutter) * -1); padding: 4px var(--gutter) 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }   
  .p1-plans__scroll::-webkit-scrollbar { display: none; }
  .p1-plans__grid { display: flex; gap: 12px; width: max-content; }
  .p1-plan { flex: 0 0 min(82vw, 340px); scroll-snap-align: start; }
}

.p1-covers__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px clamp(32px, 5vw, 80px); align-items: start; }
.p1-covers .k-head + * { margin-top: 0; }
.p1-covers__panels { display: flex; flex-direction: column; gap: 12px; }
.p1-cv { border: 1px solid rgba(255, 255, 255, .18); border-radius: 19px; background: #3A2163; }   
.p1-cv__s { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; padding: 16px 22px; cursor: pointer; list-style: none; color: #fff; font-size: 20px; line-height: 1.2; font-weight: 500; font-variation-settings: "wdth" 100, "wght" 500; letter-spacing: -.01em; }
.p1-cv__s::-webkit-details-marker { display: none; }
.p1-cv__s:focus-visible { outline: 2px solid #fff; outline-offset: -2px; border-radius: 19px; }
.p1-cv__ic { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: rgba(255, 255, 255, .16); transition: transform .3s ease; }
.p1-cv__ic svg { width: 14px; height: 14px; }
.p1-cv[open] .p1-cv__ic { transform: rotate(45deg); }
.p1-cv__b { margin: 0 8px 8px; padding: 18px 18px 14px; border-radius: 12px; background: #fff; color: var(--brown); }   
.p1-cv:not([open]) .p1-cv__b { display: none; }   
.p1-cv__b .k-check, .p1-cv__b .k-check__t { background: #fff; }   
.p1-cv .smp, .p1-plan--dark .smp, .p1-pt--dark .smp { color: #F3F2EF; }
.p1-cv__b .smp { color: var(--steel-700); }
@media (max-width: 999.98px) { .p1-covers__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559.98px) { .p1-cv__s { padding: 14px 16px; font-size: 18px; } .p1-cv__b { margin: 0 6px 6px; padding: 14px 14px 10px; } }

.p1-who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.p1-who__c { display: flex; flex-direction: column; gap: 10px; padding: 14px 14px clamp(22px, 2.4vw, 30px); border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-soft); }
.p1-who__art .p1-art { height: 150px; margin-bottom: 14px; border-radius: 12px; }
.p1-who__c .p1-pt__t, .p1-who__c .p1-pt__x { padding-inline: 12px; }
@media (max-width: 899.98px) { .p1-who { grid-template-columns: minmax(0, 1fr); gap: 12px; } .p1-who__art .p1-art { height: 132px; } }



:root {
  --util-h: 0px;                                    
  --bar-h: 94px; --bar-gap: 17px;                   
  --bar-hc: 72px;                                   
  --logo-h: 72px; --logo-hc: 52px;                  
  --card-top: calc(var(--util-h) + 8px);            
  --nav-h: calc(var(--util-h) + var(--bar-gap) + var(--bar-h));
  --nav-h-compact: calc(var(--util-h) + 10px + var(--bar-hc));
}
@media (max-width: 1279.98px) {
  :root { --util-h: 0px; --bar-h: 80px; --bar-hc: 68px; --logo-h: 60px; --logo-hc: 48px; --card-top: var(--inset); --bar-gap: calc(var(--inset) + 8px); --nav-h-compact: calc(10px + var(--bar-hc)); }
}
@media (max-width: 809.98px) { :root { --bar-h: 72px; --bar-hc: 68px; --logo-h: 52px; --logo-hc: 48px; } }
body { background: var(--canvas); }
main { margin-top: var(--nav-h); }
body:has(.hm-hero) main { margin-top: var(--card-top); }

.nav__bar { height: calc(var(--util-h) + var(--bar-gap) + var(--bar-h)); background: linear-gradient(to bottom, var(--canvas) calc(var(--util-h) + 12px), transparent calc(var(--util-h) + 12px)); border: 0; pointer-events: none; }
.nav.is-compact .nav__bar { height: var(--nav-h-compact); background: linear-gradient(to bottom, var(--canvas) calc(var(--util-h) + 8px), transparent calc(var(--util-h) + 8px)); }

.nav .menu.is-open { pointer-events: auto; }
.nav .nav__in { position: relative; isolation: isolate; pointer-events: auto; flex: none; width: 100%; max-width: none; height: var(--bar-h); margin: var(--bar-gap) 0 0; padding: 0 calc(var(--inset) + 9px + 22px) 0 calc(var(--inset) + 9px + 22px); gap: 22px; transition: height .25s ease, margin .25s ease; }
.nav .nav__in::before { content: ""; position: absolute; z-index: -1; inset: 0 calc(var(--inset) + 9px); border: 1px solid rgba(255, 255, 255, .75); border-radius: 19px;
  background: rgba(246, 245, 250, .88); -webkit-backdrop-filter: blur(16px) saturate(1.25); backdrop-filter: blur(16px) saturate(1.25); transition: background-color .3s ease, border-color .3s ease; }
.nav.is-compact .nav__in { height: var(--bar-hc); margin-top: 10px; }
.nav__logo { color: var(--logo); }
.nav__links { justify-content: center; }
.nav__link { color: var(--brown); font-weight: 480; font-variation-settings: "wdth" 100, "wght" 480; }
.nav__link::after { bottom: 9px; height: 1.5px; }
.nav__btns { margin-left: 0; }   
.nav__tel { display: none; align-items: center; justify-content: center; gap: 8px; min-height: 44px; color: var(--brown); font-size: 15px; line-height: 1.2; font-weight: 600; font-variation-settings: "wdth" 100, "wght" 600; white-space: nowrap; }
.nav__tel svg { width: 17px; height: 17px; flex: none; color: var(--accent); }
.nav__tel:hover span { text-decoration: underline; text-underline-offset: 3px; }
.nav--dark .nav__tel { color: var(--cream); }
.nav--dark .nav__tel svg { color: var(--brand-yellow); }

@media (min-width: 1280px) {
  .nav__tel { display: inline-flex; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
  .nav__tel span { display: none; }
  .nav .nav__in { gap: 14px; } .nav__btns { gap: 10px; }
  .nav__link { padding: 0 7px; font-size: 14px; } .nav__link::after { left: 7px; right: 7px; }
  .nav--dark .nav__tel { border-color: rgba(255, 255, 255, .28); background: transparent; }
}
@media (min-width: 1360px) { .nav__link { font-size: 15px; } }
@media (min-width: 1440px) {
  .nav__tel { width: auto; padding: 0 4px; border: 0; background: none; }
  .nav__tel span { display: inline; }
  .nav--dark .nav__tel { border: 0; }
  .nav__btns { gap: 14px; }
}
.nav__price.btn--price { --pl: 18px; background: #fff; color: var(--brown); border: 1px solid var(--line); }
.nav__price.btn--price:hover { background: #fff; border-color: var(--steel-200); }
.nav__price .btn__ic { background: var(--chip-arrow); color: var(--brown); }
.dd { border-radius: 19px; margin-top: 9px; }

.nav--dark .nav__in::before { background: rgba(26, 11, 51, .9); border-color: rgba(255, 255, 255, .14); }
.nav--dark .nav__logo, .nav--dark .nav__link { color: var(--cream); }
.nav--dark .nav__link::after { background: var(--cream); }
.nav--dark .open--head { background: rgba(255, 255, 255, .92); }

@media (max-width: 1279.98px) {
  .nav .nav__in { gap: 10px; padding: 0 calc(var(--inset) + 9px + 16px) 0 calc(var(--inset) + 9px + 16px); }
  .nav__btns { margin-left: auto; }   
  .nav__callbtn { background: #fff; border: 1px solid var(--line); }
  .burger.menu-btn, .mbar__menu.menu-btn { border: 0; border-radius: 12px; background: var(--brown); color: var(--cream); }
  .nav--dark .burger.menu-btn { background: rgba(255, 255, 255, .16); }
  .menu { background: var(--canvas); }
  .nav__demo { background: #fff; border: 1px solid var(--line); }
}
@media (max-width: 809.98px) {
  .nav .nav__in { padding: 0 calc(var(--inset) + 6px + 16px) 0 calc(var(--inset) + 6px + 16px); }
  .nav .nav__in::before { inset: 0 calc(var(--inset) + 6px); }
  .nav:not(.is-compact) .nav__in::before { background: transparent; border-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .nav--dark:not(.is-compact) .nav__in::before { background: transparent; }
}

@media (max-width: 359.98px) {
  :root { --logo-h: 44px; --logo-hc: 40px; }
  .nav .nav__in { gap: 6px; padding: 0 calc(var(--inset) + 6px + 10px); }
  .open--head[data-state="closed"] { gap: 4px; padding: 5px 7px 5px 6px; }
  .open--head[data-state="closed"] .open__t { font-size: 11px; }
}

:where(.btn--price, .hm-pill, .hm-call, .hm-fl) { --bh: 44px; --pl: 20px; --btn-gap: 14px; }
.btn--price, .hm-pill, .hm-call, .hm-fl { box-sizing: border-box; min-height: var(--bh); gap: var(--btn-gap); padding: calc(var(--btn-in) - 1px) calc(var(--btn-in) - 1px) calc(var(--btn-in) - 1px) var(--pl); border-radius: var(--btn-r); }
.btn__ic, .hm-pill__ic, .hm-call__ic, .hm-fl__ic { width: calc(var(--bh) - var(--btn-in) * 2); height: calc(var(--bh) - var(--btn-in) * 2); border-radius: var(--chip-r); }
.btn__ic svg, .hm-pill__ic svg, .hm-fl__ic svg { width: 13px; height: 13px; }

.btn--price:hover .btn__ic, .hm-pill:hover .hm-pill__ic, .hm-fl:hover .hm-fl__ic { transform: none; }
.btn__ic svg, .hm-pill__ic svg, .hm-fl__ic svg { transition: transform .35s var(--ease-spring); }
.btn--price:hover .btn__ic svg, .hm-pill:hover .hm-pill__ic svg, .hm-fl:hover .hm-fl__ic svg { transform: translateX(2px); }
@media (prefers-reduced-motion: reduce) { .btn__ic svg, .hm-pill__ic svg, .hm-fl__ic svg { transition: none; } }

.menu__price { --bh: 52px; --pl: 22px; }
.btn--light { box-shadow: inset 0 0 0 1.5px var(--brown); }
.sec--dark .btn--price, .on-dark .btn--price { background: var(--brand-yellow); color: var(--brown); }
.sec--dark .btn--price .btn__ic, .on-dark .btn--price .btn__ic { background: #fff; }
.chip { background: var(--steel-100); }

@media (max-width: 809.98px) {
  .mbar { left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); padding: 8px; gap: 8px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--lift); }
  .mbar__call { background: var(--steel-100); }
  .mbar__price { --bh: 48px; --pl: 18px; }
  .mbar__menu { border-radius: 14px; }
}

.cta.band { position: relative; z-index: 2; margin-top: calc(var(--r-panel-xl) * -1); padding: clamp(72px, 9vw, 120px) 0 clamp(110px, 12vw, 168px); border-radius: var(--r-panel-xl) var(--r-panel-xl) 0 0; overflow: hidden; background: var(--dark-band); color: var(--cream); }
.cta.band::before { content: ""; position: absolute; left: 50%; top: -30%; width: min(1100px, 120%); height: 80%; translate: -50% 0; background: radial-gradient(closest-side, rgba(106, 31, 173, .5), rgba(106, 31, 173, 0)); pointer-events: none; }
.cta.band .band__in { position: relative; }
.cta.band .band__h { color: #fff; font-size: clamp(38px, 4.8vw, 68px); line-height: 1; font-variation-settings: "wdth" 100, "wght" 450; letter-spacing: -.04em; }
.cta.band .band__lead { color: var(--on-dark-muted); font-size: 19px; }
.cta.band .band__form { border: 1px solid rgba(255, 255, 255, .5); border-radius: 29px; box-shadow: 0 34px 70px -34px rgba(0, 0, 0, .65); }

.cta.band.band--stmt.band--l .band__h { max-width: 7em; font-size: clamp(54px, 7.4vw, 108px); }
.cta.band.band--stmt.band--m .band__h { max-width: 9em; font-size: clamp(46px, 5.6vw, 84px); }
.cta.band.band--stmt .band__kicker { margin: 0; color: var(--on-dark-muted); font-size: 16px; font-weight: 600; }
.cta.band.band--stmt .band__call { margin: 0; max-width: 46ch; color: var(--on-dark-muted); font-size: 16px; }

.cta.band .band__in { z-index: 1; }
.cta.band.band--stmt::after { content: ""; position: absolute; z-index: 0; right: -10%; top: 6%; width: min(980px, 82%); height: 96%; background: radial-gradient(closest-side, rgba(150, 96, 220, .46), rgba(106, 31, 173, .18) 55%, rgba(106, 31, 173, 0)); pointer-events: none; }
.cta.band.band--stmt.band--solo .band__lead { max-width: 34ch; }
.cta.band.band--stmt.band--solo .band__grid { grid-template-columns: minmax(0, 1fr); }
.cta.band.band--stmt.band--solo .band__h { max-width: 9em; }

.cta.band.band--stmt.band--samehead .pk--band .pk__step--tiles .pk__legend { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.cta.band.band--stmt .band__badges { position: relative; z-index: 1; grid-column: 1 / -1; margin-top: clamp(8px, 2vw, 28px); padding-top: clamp(26px, 3vw, 38px); border-top: 1px solid rgba(255, 255, 255, .16); }
.cta.band.band--stmt .band__badges .k-badges { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 28px; max-width: none; }
.cta.band.band--stmt .k-badges--photo .k-badges__em { width: 60px; height: 60px; }
@media (max-width: 1119.98px) { .cta.band.band--stmt .band__badges .k-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
  .cta.band.band--stmt.band--l .band__h { font-size: clamp(46px, 14.4vw, 84px); }
  .cta.band.band--stmt.band--m .band__h { font-size: clamp(40px, 11.6vw, 66px); }
  .cta.band.band--stmt .k-badges--photo .k-badges__em { width: 52px; height: 52px; }
}
@media (max-width: 479.98px) { .cta.band.band--stmt .band__badges .k-badges { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 809.98px) { .cta.band .band__form { border-radius: 24px; } }

.foot { position: relative; z-index: 3; margin-top: calc(var(--r-panel-xl) * -1); padding-top: 96px; border-radius: var(--r-panel-xl) var(--r-panel-xl) 0 0; background: var(--night); }
.foot__col h2, .foot__offices h2 { color: var(--on-dark-muted); }
@media (max-width: 809.98px) { .foot { padding-top: 72px; } }

.nav__logo .logo--stack { display: block; height: var(--logo-h); transition: height .25s ease; }
.nav.is-compact .nav__logo .logo--stack { height: var(--logo-hc); }
.nav__logo .logo--ond { display: none; }
.nav--dark .nav__logo .logo--onl { display: none !important; }
.nav--dark .nav__logo .logo--ond.logo--stack { display: block; }

.foot__col li a { display: inline-block; min-width: 44px; }

main:not(:has(.cta.band)) { padding-bottom: 48px; }

main > section ~ section, main > .sec ~ .sec { content-visibility: auto; contain-intrinsic-size: auto 700px; }
body > footer, .site-footer { content-visibility: auto; contain-intrinsic-size: auto 1480px; }
@media (min-width: 768px) { body > footer, .site-footer { contain-intrinsic-size: auto 1860px; } }
@media (min-width: 810px) { body > footer, .site-footer { contain-intrinsic-size: auto 1810px; } }
@media (min-width: 1024px) { body > footer, .site-footer { contain-intrinsic-size: auto 1440px; } }
@media (min-width: 1280px) { body > footer, .site-footer { contain-intrinsic-size: auto 1050px; } }
