.hero {
   position: relative;
   isolation: isolate;
   padding-top: clamp(40px, 6vw, 96px);
   padding-bottom: var(--section-tight);
   border-bottom: 1px solid var(--ink);
   overflow: hidden;
}
.hero__baseline {
   position: absolute;
   inset: 0;
   z-index: -1;
   pointer-events: none;
   background-image:
      repeating-linear-gradient(to bottom, transparent 0 calc(2rem - 1px), rgba(201, 194, 176, .38) calc(2rem - 1px) 2rem);

}
.hero__grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--sp-5) var(--gutter);
   align-items: end;
}
.hero__grid > * { min-width: 0; }
.hero__text { position: relative; padding-top: var(--sp-2); }
.hero__coords {
   display: flex;
   flex-wrap: wrap;
   gap: .35rem 1.5rem;
   margin-bottom: clamp(1.5rem, 4vw, 3rem);
   padding-bottom: .75rem;
   border-bottom: var(--rule);
}
.hero__coords .coord:first-child { color: var(--signal-deep); }
.hero__title {
   font-family: var(--waba-652);
   font-weight: 700;
   font-size: var(--fs-hero);
   line-height: 1.02;
   letter-spacing: -.035em;
   max-width: 14ch;
   text-wrap: balance;
   overflow-wrap: break-word;
   hyphens: manual;
}
.hero__title-line { display: block; }
.hero__title-accent {
   display: block;
   margin-top: .12em;
   color: var(--moss);
}
.hero__title-accent::after {
   content: "";
   display: inline-block;
   width: .22em;
   height: .22em;
   margin-left: .08em;
   background: var(--signal);
   vertical-align: baseline;
}
.hero__lede {
   margin-top: clamp(1.5rem, 3vw, 2.5rem);
   max-width: 46ch;
   font-size: var(--fs-lede);
   line-height: 1.5;
   color: var(--ink-80);
}
.hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: .75rem 1rem;
   margin-top: clamp(1.75rem, 3.5vw, 2.75rem);
}
.hero__actions > * { min-width: 0; }
.hero__facts {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   margin-top: clamp(2rem, 5vw, 4rem);
   border-top: 1px solid var(--ink);
   max-width: 40rem;
}
.hero__fact {
   padding: .9rem 1rem .9rem 0;
   border-bottom: var(--rule);
   min-width: 0;
}
.hero__fact + .hero__fact { padding-left: 1rem; border-left: var(--rule); }
.hero__fact-val {
   display: block;
   font-family: var(--waba-ca0);
   font-size: clamp(1.1rem, 2vw, 1.5rem);
   font-weight: 500;
   font-variant-numeric: tabular-nums;
   color: var(--ink);
}
.hero__fact-key { display: block; margin-top: .2rem; font-size: var(--fs-small); color: var(--bark); line-height: 1.4; }
.hero__media { position: relative; margin: 0; min-width: 0; }
.hero__frame { aspect-ratio: 3 / 2; }
.hero__caption { padding-right: var(--gutter); }
@media (min-width: 560px) {
   .hero__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
   .hero__fact + .hero__fact { padding-left: 1rem; border-left: var(--rule); }
}
@media (max-width: 559px) {
   .hero__fact:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
}
@media (min-width: 900px) {
   .hero__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: stretch; }
   .hero__title { max-width: 13ch; }
   .hero__media {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      margin-right: calc(-1 * (var(--gutter) + max(0px, (100vw - var(--rail-w) - var(--shell)) / 2)));
      margin-left: calc(-1 * var(--gutter) * 2);
   }
   .hero__frame { aspect-ratio: auto; flex: 1 1 auto; min-height: 30rem; }
   .hero__frame .frame__img { position: absolute; inset: 0; }
}
@media (min-width: 1440px) {
   .hero__frame { min-height: 38rem; }
}

.page-head {
   position: relative;
   padding-top: clamp(40px, 6vw, 96px);
   padding-bottom: clamp(40px, 5vw, 80px);
   border-bottom: 1px solid var(--ink);
   overflow: hidden;
}
.page-head__grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--sp-4) var(--gutter);
   align-items: end;
}
.page-head__grid > * { min-width: 0; }
.page-head__title { max-width: 16ch; }
.page-head__lede { margin-top: var(--sp-3); max-width: 50ch; font-size: var(--fs-lede); line-height: 1.5; color: var(--ink-80); }
.page-head__aside { border-top: 1px solid var(--ink); padding-top: .9rem; }
.page-head__aside .kv { border-top: 0; }
@media (min-width: 900px) {
   .page-head__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
   .page-head__aside { border-top: 0; border-left: var(--rule); padding: 0 0 0 var(--gutter); }
}

