/* Kitchen Respray Components: generated from the prototype by build-plugin.mjs. Do not edit. */
body { padding-bottom: var(--sticky-h, 0px); }
.kr { display: block; }
html .kr :where(button) { padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font: inherit; line-height: inherit; letter-spacing: inherit; text-transform: none; color: inherit; vertical-align: middle; min-height: 0; text-shadow: none; }
html .kr :where(button:hover, button:focus, button:active) { background-color: transparent; color: inherit; border-color: transparent; box-shadow: none; }
html .kr :where(a:hover, a:focus) { color: inherit; }
html .kr :where(input, select, textarea) { box-shadow: none; }
.kr{
  
  --ink: #00212c;
  --ink-2: #0b3542;
  --ink-deep: #001820;
  --text: #1f2d33;
  --muted: #56656b;
  --paper: #f6f9f8;
  --paper-2: #ebf2ef;
  --sand: #dfe8e4;
  --line: #dbe5e1;
  --line-strong: #b4c6bf;
  --white: #fff;
  --brass: #b7f900;          
  --brass-hover: #a5e000;
  --brass-ink: #2a7442;      
  --brass-soft: #e7f5ec;
  --mint: #7cc68d;           
  --gold: #b07a00;           
  --success: #2a7442;
  --success-soft: #e3f3e8;
  --error: #a3362b;
  --error-soft: #fbeceb;

  --serif: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif;
  --sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --radius: 10px;
  --radius-sm: 6px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(0, 33, 44, .06), 0 2px 8px rgba(0, 33, 44, .05);
  --shadow: 0 2px 6px rgba(0, 33, 44, .05), 0 12px 32px rgba(0, 33, 44, .08);
  --shadow-lg: 0 24px 64px rgba(0, 33, 44, .18);
  --ease: cubic-bezier(.2, .7, .2, 1);
  --gutter: clamp(16px, 4vw, 32px);
  --header-h: 72px;
  --sticky-h: 0px;
}
.kr, .kr *, .kr *::before, .kr *::after{ box-sizing: border-box; }
@media (prefers-reduced-motion: reduce){.kr, .kr *, .kr *::before, .kr *::after{ animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.kr{ margin: 0; font: 400 1rem/1.65 var(--sans); color: var(--text); background: var(--paper); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;  }
.kr img{ max-width: 100%; height: auto; display: block; }
.kr a{ color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr button, .kr input, .kr select, .kr textarea{ font: inherit; color: inherit; }
.kr button{ cursor: pointer; }
.kr h1, .kr h2, .kr h3, .kr h4{ margin: 0 0 .5em; color: var(--ink); line-height: 1.12; }
.kr h1, .kr h2{ font-family: var(--serif); font-weight: 600; letter-spacing: -.01em; }
.kr h1, .kr h2, .kr .h2, .kr .step-num, .kr .trust-num, .kr .cal-month, .kr .contact-big, .kr .ba-title, .kr .review-card blockquote p{ font-variant-numeric: lining-nums; }
.kr h1{ font-size: clamp(2.5rem, 6.2vw, 4.6rem); }
.kr h2, .kr .h2{ font-size: clamp(2rem, 4.2vw, 3.1rem); }
.kr h3, .kr .h3{ font-family: var(--sans); font-size: 1.15rem; font-weight: 700; letter-spacing: -.005em; }
.kr p{ margin: 0 0 1em; }
.kr ul, .kr ol{ margin: 0; padding: 0; list-style: none; }
.kr address{ font-style: normal; }
.kr :focus-visible{ outline: 3px solid var(--brass-ink); outline-offset: 3px; border-radius: 4px; }
.kr main:focus{ outline: none; }
.kr ::selection{ background: var(--brass); color: var(--ink); }
.kr .container{ width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: var(--gutter); }
.kr .container-narrow{ max-width: 860px; }
.kr .section{ padding-block: clamp(64px, 9vw, 120px); }
.kr .section-tight{ padding-block: clamp(40px, 6vw, 72px); }
.kr .section-alt{ background: var(--paper-2); }
.kr .section-head{ margin-bottom: clamp(32px, 4vw, 56px); max-width: 720px; }
.kr .section-head h2{ margin-bottom: 0; }
.kr .section-head-center{ text-align: center; margin-inline: auto; }
.kr .section-head-split{ max-width: none; display: grid; gap: 16px 64px; align-items: end; }
@media (min-width: 900px){.kr .section-head-split{ grid-template-columns: 1.2fr 1fr; }
}
.kr .section-lede, .kr .lede{ color: var(--muted); font-size: 1.08rem; margin: 0; max-width: 56ch; }
.kr .section-foot{ margin-top: 40px; text-align: center; }
.kr .eyebrow{ font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-ink); margin-bottom: 14px; display: flex; align-items: center; gap: 12px; }
.kr .eyebrow::before{ content: ''; width: 28px; height: 1px; background: currentColor; }
.kr .section-head-center .eyebrow{ justify-content: center; }
.kr .eyebrow-light{ color: var(--mint); }
.kr .split{ display: grid; gap: clamp(32px, 6vw, 80px); align-items: center; }
@media (min-width: 900px){.kr .split{ grid-template-columns: 1fr 1fr; }
.kr .split-wide{ grid-template-columns: 1fr 1.1fr; align-items: start; }
}
.kr .split-media img{ border-radius: var(--radius); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.kr .split-media{ margin: 0; }
.kr .prose{ max-width: 760px; }
.kr .mt-l{ margin-top: 40px; }
.kr .icon{ width: 22px; height: 22px; flex: none; }
.kr .icon-sm{ width: 18px; height: 18px; }
.kr .flip{ transform: scaleX(-1); }
.kr .rot90{ transform: rotate(90deg); }
.kr .rot-90{ transform: rotate(-90deg); }
.kr .btn{ --h: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--h); padding: 0 24px; border: 1.5px solid transparent; border-radius: var(--radius-sm); font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; line-height: 1.2; text-align: center; transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease); -webkit-tap-highlight-color: transparent; position: relative; }
.kr .btn:active{ transform: translateY(1px); }
.kr .btn-sm{ --h: 42px; padding: 0 16px; font-size: .74rem; }
.kr .btn-lg{ --h: 56px; padding: 0 30px; font-size: .86rem; }
.kr .btn-block{ width: 100%; }
.kr .btn-primary{ background: var(--brass); color: var(--ink); }
.kr .btn-primary:hover{ background: var(--brass-hover); box-shadow: 0 6px 18px rgba(183, 249, 0, .35); }
.kr .btn-secondary{ background: transparent; color: var(--ink); border-color: var(--ink); }
.kr .btn-secondary:hover{ background: var(--ink); color: var(--white); }
.kr .btn-outline-light{ color: var(--white); border-color: rgba(255, 255, 255, .55); }
.kr .btn-outline-light:hover{ background: var(--white); color: var(--ink); border-color: var(--white); }
.kr .btn-ghost{ background: transparent; color: var(--ink); padding-inline: 12px; }
.kr .btn-ghost:hover{ background: var(--paper-2); }
.kr .btn-quiet{ background: var(--paper-2); color: var(--ink); }
.kr .btn-quiet:hover{ background: var(--ink); color: var(--white); }
.kr .btn[disabled], .kr .btn[aria-disabled="true"]{ opacity: .5; pointer-events: none; }
.kr .btn-row{ display: flex; flex-wrap: wrap; gap: 12px; }
.kr .btn-row-center{ justify-content: center; }
.kr .btn-stack{ display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 28px; }
.kr .link-arrow{ display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .9rem; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line-strong); padding-bottom: 3px; transition: gap .2s var(--ease), border-color .2s; }
.kr .link-arrow:hover{ gap: 12px; border-color: var(--ink); }
.kr .dark .link-arrow, .kr .link-arrow.on-dark{ color: var(--white); }
.kr .skip-link{ position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--ink); color: var(--white); padding: 12px 18px; border-radius: var(--radius-sm); transition: top .2s; }
.kr .skip-link:focus{ top: 12px; }
.kr .site-header{ position: sticky; top: 0; z-index: 50; background: rgba(250, 247, 242, .96); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); transition: box-shadow .3s; }
body.nav-open .kr .site-header{ backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--paper); }
.kr .site-header.is-scrolled{ box-shadow: 0 1px 0 var(--line), 0 6px 24px rgba(0, 33, 44, .06); }
.kr .utility{ background: var(--ink); color: rgba(255, 255, 255, .78); font-size: .8rem; display: none; }
.kr .utility-inner{ display: flex; justify-content: space-between; align-items: center; min-height: 38px; gap: 16px; }
.kr .utility p{ margin: 0; }
.kr .utility-links{ display: flex; gap: 24px; }
.kr .utility a{ display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: var(--white); font-weight: 600; }
.kr .utility a:hover{ color: var(--brass); }
.kr .utility .icon-sm{ width: 15px; height: 15px; }
@media (min-width: 900px){.kr .utility{ display: block; }
}
.kr .header-inner{ display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: var(--header-h); }
.kr .brand{ display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); flex: none; }
.kr .brand-mark{ width: 42px; height: 42px; border-radius: 50%; background: var(--ink); color: var(--brass); display: grid; place-items: center; font: 600 1.05rem/1 var(--serif); letter-spacing: .04em; }
.kr .brand-text{ display: flex; flex-direction: column; line-height: 1.05; }
.kr .brand-name{ font: 600 1.45rem/1 var(--serif); letter-spacing: -.005em; }
.kr .brand-sub{ font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-top: 5px; }
.kr .brand-light{ color: var(--white); }
.kr .brand-logo{ display: block; background: var(--ink); border-radius: var(--radius-sm); padding: 2px 10px; }
.kr .brand-logo img{ height: 44px; width: auto; }
@media (min-width: 900px){.kr .brand-logo img{ height: 58px; }
.kr .brand-logo{ padding: 0 12px; }
}
.kr .brand-sub-side{ margin: 0; padding-left: 12px; border-left: 1px solid var(--line-strong); line-height: 1.5; }
@media (max-width: 379px){.kr .brand-sub-side{ display: none; }
.kr .brand-logo img{ height: 40px; }
}
.kr .footer-logo{ height: 72px; width: auto; }
.kr .brand-light .brand-mark{ background: var(--brass); color: var(--ink); }
.kr .brand-light .brand-sub{ color: rgba(255, 255, 255, .6); }
.kr .nav-link{ display: inline-flex; align-items: center; gap: 4px; padding: 10px 12px; font-size: .92rem; font-weight: 600; color: var(--ink); text-decoration: none; background: none; border: 0; border-radius: var(--radius-sm); }
.kr .nav-link:hover, .kr .nav-link[aria-current="page"], .kr .nav-toggle[aria-expanded="true"]{ color: var(--brass-ink); }
.kr .nav-toggle .icon-sm{ width: 15px; height: 15px; transition: transform .25s var(--ease); }
.kr .nav-toggle[aria-expanded="true"] .icon-sm{ transform: rotate(180deg); }
.kr .header-actions{ display: flex; align-items: center; gap: 8px; }
.kr .menu-button{ width: 46px; height: 46px; display: grid; place-items: center; border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); }
.kr .menu-button[aria-expanded="true"]{ background: var(--ink); color: var(--white); border-color: var(--ink); }
.kr .header-minimal-actions .show-sm{ display: none; }
.kr .primary-nav{ position: fixed; inset: var(--nav-top, 72px) 0 0 0; background: var(--paper); overflow-y: auto; padding: 8px var(--gutter) calc(32px + env(safe-area-inset-bottom)); visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s .25s; border-top: 1px solid var(--line); }
body.nav-open .kr .primary-nav{ visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
body.nav-open{ overflow: hidden; }
.kr .nav-list > li{ border-bottom: 1px solid var(--line); }
.kr .nav-list .nav-link{ width: 100%; justify-content: space-between; padding: 18px 4px; font-size: 1.12rem; }
.kr .menu{ display: none; padding: 0 0 16px; }
.kr .has-menu.is-open .menu{ display: block; }
.kr .menu a{ display: block; padding: 10px 4px; text-decoration: none; }
.kr .menu a strong{ display: block; color: var(--ink); font-weight: 600; }
.kr .menu a span{ display: none; }
.kr .menu a:hover strong{ color: var(--brass-ink); }
.kr .menu-foot{ display: inline-flex !important; align-items: center; gap: 6px; font-weight: 700; font-size: .88rem; color: var(--brass-ink); }
.kr .nav-mobile-ctas{ display: grid; gap: 12px; margin-top: 28px; }
.kr .nav-mobile-phone{ display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; font-weight: 700; text-decoration: none; color: var(--ink); }
.kr .header-actions .btn{ display: none; }
@media (min-width: 480px){.kr .header-actions .btn{ display: inline-flex; }
}
@media (min-width: 1140px){.kr .menu-button, .kr .nav-mobile-ctas{ display: none; }
.kr .primary-nav{ position: static; visibility: visible; opacity: 1; transform: none; background: none; padding: 0; overflow: visible; border: 0; }
.kr .nav-list{ display: flex; align-items: center; gap: 2px; }
.kr .nav-list > li{ border: 0; position: relative; }
.kr .nav-list .nav-link{ width: auto; padding: 10px 11px; font-size: .9rem; }
.kr .menu{ display: block; position: absolute; top: calc(100% + 10px); left: 50%; width: 360px; padding: 10px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transform: translate(-50%, 6px); transition: opacity .2s var(--ease), transform .2s var(--ease), visibility 0s .2s; }
.kr .menu::before{ content: ''; position: absolute; inset: -12px 0 auto; height: 12px; }
.kr .has-menu.is-open .menu{ opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.kr .menu a{ padding: 12px 14px; border-radius: var(--radius-sm); }
.kr .menu a:hover, .kr .menu a:focus-visible{ background: var(--paper); }
.kr .menu a span{ display: block; font-size: .82rem; color: var(--muted); line-height: 1.45; margin-top: 2px; }
.kr .menu-foot{ margin: 6px 14px 6px; }
body.nav-open{ overflow: auto; }
}
.kr .sticky-cta{ position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1.3fr 1fr; gap: 10px; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); box-shadow: 0 -1px 0 var(--line), 0 -8px 24px rgba(0, 33, 44, .08); transform: translateY(110%); transition: transform .3s var(--ease); }
.kr .sticky-cta .btn{ --h: 48px; padding: 0 12px; font-size: .76rem; }
.kr .sticky-cta.is-visible{ transform: none; }
body.nav-open .kr .sticky-cta{ transform: translateY(110%); }
@media (min-width: 768px){.kr .sticky-cta{ display: none; }
}
.kr .hero{ position: relative; color: var(--white); background: var(--ink-deep); isolation: isolate; overflow: hidden; }
.kr .hero-media{ position: absolute; inset: 0; z-index: -1; }
.kr .hero-media{ overflow: hidden; }
.kr .hero-media img{ width: 100%; height: 100%; object-fit: cover; object-position: 70% 28%; scale: 1.5; transform-origin: 30% 25%; animation: heroIn 1.6s var(--ease) both; }
.kr .hero-media::after{ content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 33, 44, .45) 0%, rgba(0, 33, 44, .7) 45%, rgba(0, 33, 44, .92) 100%); }
@keyframes heroIn{ from { transform: scale(1.04); } to { transform: none; } }
.kr .hero-inner{ min-height: clamp(560px, 84vh, 800px); display: flex; align-items: flex-end; padding-block: 120px 56px; }
.kr .hero-copy{ max-width: 660px; animation: nudge .9s var(--ease) both; }
@keyframes nudge{ from { transform: translateY(14px); } to { transform: none; } }
.kr .hero h1{ color: var(--white); margin-bottom: 20px; }
.kr .hero-lede{ font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: rgba(255, 255, 255, .86); max-width: 52ch; margin-bottom: 32px; }
.kr .hero-note{ display: flex; align-items: center; gap: 8px; margin: 22px 0 0; font-size: .9rem; color: rgba(255, 255, 255, .78); }
.kr .hero-note .icon-sm{ color: var(--mint); }
@keyframes rise{ from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (min-width: 900px){.kr .hero-media::after{ background: linear-gradient(90deg, rgba(0, 33, 44, .92) 0%, rgba(0, 33, 44, .74) 38%, rgba(0, 33, 44, .15) 75%, rgba(0, 33, 44, .05) 100%); }
.kr .hero-inner{ align-items: center; padding-block: 96px; }
}
@media (max-width: 479px){.kr .hero .btn-row .btn{ width: 100%; }
}
.kr .trust{ background: var(--white); border-bottom: 1px solid var(--line); }
.kr .trust-list{ display: grid; grid-template-columns: repeat(2, 1fr); }
.kr .trust-list li{ display: flex; align-items: center; gap: 12px; padding: 20px 8px; font-size: .88rem; font-weight: 600; color: var(--ink); line-height: 1.35; }
.kr .trust-list li + li{ border-left: 0; }
.kr .trust-icon{ flex: none; color: var(--brass-ink); display: grid; place-items: center; min-width: 28px; }
.kr .trust-num{ font: 700 1.3rem/1 var(--sans); letter-spacing: -.02em; color: var(--brass-ink); }
.kr .stars{ display: inline-flex; gap: 2px; color: var(--gold); }
.kr .stars .icon{ width: 16px; height: 16px; }
@media (max-width: 899px){.kr .trust-list li{ flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px 4px; font-size: .84rem; }
.kr .trust-icon{ min-width: 0; min-height: 26px; }
.kr .trust-list li:nth-child(n+3){ border-top: 1px solid var(--line); }
.kr .trust-list li:nth-child(even){ padding-left: 16px; border-left: 1px solid var(--line); }
}
@media (min-width: 900px){.kr .trust-list{ grid-template-columns: repeat(4, 1fr); }
.kr .trust-list li{ justify-content: center; padding: 26px 16px; }
.kr .trust-list li + li{ border-left: 1px solid var(--line); }
}
.kr .ba-layout{ display: grid; gap: 32px; align-items: center; }
@media (min-width: 960px){.kr .ba-layout{ grid-template-columns: 1.7fr 1fr; gap: 56px; }
}
.kr .ba-frame{ position: relative; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--radius); background: var(--sand); box-shadow: var(--shadow); touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: ew-resize; --pos: 50%; }
.kr .ba-frame img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.kr .ba-before-wrap{ position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.kr .ba-handle{ position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: var(--white); box-shadow: 0 0 12px rgba(0, 0, 0, .25); pointer-events: none; }
.kr .ba-handle span{ position: absolute; top: 50%; left: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: var(--white); color: var(--ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0, 0, 0, .25); transition: transform .2s var(--ease); }
.kr .ba-handle .ba-l{ transform: rotate(90deg); margin-right: -4px; }
.kr .ba-handle .ba-r{ transform: rotate(-90deg); margin-left: -4px; }
.kr .ba-frame.is-dragging .ba-handle span{ transform: scale(1.08); }
.kr .ba-range{ position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; pointer-events: none; }
.kr .ba-frame:has(.ba-range:focus-visible) .ba-handle span{ outline: 3px solid var(--brass); outline-offset: 3px; }
.kr .ba-label{ position: absolute; top: 16px; padding: 6px 12px; border-radius: 999px; background: rgba(0, 33, 44, .72); color: var(--white); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; pointer-events: none; backdrop-filter: blur(4px); }
.kr .ba-label-before{ left: 16px; }
.kr .ba-label-after{ right: 16px; background: rgba(183, 249, 0, .92); color: var(--ink); }
.kr .ba-meta .ba-type{ font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-ink); margin-bottom: 8px; }
.kr .ba-title{ font: 600 clamp(1.8rem, 3vw, 2.4rem)/1.1 var(--serif); margin-bottom: 12px; }
.kr .ba-loc{ display: flex; align-items: center; gap: 6px; color: var(--muted); font-weight: 600; }
.kr .ba-meta > p:not([class]){ color: var(--muted); }
.kr .ba-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.kr .ba-tabs button{ border: 1.5px solid var(--line-strong); background: var(--white); border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: .88rem; }
.kr .ba-tabs button[aria-selected="true"]{ background: var(--ink); color: var(--white); border-color: var(--ink); }
.kr .services{ background: var(--paper-2); }
.kr .service-grid{ display: grid; gap: 20px; }
@media (min-width: 640px){.kr .service-grid{ grid-template-columns: repeat(2, 1fr); }
.kr .service-grid.is-five .is-feature{ grid-column: span 2; }
}
@media (min-width: 1024px){.kr .service-grid{ grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kr .service-grid.is-five .is-feature{ grid-column: span 2; }
}
.kr .service-card{ display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.kr .service-card:hover{ box-shadow: var(--shadow); transform: translateY(-3px); }
.kr .service-media{ display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sand); }
.kr .is-feature .service-media{ aspect-ratio: 16 / 9; }
@media (min-width: 640px) and (max-width: 1023px){.kr .is-feature .service-media{ aspect-ratio: 21 / 9; }
}
@media (min-width: 1024px){.kr .is-feature .service-media{ aspect-ratio: auto; height: 300px; }
.kr .service-grid.is-five .service-card:not(.is-feature) .service-media{ aspect-ratio: auto; height: 300px; }
.kr .service-grid.is-five li:nth-child(n+3) .service-media{ height: 220px; }
}
.kr .service-media img{ width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); scale: 1.3; transform-origin: 50% 30%; }
.kr .service-card:hover .service-media img{ transform: scale(1.04); }
.kr .service-body{ padding: 24px 24px 22px; display: flex; flex-direction: column; flex: 1; }
.kr .service-body h3{ font: 600 1.7rem/1.1 var(--serif); margin-bottom: 8px; }
.kr .service-body h3 a{ text-decoration: none; }
.kr .service-body h3 a:hover{ color: var(--brass-ink); }
.kr .service-body p{ color: var(--muted); font-size: .96rem; flex: 1; }
.kr .service-actions{ display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.kr .nationwide{ background: var(--ink); color: rgba(255, 255, 255, .82); padding-block: clamp(64px, 9vw, 112px) clamp(32px, 5vw, 64px); overflow: hidden; }
.kr .nationwide h2{ color: var(--white); }
.kr .nationwide-top{ display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px){.kr .nationwide-top{ grid-template-columns: 1.15fr .85fr; gap: 64px; }
}
.kr .nationwide-copy > p{ font-size: 1.06rem; max-width: 52ch; }
.kr .nw-points{ display: grid; gap: 10px; margin: 24px 0 32px; }
.kr .nw-points li{ display: flex; gap: 10px; align-items: center; color: var(--white); font-weight: 600; }
.kr .nw-points .icon-sm{ color: var(--brass); }
.kr .fleet-crop{ position: relative; margin: 0; width: 100%; max-width: min(420px, 78vw); justify-self: center; aspect-ratio: 450 / 600; overflow: hidden; }
.kr .fleet-crop img{ position: absolute; max-width: none; width: 355.6%; height: auto; left: 0; top: -15.67%; }
@media (min-width: 900px){.kr .fleet-crop{ justify-self: end; }
}
.kr .nw-banner{ width: 100%; height: auto; margin-top: clamp(40px, 6vw, 72px); }
.kr .compare{ display: grid; gap: 20px; max-width: 1040px; margin-inline: auto; }
@media (min-width: 860px){.kr .compare{ grid-template-columns: 1fr 1.08fr; align-items: center; gap: 0; }
}
.kr .compare-col{ border-radius: var(--radius-lg); padding: clamp(28px, 4vw, 48px); }
.kr .compare-col h3{ font: 600 1.9rem/1.1 var(--serif); margin-bottom: 24px; }
.kr .compare-col li{ display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--line); }
.kr .compare-col li .icon-sm{ margin-top: 3px; }
.kr .compare-replace{ background: var(--paper-2); color: var(--muted); }
.kr .compare-replace h3{ color: var(--ink-2); }
.kr .compare-replace .icon-sm{ color: #9a6b62; }
@media (min-width: 860px){.kr .compare-replace{ border-radius: var(--radius-lg) 0 0 var(--radius-lg); padding-right: 64px; }
}
.kr .compare-respray{ background: var(--ink); color: rgba(255, 255, 255, .88); box-shadow: var(--shadow-lg); position: relative; }
.kr .compare-respray h3{ color: var(--white); }
.kr .compare-respray li{ border-color: rgba(255, 255, 255, .14); }
.kr .compare-respray .icon-sm{ color: var(--brass); }
.kr .compare-respray .btn{ margin-top: 28px; }
@media (min-width: 860px){.kr .compare-respray{ margin-left: -24px; padding-block: 64px; }
}
.kr .compare-badge{ display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; background: var(--brass); color: var(--ink); padding: 6px 12px; border-radius: 999px; margin-bottom: 18px; }
.kr .steps{ display: grid; gap: 0; counter-reset: step; }
.kr .step{ position: relative; padding: 0 0 32px 72px; }
.kr .step::before{ content: ''; position: absolute; left: 23px; top: 52px; bottom: 4px; width: 1px; background: var(--line-strong); }
.kr .step:last-child::before{ display: none; }
.kr .step-num{ position: absolute; left: 0; top: 0; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--mint); color: var(--brass-ink); display: grid; place-items: center; font: 700 .95rem/1 var(--sans); letter-spacing: .02em; background: var(--paper); }
.kr .step h3{ margin: 10px 0 6px; font-size: 1.1rem; }
.kr .step p{ color: var(--muted); font-size: .95rem; margin: 0; }
@media (min-width: 960px){.kr .steps{ grid-template-columns: repeat(5, 1fr); gap: 28px; }
.kr .step{ padding: 72px 0 0; }
.kr .step::before{ left: 56px; right: -28px; top: 24px; bottom: auto; width: auto; height: 1px; }
.kr .step-num{ top: 0; }
}
.kr .process-cta{ display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 48px; }
.kr .reviews{ background: var(--paper-2); }
.kr .reviews-summary{ display: flex; flex-direction: column; gap: 8px; }
.kr .reviews-summary .stars .icon{ width: 22px; height: 22px; }
.kr .reviews-summary p{ margin: 0; color: var(--muted); font-weight: 600; }
@media (min-width: 900px){.kr .reviews-summary{ align-items: flex-end; text-align: right; }
}
.kr .review-grid{ display: grid; gap: 20px; }
@media (min-width: 640px){.kr .review-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1100px){.kr .review-grid{ grid-template-columns: repeat(4, 1fr); }
}
.kr .review-card figure{ margin: 0; height: 100%; display: flex; flex-direction: column; gap: 18px; background: var(--white); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-sm); }
.kr .review-card blockquote{ margin: 0; flex: 1; }
.kr .review-card blockquote p{ font: 500 1.4rem/1.3 var(--serif); color: var(--ink); margin: 0; }
.kr .review-card figcaption{ display: flex; flex-direction: column; padding-top: 16px; border-top: 1px solid var(--line); font-size: .9rem; }
.kr .review-card figcaption strong{ color: var(--ink); }
.kr .review-card figcaption span{ color: var(--muted); }
.kr .location-grid{ display: grid; gap: 20px; }
@media (min-width: 760px){.kr .location-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1100px){.kr .location-grid{ grid-template-columns: repeat(3, 1fr); }
}
.kr .location-card{ background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.kr .map-ph{ position: relative; display: grid; place-items: center; aspect-ratio: 16 / 8; text-decoration: none; color: var(--ink); background-color: #e3ece8; background-image: linear-gradient(115deg, transparent 46%, rgba(255, 255, 255, .85) 46%, rgba(255, 255, 255, .85) 50%, transparent 50%), linear-gradient(25deg, transparent 62%, rgba(255, 255, 255, .7) 62%, rgba(255, 255, 255, .7) 64.5%, transparent 64.5%), radial-gradient(circle at 78% 30%, #d3e8d9 0 18%, transparent 18.5%), linear-gradient(rgba(0, 0, 0, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, .03) 1px, transparent 1px); background-size: auto, auto, auto, 24px 24px, 24px 24px; }
.kr .map-pin{ width: 48px; height: 48px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--ink); color: var(--brass); display: grid; place-items: center; box-shadow: var(--shadow); transition: transform .25s var(--ease); }
.kr .map-pin .icon{ transform: rotate(45deg); }
.kr .map-ph:hover .map-pin{ transform: rotate(-45deg) translate(2px, -2px); }
.kr .map-ph-label{ position: absolute; bottom: 10px; right: 12px; font-size: .74rem; font-weight: 700; background: var(--white); padding: 4px 10px; border-radius: 999px; box-shadow: var(--shadow-sm); }
.kr .location-body{ padding: 24px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.kr .location-body h2, .kr .location-body h3{ font: 600 1.6rem/1.1 var(--serif); margin: 0; }
.kr .location-body h2 a, .kr .location-body h3 a{ text-decoration: none; }
.kr .location-body address{ color: var(--muted); }
.kr .hours{ margin: 0; font-size: .9rem; display: grid; gap: 4px; }
.kr .hours div{ display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--line); padding-bottom: 4px; }
.kr .hours dt{ font-weight: 600; color: var(--ink); }
.kr .hours dd{ margin: 0; color: var(--muted); text-align: right; }
.kr .location-contact{ display: flex; gap: 18px; flex-wrap: wrap; margin: 0; }
.kr .location-contact a{ display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .92rem; text-decoration: none; color: var(--ink); }
.kr .location-contact a:hover{ color: var(--brass-ink); }
.kr .location-body .btn{ margin-top: auto; align-self: flex-start; }
.kr .cta-band{ background: var(--ink); color: rgba(255, 255, 255, .82); padding-block: clamp(56px, 7vw, 88px); position: relative; overflow: hidden; }
.kr .cta-band::after{ content: ''; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid rgba(124, 198, 141, .3); box-shadow: 0 0 0 60px rgba(124, 198, 141, .05), 0 0 0 120px rgba(124, 198, 141, .035); pointer-events: none; }
.kr .cta-band-inner{ display: grid; gap: 28px; align-items: center; position: relative; z-index: 1; }
@media (min-width: 960px){.kr .cta-band-inner{ grid-template-columns: 1.3fr auto; gap: 64px; }
}
.kr .cta-band h2{ color: var(--white); margin-bottom: 10px; }
.kr .cta-band p{ margin: 0; max-width: 56ch; }
.kr .page-hero{ background: var(--paper-2); padding-block: clamp(40px, 6vw, 72px); position: relative; isolation: isolate; overflow: hidden; }
.kr .page-hero h1{ font-size: clamp(2.4rem, 5vw, 3.8rem); margin-bottom: 14px; }
.kr .page-lede{ font-size: 1.12rem; color: var(--muted); max-width: 60ch; margin: 0; }
.kr .page-hero.has-image{ background: var(--ink-deep); color: var(--white); padding-block: clamp(96px, 14vw, 168px) clamp(40px, 6vw, 64px); }
.kr .page-hero.has-image h1{ color: var(--white); }
.kr .page-hero.has-image .page-lede{ color: rgba(255, 255, 255, .85); }
.kr .page-hero-media{ position: absolute; inset: 0; z-index: -1; }
.kr .page-hero-media{ overflow: hidden; }
.kr .page-hero-media img{ width: 100%; height: 100%; object-fit: cover; scale: 1.3; transform-origin: 50% 30%; }
.kr .page-hero-media::after{ content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 33, 44, .35), rgba(0, 33, 44, .88)); }
.kr .breadcrumbs ol{ display: flex; flex-wrap: wrap; gap: 6px; font-size: .82rem; margin-bottom: 20px; color: var(--muted); }
.kr .breadcrumbs li + li::before{ content: '/'; margin-right: 6px; opacity: .6; }
.kr .breadcrumbs a{ color: inherit; }
.kr .has-image .breadcrumbs ol{ color: rgba(255, 255, 255, .75); }
.kr .feature-list{ display: grid; gap: 4px; }
.kr .feature-list li{ display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.kr .feature-list h3{ margin: 0 0 4px; }
.kr .feature-list p{ margin: 0; color: var(--muted); font-size: .95rem; }
.kr .feature-tick{ flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--brass-soft); color: var(--brass-ink); display: grid; place-items: center; }
.kr .split-copy .btn-row{ margin-top: 28px; }
.kr .tick-list{ display: grid; gap: 10px; margin-bottom: 8px; }
.kr .tick-list li{ display: flex; gap: 10px; align-items: center; }
.kr .tick-list .icon-sm{ color: var(--brass-ink); }
.kr .pill-list{ display: flex; flex-wrap: wrap; gap: 8px; }
.kr .pill-list a{ display: inline-block; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 999px; text-decoration: none; font-size: .9rem; font-weight: 600; }
.kr .pill-list a:hover{ border-color: var(--ink); }
.kr .gallery-grid{ display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.kr .gallery-item{ display: block; width: 100%; padding: 0; border: 0; background: var(--sand); border-radius: var(--radius); overflow: hidden; aspect-ratio: 4 / 3; cursor: zoom-in; }
.kr .gallery-item img{ width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.kr .gallery-item:hover img{ transform: scale(1.04); }
.kr .gallery-grid p{ font-size: .88rem; color: var(--muted); margin: 10px 0 0; }
.kr .lightbox{ border: 0; padding: 0; background: transparent; max-width: min(1200px, 94vw); max-height: 92vh; overflow: visible; }
.kr .lightbox::backdrop{ background: rgba(0, 33, 44, .9); }
.kr .lightbox img{ max-height: 82vh; width: auto; border-radius: var(--radius); margin-inline: auto; }
.kr .lightbox p{ color: var(--white); text-align: center; margin: 14px 0 0; }
.kr .lightbox-close{ position: absolute; top: -52px; right: 0; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--white); display: grid; place-items: center; color: var(--ink); }
.kr .contact-grid{ display: grid; gap: 20px; }
@media (min-width: 760px){.kr .contact-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1100px){.kr .contact-grid{ grid-template-columns: repeat(4, 1fr); }
}
.kr .contact-card{ background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.kr .contact-card h2{ font-size: 1.6rem; margin: 0; }
.kr .contact-card p{ color: var(--muted); flex: 1; }
.kr .contact-card.is-primary{ background: var(--ink); border-color: var(--ink); color: rgba(255, 255, 255, .8); }
.kr .contact-card.is-primary h2{ color: var(--white); }
.kr .contact-card.is-primary p{ color: inherit; }
.kr .contact-big{ font: 600 1.7rem/1.1 var(--serif); color: var(--ink); text-decoration: none; }
.kr .faq details{ border-bottom: 1px solid var(--line); }
.kr .faq summary{ list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; font-weight: 700; color: var(--ink); cursor: pointer; font-size: 1.05rem; }
.kr .faq summary::-webkit-details-marker{ display: none; }
.kr .faq summary .icon-sm{ transition: transform .25s var(--ease); flex: none; }
.kr .faq details[open] summary .icon-sm{ transform: rotate(180deg); }
.kr .faq details p{ color: var(--muted); padding-bottom: 20px; margin: 0; max-width: 65ch; }
.kr .swatch-showcase{ display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 20px; margin-bottom: 48px; }
.kr .swatch-showcase li{ display: flex; flex-direction: column; gap: 10px; font-weight: 600; font-size: .92rem; }
.kr .swatch-chip-lg{ aspect-ratio: 1; border-radius: var(--radius); }
.kr .site-footer{ background: var(--ink-deep); color: rgba(255, 255, 255, .72); font-size: .93rem; }
.kr .footer-cta{ display: grid; gap: 24px; padding-block: 56px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
@media (min-width: 960px){.kr .footer-cta{ grid-template-columns: 1fr auto; align-items: center; }
}
.kr .footer-cta-title{ color: var(--white); font-size: clamp(1.8rem, 3vw, 2.4rem); margin-bottom: 6px; }
.kr .footer-cta p{ margin: 0; }
.kr .footer-grid{ display: grid; gap: 40px 32px; padding-block: 56px; grid-template-columns: repeat(2, 1fr); }
.kr .footer-brand{ grid-column: 1 / -1; }
.kr .footer-brand p{ max-width: 38ch; margin: 18px 0; }
@media (min-width: 1024px){.kr .footer-grid{ grid-template-columns: 1.6fr repeat(4, 1fr); }
.kr .footer-brand{ grid-column: auto; }
}
.kr .site-footer h3{ color: var(--white); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
.kr .site-footer ul{ display: grid; gap: 10px; }
.kr .site-footer a{ text-decoration: none; color: rgba(255, 255, 255, .85); }
.kr .site-footer a:hover{ color: var(--brass); }
.kr .site-footer li span{ display: block; font-size: .82rem; color: rgba(255, 255, 255, .55); }
.kr .footer-contact a{ display: inline-flex; align-items: center; gap: 8px; word-break: break-word; }
.kr .social{ display: flex !important; flex-wrap: wrap; gap: 8px 16px !important; }
.kr .social a{ font-size: .85rem; font-weight: 600; }
.kr .footer-base{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 24px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .84rem; color: rgba(255, 255, 255, .55); }
.kr .footer-base p{ margin: 0; }
.kr .footer-base ul{ display: flex; gap: 20px; }
.kr .focus-footer{ padding: 32px 0 40px; font-size: .85rem; color: var(--muted); }
.kr .focus-footer .container{ display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.kr .focus-footer p{ margin: 0; }
.kr .wizard-page{ padding-block: clamp(24px, 5vw, 56px) 24px; }
.kr .wizard-intro{ text-align: center; margin-bottom: 28px; }
.kr .wizard-intro .eyebrow{ justify-content: center; }
.kr .wizard-intro h1{ font-size: clamp(2.2rem, 5vw, 3.2rem); margin-bottom: 8px; }
.kr .wizard-intro p:last-child{ color: var(--muted); margin: 0; }
.kr .wizard-help{ text-align: center; color: var(--muted); font-size: .92rem; margin-top: 24px; }
.kr .wizard-help a{ color: var(--ink); font-weight: 700; }
.kr .proto-note{ background: var(--brass-soft); border: 1px solid #c9e6d2; border-radius: var(--radius-sm); padding: 10px 14px; font-size: .86rem; color: #1f5132; margin-bottom: 16px; }
.kr .wizard, .kr .wz-success{ background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: clamp(20px, 4.5vw, 48px); }
.kr .wz-progress{ margin-bottom: 28px; }
.kr .wz-progress-text{ display: flex; justify-content: space-between; gap: 12px; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.kr .wz-progress-label{ color: var(--brass-ink); }
.kr .wz-bar{ height: 4px; border-radius: 4px; background: var(--paper-2); overflow: hidden; }
.kr .wz-bar span{ display: block; height: 100%; width: 0; background: var(--mint); border-radius: inherit; transition: width .45s var(--ease); }
.kr .wz-dots{ display: none; }
@media (min-width: 760px){.kr .wz-dots{ display: flex; justify-content: space-between; margin-top: 14px; }
.kr .wz-dots li{ font-size: .74rem; font-weight: 600; color: var(--muted); display: flex; align-items: center; gap: 6px; }
.kr .wz-dots li::before{ content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); transition: background .3s; }
.kr .wz-dots li.is-done::before{ background: var(--mint); }
.kr .wz-dots li.is-current{ color: var(--ink); }
.kr .wz-dots li.is-current::before{ background: var(--ink); box-shadow: 0 0 0 3px var(--paper-2); }
}
.kr .wz-step{ animation: stepIn .35s var(--ease) both; }
.kr .wz-step.is-back{ animation-name: stepInBack; }
@keyframes stepIn{ from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
@keyframes stepInBack{ from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
.kr .wz-step-head{ margin-bottom: 24px; }
.kr .wz-step-head h2{ font-size: clamp(1.8rem, 3.6vw, 2.5rem); margin-bottom: 6px; }
.kr .wz-step-head h2:focus{ outline: none; }
.kr .wz-step-head p{ color: var(--muted); margin: 0; }
.kr .wz-step-error:empty{ display: none; }
.kr .wz-step-error{ background: var(--error-soft); color: var(--error); border-radius: var(--radius-sm); padding: 12px 14px; font-weight: 600; font-size: .92rem; margin-bottom: 18px; }
.kr .wz-fieldset{ border: 0; margin: 0; padding: 0; min-width: 0; }
.kr .q-block + .q-block{ margin-top: 28px; }
.kr .q-block legend{ font-weight: 700; color: var(--ink); font-size: 1.02rem; margin-bottom: 4px; padding: 0; }
.kr .q-block .hint{ margin-bottom: 10px; }
.kr .q-block .chip-row{ margin-top: 10px; }
.kr .optional{ font-weight: 500; color: var(--muted); font-size: .88em; }
.kr .wz-nav{ display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); }
.kr .wz-nav [data-back][hidden] + *{ margin-left: auto; }
.kr .wz-nav .btn-primary{ min-width: 170px; }
.kr .wz-nav .btn{ white-space: nowrap; }
@media (max-width: 599px){.kr .wz-nav{ position: sticky; bottom: 0; z-index: 5; margin-inline: calc(-1 * clamp(20px, 4.5vw, 48px)); margin-bottom: calc(-1 * clamp(20px, 4.5vw, 48px)); padding: 14px clamp(20px, 4.5vw, 48px) calc(14px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); border-radius: 0 0 var(--radius-lg) var(--radius-lg); box-shadow: 0 -8px 20px rgba(0, 33, 44, .06); }
.kr .wz-nav .btn-primary{ flex: 1; min-width: 0; }
}
.kr .choice-grid{ display: grid; gap: 12px; }
@media (min-width: 520px){.kr .choice-grid-2, .kr .choice-grid-3, .kr .choice-grid-4{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 760px){.kr .choice-grid-3{ grid-template-columns: repeat(3, 1fr); }
.kr .choice-grid-4{ grid-template-columns: repeat(4, 1fr); }
}
.kr .choice{ position: relative; display: block; }
.kr .choice input, .kr .chip input, .kr .swatch input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.kr .choice-box{ position: relative; display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 18px 44px 18px 18px; border: 1.5px solid var(--line); border-radius: var(--radius); background: var(--white); cursor: pointer; transition: border-color .2s, background-color .2s, box-shadow .2s, transform .2s var(--ease); }
.kr .choice-box:hover{ border-color: var(--line-strong); background: var(--paper); }
.kr .choice-title{ display: block; font-weight: 700; color: var(--ink); line-height: 1.3; }
.kr .choice-desc{ display: block; font-size: .88rem; color: var(--muted); line-height: 1.45; margin-top: 4px; }
.kr .choice-meta{ display: inline-block; margin-top: 6px; font-size: .8rem; }
.kr .choice-tick{ position: absolute; top: 14px; right: 14px; width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--line-strong); display: grid; place-items: center; color: transparent; transition: all .2s var(--ease); }
.kr .choice-tick .icon-sm{ width: 14px; height: 14px; }
.kr .choice input:checked + .choice-box{ border-color: var(--ink); background: #f7fbf9; box-shadow: inset 0 0 0 1px var(--ink); }
.kr .choice input:checked + .choice-box .choice-tick{ background: var(--ink); border-color: var(--ink); color: var(--brass); }
.kr .choice input:focus-visible + .choice-box{ outline: 3px solid var(--brass-ink); outline-offset: 2px; }
.kr .choice-media .choice-box{ padding: 12px 12px 16px; }
.kr .choice-media .choice-tick{ top: 20px; right: 20px; background: rgba(255, 255, 255, .9); }
.kr .choice-compact .choice-box{ flex-direction: row; align-items: center; }
.kr .tag{ display: inline-block; vertical-align: middle; margin-left: 6px; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: var(--paper-2); color: var(--brass-ink); padding: 3px 8px; border-radius: 999px; }
.kr .choice-grid-4{ grid-template-columns: repeat(2, 1fr); }
@media (max-width: 519px){.kr .choice-media .choice-box{ padding: 10px 10px 14px; }
.kr .choice-media .choice-tick{ top: 16px; right: 16px; }
.kr .choice-media .choice-desc{ font-size: .8rem; }
}
.kr .finish-swatch{ display: block; height: clamp(64px, 18vw, 96px); border-radius: var(--radius-sm); background-color: #3d4b5a; }
.kr .finish-swatch.is-matt{ background: #3f4c59; }
.kr .finish-swatch.is-satin{ background: radial-gradient(120% 70% at 30% 10%, rgba(255, 255, 255, .22), transparent 60%), linear-gradient(160deg, #4a5866, #36424f); }
.kr .finish-swatch.is-gloss{ background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .55) 38%, rgba(255, 255, 255, .1) 44%, transparent 52%), radial-gradient(90% 60% at 25% 0%, rgba(255, 255, 255, .45), transparent 55%), linear-gradient(160deg, #50606f, #2c3741); }
.kr .finish-swatch.is-unsure{ background: repeating-linear-gradient(135deg, var(--paper-2) 0 10px, var(--white) 10px 20px); border: 1.5px dashed var(--line-strong); }
.kr .chip-row{ display: flex; flex-wrap: wrap; gap: 8px; }
.kr .chip{ position: relative; }
.kr .chip span{ display: inline-flex; align-items: center; min-height: 46px; padding: 0 18px; border: 1.5px solid var(--line); border-radius: 999px; font-weight: 600; font-size: .94rem; cursor: pointer; background: var(--white); transition: all .2s var(--ease); }
.kr .chip span:hover{ border-color: var(--line-strong); }
.kr .chip input:checked + span{ background: var(--ink); color: var(--white); border-color: var(--ink); }
.kr .chip input:focus-visible + span{ outline: 3px solid var(--brass-ink); outline-offset: 2px; }
.kr .colour-tabs{ display: flex; gap: 4px; padding: 4px; background: var(--paper-2); border-radius: 999px; margin-bottom: 20px; overflow-x: auto; scrollbar-width: none; }
.kr .colour-tabs button{ flex: 1 0 auto; border: 0; background: none; border-radius: 999px; padding: 10px 16px; font-weight: 600; font-size: .9rem; color: var(--muted); white-space: nowrap; }
.kr .colour-tabs button[aria-selected="true"]{ background: var(--white); color: var(--ink); box-shadow: var(--shadow-sm); }
.kr .swatch-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 14px 12px; }
@media (max-width: 519px){.kr .colour-tabs{ border-radius: 14px; }
.kr .colour-tabs button{ flex: 1 1 0; white-space: normal; font-size: .8rem; line-height: 1.2; padding: 9px 6px; border-radius: 10px; }
}
.kr .swatch{ position: relative; display: flex; flex-direction: column; gap: 8px; cursor: pointer; }
.kr .swatch-chip{ display: block; aspect-ratio: 1; border-radius: var(--radius); background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); transition: transform .2s var(--ease), box-shadow .2s; }
.kr .swatch:hover .swatch-chip{ transform: translateY(-2px); }
.kr .swatch input:checked + .swatch-chip{ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08), 0 0 0 3px var(--white), 0 0 0 5px var(--ink); }
.kr .swatch input:focus-visible + .swatch-chip{ outline: 3px solid var(--brass-ink); outline-offset: 6px; }
.kr .swatch-name{ font-size: .82rem; font-weight: 600; line-height: 1.3; color: var(--ink); }
.kr .colour-alt{ display: grid; gap: 12px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
@media (min-width: 560px){.kr .colour-alt{ grid-template-columns: 1fr 1fr; }
}
.kr .colour-alt + .field{ margin-top: 16px; }
.kr .colour-picked{ margin: 16px 0 0; font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 10px; min-height: 1.6em; }
.kr .colour-picked i{ width: 20px; height: 20px; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.kr .dropzone{ border: 2px dashed var(--line-strong); border-radius: var(--radius-lg); padding: clamp(24px, 5vw, 40px) 20px; text-align: center; background: var(--paper); transition: background .2s, border-color .2s; }
.kr .dropzone.is-dragover{ background: var(--brass-soft); border-color: var(--mint); }
.kr .dropzone-icon{ color: var(--brass-ink); display: inline-block; margin-bottom: 6px; }
.kr .dropzone-title{ font-weight: 700; color: var(--ink); font-size: 1.05rem; margin-bottom: 16px; }
.kr .dropzone .hint{ margin: 14px 0 0; }
.kr .file-btn{ cursor: pointer; }
.kr .file-btn:focus-within{ outline: 3px solid var(--brass-ink); outline-offset: 2px; }
.kr .only-coarse{ display: none !important; }
@media (pointer: coarse){.kr .only-coarse{ display: inline-flex !important; }
.kr span.only-coarse{ display: inline !important; }
.kr .only-fine{ display: none !important; }
}
.kr .upload-status{ font-size: .9rem; font-weight: 600; color: var(--muted); margin: 14px 0 0; min-height: 1.4em; }
.kr .upload-status.is-error{ color: var(--error); }
.kr .thumbs{ display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 12px; margin-top: 12px; }
.kr .thumb{ position: relative; aspect-ratio: 1; border-radius: var(--radius); overflow: hidden; background: var(--paper-2); animation: rise .3s var(--ease) both; }
.kr .thumb img{ width: 100%; height: 100%; object-fit: cover; transition: opacity .3s, filter .3s; }
.kr .thumb.is-uploading img{ opacity: .55; filter: grayscale(.4); }
.kr .thumb-progress{ position: absolute; left: 8px; right: 8px; bottom: 8px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .7); overflow: hidden; }
.kr .thumb-progress span{ display: block; height: 100%; width: 0; background: var(--brass); transition: width .15s linear; }
.kr .thumb:not(.is-uploading) .thumb-progress{ display: none; }
.kr .thumb-done{ position: absolute; left: 8px; bottom: 8px; width: 22px; height: 22px; border-radius: 50%; background: var(--success); color: var(--white); display: none; place-items: center; }
.kr .thumb-done .icon-sm{ width: 13px; height: 13px; }
.kr .thumb.is-done .thumb-done{ display: grid; }
.kr .thumb-remove{ position: absolute; top: 4px; right: 4px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(0, 33, 44, .78); color: var(--white); display: grid; place-items: center; }
.kr .thumb-remove:hover{ background: var(--error); }
.kr .thumb-remove .icon-sm{ width: 16px; height: 16px; }
.kr .photo-tips{ margin-top: 24px; padding: 18px 20px; background: var(--paper); border-radius: var(--radius); }
.kr .photo-tips h3{ font-size: .9rem; margin-bottom: 8px; }
.kr .photo-tips ul{ display: grid; gap: 4px 20px; font-size: .9rem; color: var(--muted); }
@media (min-width: 560px){.kr .photo-tips ul{ grid-template-columns: 1fr 1fr; }
}
.kr .photo-tips li::before{ content: '\2014'; color: var(--brass); margin-right: 8px; }
.kr .soft-confirm{ margin-top: 20px; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--brass-soft); border: 1px solid #c9e6d2; font-size: .92rem; }
.kr .soft-confirm p{ margin: 0; }
.kr .form-grid{ display: grid; gap: 4px 20px; }
@media (min-width: 640px){.kr .form-grid{ grid-template-columns: 1fr 1fr; }
.kr .field-full{ grid-column: 1 / -1; }
}
.kr .field{ display: flex; flex-direction: column; margin-bottom: 14px; }
.kr .field label{ font-weight: 700; color: var(--ink); font-size: .94rem; margin-bottom: 6px; }
.kr .field .hint, .kr .hint{ font-size: .84rem; color: var(--muted); margin: -2px 0 8px; }
.kr .field input:not([type="checkbox"]), .kr .field select, .kr .field textarea{ width: 100%; min-height: 52px; padding: 12px 14px; border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--white); font-size: 1rem; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.kr .field textarea{ min-height: 110px; resize: vertical; line-height: 1.5; }
.kr .field select{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%231d2a33' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.kr .field input:focus, .kr .field select:focus, .kr .field textarea:focus{ outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(183, 249, 0, .45); }
.kr .field.has-error input, .kr .field.has-error select, .kr .field.has-error textarea{ border-color: var(--error); background: #fffafa; }
.kr .field-error{ color: var(--error); font-size: .86rem; font-weight: 600; margin: 6px 0 0; }
.kr .field-error:empty{ display: none; }
.kr .field.is-valid input{ border-color: #9cbfae; }
.kr .check{ display: flex !important; gap: 12px; align-items: flex-start; font-weight: 500 !important; color: var(--text) !important; cursor: pointer; }
.kr .check input{ width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--ink); }
.kr .check a{ color: var(--ink); font-weight: 700; }
.kr .summary{ margin: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.kr .summary > div{ display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 16px 18px; border-bottom: 1px solid var(--line); align-items: start; }
.kr .summary > div:last-child{ border-bottom: 0; }
@media (min-width: 600px){.kr .summary > div{ grid-template-columns: 160px 1fr auto; }
}
.kr .summary dt{ font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.kr .summary dd{ margin: 0; color: var(--ink); font-weight: 600; grid-column: 1; overflow-wrap: anywhere; }
@media (min-width: 600px){.kr .summary dd{ grid-column: 2; }
}
.kr .summary .edit{ grid-row: 1; grid-column: 2; align-self: start; background: none; border: 0; font-weight: 700; font-size: .85rem; color: var(--brass-ink); text-decoration: underline; text-underline-offset: 3px; padding: 4px; }
@media (min-width: 600px){.kr .summary .edit{ grid-column: 3; }
}
.kr .summary .sum-swatch{ display: inline-block; width: 16px; height: 16px; border-radius: 50%; vertical-align: -2px; margin-right: 8px; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.kr .sum-thumbs{ display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.kr .sum-thumbs img{ width: 52px; height: 52px; object-fit: cover; border-radius: 6px; }
.kr .summary-compact{ text-align: left; margin: 24px auto; max-width: 520px; }
.kr .fine-print{ font-size: .86rem; color: var(--muted); margin: 18px 0 0; }
.kr .spinner{ display: none; width: 20px; height: 20px; border-radius: 50%; border: 2.5px solid rgba(0, 33, 44, .25); border-top-color: var(--ink); animation: spin .7s linear infinite; }
.kr .is-loading .spinner{ display: block; position: absolute; }
.kr .is-loading .btn-label{ visibility: hidden; }
@keyframes spin{ to { transform: rotate(360deg); } }
.kr .wz-success{ text-align: center; animation: rise .5s var(--ease) both; }
.kr .wz-success h2{ font-size: clamp(2rem, 4.5vw, 2.8rem); margin-bottom: 12px; }
.kr .wz-success h2:focus{ outline: none; }
.kr .wz-success > p{ color: var(--muted); max-width: 52ch; margin-inline: auto; }
.kr .success-mark{ width: 76px; height: 76px; margin: 0 auto 20px; border-radius: 50%; background: var(--success-soft); color: var(--success); display: grid; place-items: center; animation: pop .5s .15s var(--ease) both; }
.kr .success-mark .icon{ width: 36px; height: 36px; }
@keyframes pop{ from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.kr .success-ref{ font-size: .9rem; }
.kr .success-next{ margin: 32px 0 28px; padding: 28px 20px; background: var(--paper); border-radius: var(--radius); }
.kr .success-next h3{ font: 600 1.6rem/1.1 var(--serif); }
.kr .success-next p{ color: var(--muted); }
.kr .calendar{ max-width: 460px; margin-inline: auto; }
.kr .cal-head{ display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.kr .cal-month{ font: 600 1.5rem/1 var(--serif); margin: 0; }
.kr .cal-nav{ width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--line); background: var(--white); display: grid; place-items: center; }
.kr .cal-nav:hover:not(:disabled){ border-color: var(--ink); }
.kr .cal-nav:disabled{ opacity: .35; cursor: default; }
.kr .cal-grid{ width: 100%; border-collapse: separate; border-spacing: 4px; table-layout: fixed; }
.kr .cal-grid th{ font-size: .74rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; padding-bottom: 4px; }
.kr .cal-grid td{ padding: 0; text-align: center; }
.kr .cal-day{ width: 100%; aspect-ratio: 1; max-height: 56px; border: 1.5px solid transparent; border-radius: 50%; background: var(--paper); font-weight: 700; font-size: .95rem; color: var(--ink); transition: all .15s; }
.kr .cal-day:hover:not(:disabled){ border-color: var(--ink); }
.kr .cal-day:disabled{ background: none; color: #b5b0a7; font-weight: 500; cursor: default; text-decoration: line-through; text-decoration-color: rgba(0, 0, 0, .15); }
.kr .cal-day.is-today{ box-shadow: inset 0 0 0 1.5px var(--mint); }
.kr .cal-day[aria-selected="true"]{ background: var(--ink); color: var(--white); }
.kr .cal-hint{ text-align: center; margin-top: 12px; }
.kr .time-for{ font-weight: 700; color: var(--ink); margin-bottom: 16px; }
.kr .slot-group + .slot-group{ margin-top: 20px; }
.kr .slot-group h3{ font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.kr .slot-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.kr .slot-grid .chip span{ width: 100%; justify-content: center; border-radius: var(--radius-sm); }
.kr .slot-grid .chip input:disabled + span{ opacity: .4; text-decoration: line-through; cursor: not-allowed; background: var(--paper); }
.kr .slots-empty{ padding: 20px; background: var(--paper); border-radius: var(--radius); color: var(--muted); }
html.js .kr [data-reveal]{ opacity: 0; transform: translateY(20px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
html.js .kr [data-reveal].is-visible{ opacity: 1; transform: none; }
.kr .booking-page{ padding-block: clamp(32px, 5vw, 64px) clamp(56px, 7vw, 96px); background: var(--paper); }
.kr .booking-page .wizard-intro{ max-width: 720px; margin-inline: auto; }
.kr .booking-layout{ display: grid; gap: 28px; align-items: start; }
@media (min-width: 1000px){.kr .booking-layout{ grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 36px; }
}
.kr .booking-frame-card{ background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow); overflow: hidden; }
.kr .booking-frame{ display: block; width: 100%; height: 1250px; border: 0; }
@media (min-width: 760px){.kr .booking-frame{ height: 1050px; }
}
.kr .booking-fallback{ margin: 0; padding: 12px 20px; font-size: .88rem; color: var(--muted); border-top: 1px solid var(--line); }
.kr .booking-fallback a{ color: var(--ink); font-weight: 700; }
.kr .booking-aside{ display: grid; gap: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; }
@media (min-width: 1000px){.kr .booking-aside{ position: sticky; top: calc(var(--header-h) + 24px); }
}
.kr .booking-aside h2{ margin-bottom: 12px; }
.kr .showroom-mini{ display: grid; gap: 12px; }
.kr .showroom-mini li{ display: flex; flex-direction: column; padding-bottom: 12px; border-bottom: 1px dashed var(--line); }
.kr .showroom-mini li:last-child{ border-bottom: 0; padding-bottom: 0; }
.kr .showroom-mini a{ font-weight: 700; color: var(--ink); text-decoration: none; }
.kr .showroom-mini a:hover{ color: var(--brass-ink); }
.kr .showroom-mini span{ font-size: .86rem; color: var(--muted); }
.kr .booking-alt{ padding: 20px; background: var(--paper); border-radius: var(--radius); }
.kr .booking-alt p{ color: var(--muted); font-size: .94rem; }
.kr .visualiser{ background: var(--paper-2); }
.kr .vis-layout{ display: grid; gap: 24px; align-items: start; }
@media (min-width: 960px){.kr .vis-layout{ grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 36px; }
}
.kr .vis-stage{ background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 14px; }
.kr .vis-placeholder{ aspect-ratio: 16 / 10; border-radius: var(--radius); border: 2px dashed var(--line-strong); display: grid; place-items: center; text-align: center; padding: 24px; color: var(--muted); background: var(--paper); }
.kr .vis-placeholder strong{ display: block; color: var(--ink); font-size: 1.1rem; margin-bottom: 4px; }
.kr .vis-canvas{ display: block; width: 100%; height: auto; border-radius: var(--radius); cursor: crosshair; touch-action: manipulation; }
.kr .vis-tools{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.kr .vis-tools .btn:disabled{ opacity: .45; cursor: default; }
.kr .vis-panel{ background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.kr .vis-step{ font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; }
.kr .vis-step strong{ color: var(--ink); letter-spacing: .02em; text-transform: none; font-size: .95rem; }
.kr .vis-photo-btns{ display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.kr .vis-tip{ background: var(--paper); border-radius: var(--radius-sm); padding: 12px 14px; font-size: .9rem; color: var(--muted); margin: 0 0 22px; }
.kr .vis-swatches{ display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 16px; }
.kr .vis-swatch{ aspect-ratio: 1; border-radius: 50%; background: var(--sw); border: 1px solid rgba(0, 0, 0, .12); cursor: pointer; transition: transform .15s var(--ease), box-shadow .15s; }
.kr .vis-swatch:hover{ transform: scale(1.06); }
.kr .vis-swatch[aria-pressed="true"]{ box-shadow: 0 0 0 3px var(--white), 0 0 0 5px var(--ink); }
.kr .vis-spread{ display: block; margin: 0 0 14px; }
.kr .vis-spread-label{ display: block; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.kr .vis-spread-row{ display: flex; align-items: center; gap: 10px; }
.kr .vis-spread-row small{ font-size: .8rem; color: var(--muted); }
.kr .vis-spread input{ flex: 1; accent-color: var(--ink); min-height: 32px; }
.kr .vis-status{ min-height: 1.4em; font-size: .9rem; font-weight: 600; color: var(--brass-ink); margin: 0 0 14px; }
.kr .vis-inline{ margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.kr .vis-inline-panel{ margin-top: 16px; }
.kr .vis-compact{ grid-template-columns: 1fr !important; gap: 16px; }
.kr .vis-compact .vis-stage{ box-shadow: none; border: 1px solid var(--line); }
.kr .vis-compact .vis-panel{ border: 0; padding: 0; }
.kr .vis-compact .vis-swatches{ grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); }
.kr .est-layout{ display: grid; gap: 24px; align-items: stretch; }
@media (min-width: 960px){.kr .est-layout{ grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; }
}
.kr .est-layout .choice-box{ min-height: 120px; }
.kr .est-result{ background: var(--ink); color: rgba(255, 255, 255, .85); border-radius: var(--radius-lg); padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; justify-content: center; }
.kr .est-label{ margin: 0 0 6px; font-weight: 700; color: var(--mint); }
.kr .est-price{ font: 700 clamp(2.2rem, 5vw, 3.2rem)/1.05 var(--sans); letter-spacing: -.02em; color: var(--white); margin: 0 0 12px; }
.kr .est-meta{ margin: 0 0 24px; }
.kr .est-meta span:not(:empty)::after{ content: ' \00b7 '; }
.kr .est-result .btn{ align-self: flex-start; }
.kr .est-note{ font-size: .82rem; color: rgba(255, 255, 255, .6); margin: 16px 0 0; }
.kr .consent{ position: fixed; z-index: 60; left: 16px; right: 16px; bottom: 16px; max-width: 780px; margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; padding: 18px 20px; background: var(--ink); color: rgba(255, 255, 255, .88); border-radius: var(--radius); box-shadow: var(--shadow-lg); font-size: .92rem; line-height: 1.5; }
.kr .consent p{ margin: 0; flex: 1 1 320px; }
.kr .consent strong{ color: var(--white); margin-right: 6px; }
.kr .consent a{ color: var(--white); text-decoration: underline; }
.kr .consent-actions{ display: flex; gap: 10px; flex: 0 0 auto; }
.kr .consent-actions .btn{ min-width: 112px; }
@media (max-width: 519px){.kr .consent{ left: 10px; right: 10px; bottom: 10px; }
.kr .consent-actions{ width: 100%; }
.kr .consent-actions .btn{ flex: 1; }
}
.kr .footer-link-btn{ color: rgba(255, 255, 255, .85); font: inherit; text-decoration: none; cursor: pointer; background: none; border: 0; padding: 0; }
.kr .footer-link-btn:hover{ color: var(--brass); }
.kr .kr-hp{ position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kr .visually-hidden{ position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kr [hidden]{ display: none !important; }
@media (max-width: 479px){.kr .hide-sm{ display: none; }
.kr .header-minimal-actions .show-sm{ display: inline; }
}