.band { position: relative; }
.band__grid {
   display: grid;

   grid-template-columns: minmax(0, 1fr);
   gap: var(--sp-5) var(--gutter);
   align-items: start;
}
.band__grid > * { min-width: 0; }
@media (min-width: 900px) {
   .band__grid--wide-left { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
   .band__grid--wide-right { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
   .band__grid--ruled > * + * { border-left: var(--rule); padding-left: var(--gutter); }
   .band__sticky { position: sticky; top: calc(var(--bar-h) + 1.5rem); }
}
.band__index {
   display: flex;
   justify-content: space-between;
   gap: 1rem;
   margin-bottom: clamp(2rem, 4vw, 3.5rem);
   padding-bottom: .6rem;
   border-bottom: 1px solid var(--ink);
}
.band__index > * { min-width: 0; }
.slide-head { position: relative; }

.scale-table { min-width: 40rem; }
.scale-table tbody th { width: 30%; }
.scale-table__step {
   display: block;
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   font-weight: 400;
   letter-spacing: var(--track-mono);
   color: var(--signal-deep);
   margin-bottom: .2rem;
}
.scale-table tbody tr { position: relative; }
.scale-table tbody tr:last-child th, .scale-table tbody tr:last-child td { border-bottom: 1px solid var(--ink); }
.scale-meter {
   display: block;
   position: relative;
   height: 4px;
   margin-top: .55rem;
   background: var(--line);
   max-width: 7rem;
}

.scale-meter > span { position: absolute; left: 0; top: 0; bottom: 0; background: var(--moss); }
.scale-note { margin-top: var(--sp-3); max-width: 52ch; font-size: var(--fs-small); color: var(--bark); }

.worksheet__card {
   position: relative;
   margin-top: var(--sp-5);
   background: var(--paper);
   border: 1px solid var(--ink);
   box-shadow: 6px 6px 0 var(--line), var(--shadow-1);
}
.worksheet__card-head {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: .4rem 1.5rem;
   padding: .9rem 1rem;
   border-bottom: 1px solid var(--ink);
   background: var(--cream);
}
.worksheet__card-head > * { min-width: 0; }
.worksheet__card-title {
   font-family: var(--waba-652);
   font-weight: 500;
   font-size: clamp(1rem, 1.4vw, 1.2rem);
   letter-spacing: -.01em;
}
.worksheet__card .dubof26 { border-top: 0; }
.worksheet__status {
   display: inline-flex;
   align-items: center;
   gap: .35rem;
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   letter-spacing: var(--track-mono);
   white-space: nowrap;
}
.worksheet__status::before { content: ""; width: .55rem; height: .55rem; background: var(--moss); }
.worksheet__status--warn::before { background: var(--signal); }
.worksheet__status--due::before { background: var(--error); }
.worksheet__foot {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: .5rem 1.5rem;
   padding: .8rem 1rem;
   border-top: 1px solid var(--ink);
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   color: var(--bark);
}
.worksheet__stamp {
   display: inline-block;
   padding: .25rem .6rem;
   border: 2px solid var(--signal-deep);
   color: var(--signal-deep);
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   font-weight: 500;
   letter-spacing: var(--track-caps);
   text-transform: uppercase;
   transform: rotate(-2deg);
}
.worksheet__figure .frame { aspect-ratio: 4 / 5; }
@media (min-width: 900px) {
   .worksheet__figure { margin-top: clamp(4rem, 10vw, 9rem); }
}

.refusals__lead { font-size: var(--fs-lede); line-height: 1.5; max-width: 44ch; color: var(--ink-80); }
.refusals .refusal-list h3 { margin-bottom: .5rem; }
.refusals .refusal-list p { color: var(--ink-80); max-width: 58ch; }
.refusals__rule {
   margin-top: var(--sp-4);
   padding: clamp(1.25rem, 3vw, 2rem);
   background: var(--ink);
   color: var(--cream);
   border-left: 4px solid var(--signal);
}
.refusals__rule p {
   font-family: var(--waba-652);
   font-weight: 500;
   font-size: clamp(1.1rem, 2vw, 1.6rem);
   line-height: 1.3;
   letter-spacing: -.01em;
   max-width: 34ch;
}
.refusals__rule .caption { display: block; margin-top: .75rem; color: var(--cream-dim); }

.booking__form-wrap { position: relative; }
.booking__aside .contact-list { margin-top: var(--sp-3); }
.hours-table { width: 100%; margin-top: var(--sp-4); border-top: 1px solid var(--ink); font-size: .9375rem; }
.hours-table th, .hours-table td { padding: .65rem 0; border-bottom: var(--rule); text-align: left; vertical-align: top; }
.hours-table th { font-family: var(--waba-ca0); font-size: var(--fs-micro); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--bark); padding-right: 1rem; }
.hours-table td { font-family: var(--waba-ca0); font-size: .875rem; text-align: right; }
.booking__map-link { margin-top: .5rem; }

.svc-index {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   list-style: none;
   margin: var(--sp-4) 0 0;
   padding: 0;
   border-top: 1px solid var(--ink);
   counter-reset: svc;
}
.svc-index li { min-width: 0; border-bottom: var(--rule); }
.svc-index a {
   display: grid;
   grid-template-columns: 2.5rem minmax(0, 1fr) auto;
   align-items: center;
   gap: .75rem;
   min-height: 52px;
   padding: .7rem .5rem .7rem 0;
   font-family: var(--waba-ca0);
   font-size: .875rem;
   color: var(--ink);
   text-decoration: none;
   transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), padding-left var(--dur-base) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.svc-index__num { font-size: var(--fs-micro); color: var(--bark); }
.svc-index__price { color: var(--bark); white-space: nowrap; }
.svc-index a:hover { background: var(--paper); color: var(--moss); padding-left: .6rem; box-shadow: inset 3px 0 0 var(--signal); }
.svc-index a:active { background: var(--moss-soft); color: var(--ink); }
.svc-index a:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; background: var(--paper); }
@media (min-width: 640px) {
   .svc-index { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gutter); }
}
@media (max-width: 400px) {
   .svc-index a { grid-template-columns: 2rem minmax(0, 1fr); }
   .svc-index__price { grid-column: 2; }
}

.svc {
   position: relative;
   padding-block: var(--section-tight);
   border-top: 1px solid var(--ink);
   scroll-margin-top: calc(var(--bar-h) + 1rem);
}
.svc:nth-of-type(even) { background: var(--paper); }
.svc__grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--sp-5) var(--gutter);
   align-items: start;
}
.svc__grid > * { min-width: 0; }
.svc__num {
   display: block;
   font-family: var(--waba-652);
   font-weight: 700;
   font-size: clamp(3rem, 9vw, 8rem);
   line-height: .85;
   letter-spacing: -.05em;
   color: transparent;
   -webkit-text-stroke: 1px var(--moss);
   margin-bottom: var(--sp-3);
}
.svc__title { max-width: 18ch; }
.svc__meta {
   display: flex;
   flex-wrap: wrap;
   gap: .5rem;
   margin-top: var(--sp-3);
}
.svc__lead { margin-top: var(--sp-3); font-size: var(--fs-lede); line-height: 1.5; max-width: 52ch; color: var(--ink-80); }
.svc__body > .dubof26 { margin-top: var(--sp-4); }
.svc__price {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   gap: .25rem 1rem;
   margin-top: var(--sp-4);
   padding-top: .9rem;
   border-top: 1px solid var(--ink);
}
.svc__price-val {
   font-family: var(--waba-ca0);
   font-weight: 500;
   font-size: clamp(1.5rem, 3vw, 2.25rem);
   font-variant-numeric: tabular-nums;
   letter-spacing: -.01em;
}
.svc__price-basis { font-size: var(--fs-small); color: var(--bark); max-width: 40ch; }
.svc__media .frame { aspect-ratio: 4 / 5; }
.svc__actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin-top: var(--sp-4); }
.wear-table { min-width: 30rem; }
.wear-table td.is-limit { color: var(--signal-deep); font-weight: 500; }
@media (min-width: 900px) {
   .svc__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
   .svc--flip .svc__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
   .svc--flip .svc__media { order: -1; }
   .svc__media { position: sticky; top: calc(var(--bar-h) + 1.5rem); }
}

.steps {
   list-style: none;
   margin: 0;
   padding: 0;
   border-top: 1px solid var(--ink);
}
.step {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: .5rem var(--gutter);
   padding: clamp(1.25rem, 3vw, 2rem) 0;
   border-bottom: var(--rule);
}
.step > * { min-width: 0; }
.step__num {
   font-family: var(--waba-ca0);
   font-size: var(--fs-mono);
   font-weight: 500;
   color: var(--signal-deep);
   letter-spacing: var(--track-mono);
}
.step__title { font-size: var(--fs-h3); }
.step__text { margin-top: .5rem; color: var(--ink-80); max-width: 60ch; }
.step__time { font-family: var(--waba-ca0); font-size: var(--fs-micro); color: var(--bark); letter-spacing: var(--track-mono); }
@media (min-width: 720px) {
   .step { grid-template-columns: 4.5rem minmax(0, 1fr) 9rem; align-items: baseline; }
   .step__time { text-align: right; }
}
.torque-table { min-width: 30rem; }
.torque-table td.num { color: var(--ink); }

.contact-grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--sp-5) var(--gutter);
   align-items: start;
}
.contact-grid > * { min-width: 0; }
@media (min-width: 900px) {
   .contact-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
   .contact-grid__aside { border-left: var(--rule); padding-left: var(--gutter); position: sticky; top: calc(var(--bar-h) + 1.5rem); }
}
.address-block {
   font-style: normal;
   font-family: var(--waba-652);
   font-weight: 500;
   font-size: clamp(1.15rem, 2vw, 1.6rem);
   line-height: 1.3;
   letter-spacing: -.01em;
   overflow-wrap: anywhere;
}
.bring-list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   border-top: 1px solid var(--ink);
}
.bring-list li {
   display: grid;
   grid-template-columns: 1.5rem minmax(0, 1fr);
   gap: .75rem;
   padding: .9rem 0;
   border-bottom: var(--rule);
}
.bring-list .icon { width: 1.15rem; height: 1.15rem; color: var(--moss); margin-top: .2rem; }
@media (min-width: 640px) {
   .bring-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gutter); }
}

.faq { border-top: 1px solid var(--ink); }
.faq__item { border-bottom: var(--rule); }
.faq__q {
   position: relative;
   display: grid;
   grid-template-columns: minmax(0, 1fr) 2.75rem;
   align-items: center;
   gap: 1rem;
   width: 100%;
   min-height: 56px;
   padding: 1rem 0;
   list-style: none;
   cursor: pointer;
   font-family: var(--waba-652);
   font-weight: 500;
   font-size: clamp(1rem, 1.6vw, 1.25rem);
   line-height: 1.3;
   letter-spacing: -.01em;
   text-align: left;
   color: var(--ink);
   transition: color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), padding-left var(--dur-base) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::marker { content: ""; }
.faq__icon {
   display: inline-grid;
   place-items: center;
   width: 2.75rem;
   height: 2.75rem;
   border: 1px solid var(--ink);
   background: var(--paper);
   transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.faq__icon .icon { width: 1rem; height: 1rem; }
.faq__q:hover { color: var(--moss); padding-left: .5rem; box-shadow: inset 3px 0 0 var(--signal); }
.faq__q:hover .faq__icon { background: var(--ink); color: var(--cream); }
.faq__q:active { background: var(--moss-soft); }
.faq__q:active .faq__icon { background: var(--moss); color: var(--cream); }
.faq__q:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.faq__item[open] > .faq__q .faq__icon, .faq__q[aria-expanded='true'] .faq__icon { transform: rotate(180deg); background: var(--signal); color: var(--ink); }
.faq__a { padding: 0 3.75rem 1.5rem 0; color: var(--ink-80); max-width: 68ch; }
.faq__a > * + * { margin-top: .8em; }
@media (max-width: 479px) { .faq__a { padding-right: 0; } }

.legal-head {
   position: relative;
   padding-top: clamp(40px, 6vw, 96px);
   padding-bottom: clamp(32px, 4vw, 64px);
   border-bottom: 1px solid var(--ink);
}
.legal-head__title { max-width: 18ch; }
.legal-head__meta {
   display: flex;
   flex-wrap: wrap;
   gap: .4rem 1.75rem;
   margin-top: var(--sp-3);
}
.legal-head__lede { margin-top: var(--sp-3); max-width: 60ch; font-size: var(--fs-lede); line-height: 1.5; color: var(--ink-80); }

.numerals {
   padding-block: var(--section-tight) var(--section);
   counter-reset: numeral;
}
.numerals__sec {
   position: relative;
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: .25rem var(--gutter);
   padding-block: clamp(2.5rem, 6vw, 5.5rem);
   scroll-margin-top: calc(var(--bar-h) + 1rem);
}
.numerals__sec + .numerals__sec { border-top: var(--rule); }
.numerals__sec > * { min-width: 0; }
.numerals__num {
   display: block;
   font-family: var(--waba-652);
   font-weight: 700;
   font-size: clamp(4rem, 13vw, 12rem);
   line-height: .78;
   letter-spacing: -.06em;
   font-variant-numeric: tabular-nums;
   color: transparent;
   -webkit-text-stroke: 1.5px var(--moss);
   user-select: none;
}
.numerals__sec:target .numerals__num, .numerals__sec--key .numerals__num { -webkit-text-stroke-color: var(--signal-deep); }
.numerals__body { max-width: 72ch; }
.numerals__body > * + * { margin-top: 1.1em; }
.numerals__head { margin: 0; }
.numerals__title {
   display: block;
   font-size: clamp(1.35rem, 2.6vw, 2.2rem);
   max-width: 24ch;
   overflow-wrap: break-word;
}
.numerals__body h3 { margin-top: 1.8em; }
.numerals__body a { color: var(--ink); text-decoration-color: var(--signal); text-decoration-thickness: 2px; }
.numerals__body a:hover { color: var(--moss); }
.numerals__body a:active { color: var(--bark); }
.numerals__body ul { list-style: none; padding: 0; }
.numerals__body li { position: relative; padding-left: 1.75em; }
.numerals__body li + li { margin-top: .5em; }
.numerals__body li::before { content: ""; position: absolute; left: 0; top: .8em; width: .9em; height: 1px; background: var(--bark); }
.numerals__body .dubof26 { margin-top: 1.5em; }
@media (max-width: 639px) {
   .numerals__num { font-size: clamp(3.5rem, 22vw, 5rem); padding-bottom: .5rem; border-bottom: 2px solid var(--signal); width: max-content; max-width: 100%; margin-bottom: 1rem; }
}
@media (min-width: 640px) {
   .numerals__sec { grid-template-columns: clamp(7rem, 20vw, 16rem) minmax(0, 1fr); }
   .numerals__head { grid-column: 1 / -1; display: grid; grid-template-columns: clamp(7rem, 20vw, 16rem) minmax(0, 1fr); column-gap: var(--gutter); align-items: end; }
   .numerals__head > * { min-width: 0; }
   .numerals__num { text-align: right; padding-right: .1em; margin-left: calc(var(--gutter) * -.5); }
   .numerals__title { padding-bottom: .1em; }
   .numerals__body { grid-column: 2; padding-top: .8rem; }
}
@media (min-width: 1200px) {
   .numerals .shell { padding-left: calc(var(--gutter) * .5); }
}

.glance {
   position: relative;
   margin-top: var(--section-tight);
   background: var(--ink);
   color: var(--cream);
   border-top: 4px solid var(--signal);
   box-shadow: var(--shadow-2);
}
.glance__head {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: .5rem 1.5rem;
   padding: clamp(1rem, 2.5vw, 1.75rem) clamp(1rem, 3vw, 2.25rem);
   border-bottom: 1px solid var(--line-dark);
}
.glance__head > * { min-width: 0; }
.glance__title {
   font-family: var(--waba-652);
   font-weight: 500;
   font-size: clamp(1.1rem, 2vw, 1.6rem);
   letter-spacing: -.01em;
   color: var(--cream);
}
.glance__head .coord { color: var(--cream-dim); }
.glance__table { width: 100%; text-align: left; }
.glance__table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.glance__table th, .glance__table td {
   padding: 1rem clamp(1rem, 3vw, 2.25rem);
   vertical-align: top;
   border-bottom: 1px solid var(--line-dark);
}
.glance__table tr:last-child th, .glance__table tr:last-child td { border-bottom: 0; }
.glance__table th {
   width: 32%;
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   font-weight: 500;
   letter-spacing: var(--track-caps);
   text-transform: uppercase;
   color: var(--signal);
}
.glance__table td { font-size: .975rem; line-height: 1.5; color: var(--cream); overflow-wrap: anywhere; }
.glance__table td + td { border-left: 1px solid var(--line-dark); }
.glance__table code { font-family: var(--waba-ca0); font-size: .88em; padding: .05em .35em; background: var(--ink-80); color: var(--cream); }
.section-head__title { text-wrap: pretty; }
.faq__item { position: relative; overflow: hidden; }
.faq__item:not([open]) > .faq__a { display: none; }
.glance__table a { color: var(--cream); text-decoration-color: var(--signal); text-decoration-thickness: 2px; text-underline-offset: .2em; transition: color var(--dur-fast) var(--ease-out); }
.glance__table a:hover { color: var(--signal); }
.glance__table a:active { color: var(--line); }
.glance__table a:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.glance__table tbody tr { transition: background-color var(--dur-fast) var(--ease-out); }
.glance__table tbody tr:hover { background: var(--ink-90); }
.glance__actions {
   display: flex;
   flex-wrap: wrap;
   gap: .75rem 1rem;
   padding: clamp(1rem, 2.5vw, 1.5rem) clamp(1rem, 3vw, 2.25rem);
   border-top: 1px solid var(--line-dark);
}
@media (max-width: 639px) {
   .glance__table, .glance__table tbody, .glance__table tr, .glance__table th, .glance__table td { display: block; width: 100%; }
   .glance__table tr { border-bottom: 1px solid var(--line-dark); padding: .85rem 1rem; }
   .glance__table tr:last-child { border-bottom: 0; }
   .glance__table th, .glance__table td { padding: 0; border: 0; }
   .glance__table th { margin-bottom: .35rem; }
   .glance__table td + td { border-left: 0; margin-top: .35rem; }
}
.cookie-prose {
   max-width: 68ch;
   padding-block: var(--section-tight) var(--section);
}
.cookie-prose > * + * { margin-top: 1.1em; }
.cookie-prose h2 {
   margin-top: 2.4em;
   padding-top: 1rem;
   border-top: 1px solid var(--ink);
   font-size: clamp(1.25rem, 2.3vw, 1.85rem);
}
.cookie-prose h2:first-child { margin-top: 0; }
.cookie-prose h2 + * { margin-top: .8em; }
.cookie-prose a { color: var(--ink); text-decoration-color: var(--signal); text-decoration-thickness: 2px; }
.cookie-prose a:hover { color: var(--moss); }
.cookie-prose a:active { color: var(--bark); }
.cookie-prose .dubof26 { margin-top: 1.5em; }
.cookie-prose ul { list-style: none; padding: 0; }
.cookie-prose li { position: relative; padding-left: 1.75em; }
.cookie-prose li + li { margin-top: .5em; }
.cookie-prose li::before { content: ""; position: absolute; left: 0; top: .8em; width: .9em; height: 1px; background: var(--bark); }
.cookie-table { min-width: 38rem; }
.cookie-table td code, .signals-table td code { font-family: var(--waba-ca0); font-size: .85em; white-space: nowrap; }
.signals-table { min-width: 30rem; }
.signals-table .state {
   display: inline-flex;
   align-items: center;
   gap: .35rem;
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   letter-spacing: var(--track-mono);
   white-space: nowrap;
}
.signals-table .state::before { content: ""; width: .5rem; height: .5rem; background: var(--line-strong); }
.signals-table .state--granted::before { background: var(--moss); }
.signals-table .state--denied::before { background: var(--error); }

.statute {
   padding-block: var(--section-tight) var(--section);
}
.statute__cols {
   columns: 2 22rem;
   column-gap: calc(var(--gutter) * 1.4);
   column-rule: 1px solid var(--line-strong);
   font-size: .9875rem;
   line-height: 1.58;
   text-align: left;
   hyphens: auto;
}
.statute__cols > * { min-width: 0; }
.statute__part {
   margin: 2.2rem 0 1rem;
   padding: .6rem 0 .5rem;
   border-top: 2px solid var(--ink);
   border-bottom: var(--rule);
   font-family: var(--waba-652);
   font-weight: 700;
   font-size: clamp(1.05rem, 1.6vw, 1.35rem);
   letter-spacing: -.01em;
   line-height: 1.25;
   break-after: avoid;
   scroll-margin-top: calc(var(--bar-h) + 1rem);
}
.statute__part:first-child { margin-top: 0; }
.statute__part .coord { display: block; margin-bottom: .2rem; font-size: .66rem; }
.statute__cols p { margin: 0; orphans: 3; widows: 3; }
.statute__cols p + p { margin-top: .85em; }
.statute__clause { text-indent: 0; }
.runin {
   font-family: var(--waba-025);
   font-weight: 600;
   font-size: .8em;
   letter-spacing: .07em;
   text-transform: uppercase;
   color: var(--ink);
   margin-right: .35em;
}
.runin__no {
   font-family: var(--waba-ca0);
   font-weight: 500;
   color: var(--signal-deep);
   margin-right: .45em;
   letter-spacing: 0;
}
.statute__cols a { color: var(--ink); text-decoration-color: var(--signal); text-decoration-thickness: 2px; }
.statute__cols a:hover { color: var(--moss); }
.statute__cols a:active { color: var(--bark); }
.statute__box {
   margin: 1.2rem 0;
   padding: 1rem 1.1rem;
   background: var(--paper);
   border: 1px solid var(--ink);
   border-left: 4px solid var(--signal);
   break-inside: avoid;
}
.statute__box p + p { margin-top: .6em; }
.statute__sign {
   margin-top: 2rem;
   padding-top: .75rem;
   border-top: 1px solid var(--ink);
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   color: var(--bark);
   break-inside: avoid;
}
@media (min-width: 900px) {
   .statute__cols {
      column-count: 2;
      column-gap: calc(var(--gutter) * 1.4);
      column-rule: 1px solid var(--line-strong);
      text-align: justify;
      text-justify: inter-word;
   }
   .statute__cols .statute__part { text-align: left; }
}
@media (min-width: 1600px) {
   .statute__cols { font-size: 1.025rem; }
}
@media (max-width: 899px) {
   .statute__cols { column-count: 1; column-rule: 0; }
}
@media (max-width: 359px) {
   .statute__cols { font-size: .95rem; hyphens: auto; overflow-wrap: break-word; }
   .numerals__title { font-size: 1.25rem; }
}

.notfound {
   position: relative;
   padding-block: var(--section);
   overflow: hidden;
}
.notfound__grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--sp-4) var(--gutter);
   align-items: end;
}
.notfound__grid > * { min-width: 0; }
.notfound__code {
   display: block;
   font-family: var(--waba-652);
   font-weight: 700;
   font-size: clamp(5rem, 26vw, 22rem);
   line-height: .8;
   letter-spacing: -.07em;
   color: transparent;
   -webkit-text-stroke: 2px var(--ink);
}
.notfound__code span { color: var(--signal); -webkit-text-stroke: 0; }
.notfound__text { max-width: 44ch; }
.notfound__text p { margin-top: var(--sp-2); color: var(--ink-80); }
.notfound__links { list-style: none; padding: 0; margin: var(--sp-4) 0 0; border-top: 1px solid var(--ink); }
.notfound__links li { border-bottom: var(--rule); }
.notfound__links .link-arrow { box-shadow: none; width: 100%; justify-content: space-between; }
@media (min-width: 900px) {
   .notfound__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}

.pullquote__ghost {
   position: absolute;
   right: calc(var(--gutter) * -.5);
   bottom: -.18em;
   z-index: -1;
   font-family: var(--waba-652);
   font-weight: 700;
   font-size: clamp(8rem, 30vw, 28rem);
   line-height: 1;
   letter-spacing: -.08em;
   color: transparent;
   -webkit-text-stroke: 1px var(--line-dark);
   pointer-events: none;
   user-select: none;
}
.pullquote__inner .pullquote__text { margin-left: 0; }
@media (min-width: 900px) {
   .pullquote--offset .pullquote__text { margin-left: calc(100% / 12); }
}

.media-strip {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--gutter);
}
.media-strip > * { min-width: 0; }

.callout-line {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   gap: .5rem 1.5rem;
   padding: 1.25rem 0;
   border-block: 1px solid var(--ink);
}
.callout-line > * { min-width: 0; }
.callout-line__val {
   font-family: var(--waba-ca0);
   font-size: clamp(1.4rem, 3vw, 2.25rem);
   font-weight: 500;
   font-variant-numeric: tabular-nums;
}
.callout-line__text { flex: 1 1 18rem; color: var(--ink-80); max-width: 50ch; }

.clip-reveal { position: relative; }
.edge-in { position: relative; }

@media (max-width: 359px) {
   .hero__actions .btn { width: 100%; justify-content: space-between; }
   .svc__price-val { font-size: 1.35rem; }
   .glance__head { padding-inline: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
   .svc-index a:hover, .faq__q:hover { padding-left: 0; }
   .faq__icon { transition: none; }
}

@media print {
   .hero__media, .svc__media, .pullquote__ghost, .hero__baseline { display: none !important; }
   .statute__cols { column-count: 2; column-rule: 1px solid #999; }
   .glance { background: #FFF; color: #000; box-shadow: none; }
   .glance__table td, .glance__table th { color: #000; }
}

.bases-table { min-width: 36rem; }
.bases-table thead th:first-child { width: 26%; }
.bases-table tbody th { font-family: var(--waba-025); font-weight: 600; }
.bases-table td .coord { display: block; margin-top: .3rem; }
.bases-table .basis {
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   min-height: 28px;
   padding: .15rem .5rem;
   border: 1px solid var(--moss);
   background: var(--moss-soft);
   font-family: var(--waba-ca0);
   font-size: var(--fs-micro);
   letter-spacing: var(--track-mono);
   line-height: 1.3;
   color: var(--ink);
   overflow-wrap: anywhere;
}
.bases-table .basis--consent { border-color: var(--signal); background: var(--signal-wash); }
.retention-table { min-width: 32rem; }
.retention-table td:last-child { color: var(--bark); }

/* terms.html — dense two-column statute measure */
.statute--measure .terms-measure {
   -webkit-column-count: 1;
   column-count: 1;
   -webkit-column-gap: calc(var(--gutter) * 1.4);
   column-gap: calc(var(--gutter) * 1.4);
   -webkit-column-rule: 1px solid var(--line-strong);
   column-rule: 1px solid var(--line-strong);
   column-fill: balance;
   max-width: 100%;
   overflow-wrap: break-word;
}
.statute--measure .terms-measure > section {
   display: block;
   scroll-margin-top: calc(var(--bar-h) + 1rem);
}
.statute--measure .terms-measure .runin {
   font-size: 1em;
   font-variant-caps: all-small-caps;
   text-transform: none;
   letter-spacing: .06em;
}
.statute--measure .terms-measure .statute__box { -webkit-column-break-inside: avoid; break-inside: avoid; }
.statute--measure .terms-measure .statute__part { -webkit-column-break-after: avoid; break-after: avoid; }
@media (min-width: 900px) {
   .statute--measure .terms-measure {
      -webkit-column-count: 2;
      column-count: 2;
      columns: 2;
      text-align: justify;
   }
}
@media (max-width: 899px) {
   .statute--measure .terms-measure { column-rule: none; text-align: left; }
}
@media (max-width: 359px) {
   .statute--measure .terms-measure { font-size: .95rem; hyphens: auto; }
   .statute--measure .terms-measure .statute__box { padding: .85rem .8rem; }
}

.glance .dubof26 { background: transparent; border-top: 0; }
.numerals__num { color: var(--moss); }
.pullquote--moss .pullquote__index, .pullquote--moss .pullquote__attr { color: var(--cream); }
.pullquote--moss .pullquote__index > span:first-child, .pullquote--moss .pullquote__accent { color: var(--signal-wash); }
@media (min-width: 900px) and (max-width: 1279px) {
   .band__grid--wide-left, .band__grid--wide-right { grid-template-columns: minmax(0, 1fr); }
   .band__grid--ruled > * + * { border-left: 0; padding-left: 0; }
   .statute__cols, .statute--measure .terms-measure { column-count: 1; columns: 1; }
}
