:root {
   --hero-min-height:clamp(560px, 72vh, 880px);
   --rail-width:260px;
   --chip-bar-height:58px;
}

[data-opening] {
   position:relative;
   width:100%;
   min-height:var(--hero-min-height);
   display:flex;
   align-items:center;
   padding-block:var(--space-xl) var(--space-3xl);
   overflow:hidden;
   background-color:var(--ground);
   border-bottom:var(--border-thin);
}

.hero-split {
   display:grid;
   grid-template-columns:1fr;
   align-items:center;
   gap:var(--space-2xl);
   width:100%;
}

@media (min-width: 900px) {
   .hero-split {
      grid-template-columns:1.15fr 0.85fr;
      gap:var(--space-3xl);
   }
}

.hero-split__open {
   display:flex;
   flex-direction:column;
   align-items:flex-start;
   max-width:620px;
   z-index:2;
}

.hero-split__kicker {
   display:inline-flex;
   align-items:center;
   gap:var(--space-2xs);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   color:var(--ink-soft);
   margin-block-end:var(--space-sm);
   padding:var(--space-3xs) var(--space-xs);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
}

.hero-split__headline {
   font-family:var(--pili-fd8);
   font-size:var(--fs-hero);
   font-weight:800;
   line-height:var(--lh-tight);
   letter-spacing:var(--ls-display);
   color:var(--ink);
   margin-block-end:var(--space-md);
   text-wrap:balance;
   overflow-wrap:break-word;
}

.hero-split__lede {
   font-family:var(--pili-a7c);
   font-size:var(--fs-body-lg);

   line-height:var(--lh-prose);
   color:var(--ink-soft);
   max-width:54ch;
   margin-block-end:var(--space-xl);
}

.hero-split__actions {
   display:flex;
   align-items:center;
   gap:var(--space-md);
   margin-block-end:var(--space-lg);
}

.hero-split__meta {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:var(--space-xs) var(--space-md);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   padding-block-start:var(--space-md);
   border-top:var(--border-subtle);
   width:100%;
}

.hero-split__meta-item {
   display:inline-flex;
   align-items:center;
   gap:var(--space-3xs);
}

.hero-split__stage {
   position:relative;
   width:100%;
   display:flex;
   justify-content:center;
   align-items:center;
}

.hero-split__media {
   position:relative;
   width:100%;
   max-width:520px;
   aspect-ratio:1 / 1;
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   overflow:hidden;
   box-shadow:var(--shadow-md);
}

.hero-split__media img {
   width:100%;
   height:100%;
   object-fit:cover;
   object-position:72% center;
}

.parallax-wrapper {
   position:relative;
   overflow:hidden;
}

[data-depth] {
   will-change:transform;
   transform:translate3d(0, 0, 0);
   transition:transform var(--dur-fast) var(--ease-out);
}

@media (prefers-reduced-motion: reduce) {
   [data-depth] {
      transform:none !important;
      transition:none !important;
   }
}

.section-bleed {
   width:100%;
   padding-block:var(--space-3xl);
   border-bottom:var(--border-thin);
   background-color:var(--ground);
}

.section-bleed--surface { background-color:var(--surface); }

.section-bleed--contrast { background-color:var(--surface-2); }

.section-header {
   margin-block-end:var(--space-2xl);
   max-width:780px;
}

.section-header--center {
   margin-inline:auto;
   text-align:center;
}

.section-title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h2);
   font-weight:700;
   line-height:var(--lh-tight);
   letter-spacing:var(--ls-heading);
   color:var(--ink);
   margin-block-end:var(--space-xs);
}

.section-subtitle {
   font-family:var(--pili-a7c);
   font-size:var(--fs-body-lg);
   color:var(--ink-soft);
   line-height:var(--lh-prose);
   max-width:62ch;
}

.section-header--center .section-subtitle { margin-inline:auto; }

.feature-strip {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
   margin-block-end:var(--space-3xl);
}

@media (min-width: 680px) {
   .feature-strip { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1080px) {
   .feature-strip { grid-template-columns:repeat(4, minmax(0, 1fr)); }
}

.feature-box {
   display:flex;
   flex-direction:column;
   padding:var(--space-lg);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   height:100%;
   transition:border-color var(--dur-fast) var(--ease-standard),
                     transform var(--dur-fast) var(--ease-standard);
}

.feature-box:hover {
   border-color:var(--ink-soft);
   transform:translateY(-2px);
}

.feature-box__icon {
   width:2.25rem;
   height:2.25rem;
   display:inline-flex;
   align-items:center;
   justify-content:center;

   background-color:var(--ground);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   color:var(--ink);
   margin-block-end:var(--space-sm);
}

.feature-box__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h4);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-2xs);
}

.feature-box__text {
   font-size:var(--fs-body-sm);
   color:var(--ink-soft);
   line-height:1.55;
   margin:0;
}

.drawn-line-section {
   position:relative;
   padding-block:var(--space-3xl);
}

.stage-spine {
   position:relative;

   padding-inline-start:clamp(1.75rem, 1.25rem + 1.5vw, 3rem);
}

.stage-spine::before {
   content:'';
   position:absolute;
   top:0.5rem;
   bottom:0.5rem;
   left:0.75rem;
   width:1px;
   background-color:var(--line);
}

.stage-stop {
   position:relative;
   margin-block-end:var(--space-3xl);
}

.stage-stop:last-child { margin-block-end:0; }

.stage-stop__marker {
   position:absolute;
   top:0.35rem;
   left:calc(-1 * clamp(1.75rem, 1.25rem + 1.5vw, 3rem) + 0.75rem - 4px);
   width:9px;
   height:9px;
   border-radius:var(--radius-pill);
   background-color:var(--ground);
   border:2px solid var(--accent);
   z-index:2;
}

.stage-stop__grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-md);
   align-items:start;
}

@media (min-width: 860px) {
   .stage-stop__grid {
      grid-template-columns:1.35fr 0.65fr;
      gap:var(--space-xl);
   }
}

.stage-stop__content {
   display:flex;
   flex-direction:column;
}

.stage-stop__heading {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h3);
   font-weight:700;
   color:var(--ink);
   line-height:var(--lh-snug);
   margin-block-end:var(--space-xs);
}

.stage-stop__lede {
   font-family:var(--pili-a7c);
   font-size:var(--fs-body);
   color:var(--ink-soft);
   line-height:var(--lh-prose);
   margin-block-end:var(--space-sm);
}

.stage-stop__facts {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-xs) var(--space-md);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   padding:var(--space-xs) var(--space-sm);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
}

.stage-stop__media {
   position:relative;
   width:100%;
   aspect-ratio:16 / 10;
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   overflow:hidden;
}

.stage-stop__media:not(:has(img)) {
   aspect-ratio:auto;
   overflow:visible;
   border:none;
   background-color:transparent;
}

.stage-stop__media img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.stage-stop__media-caption {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   padding:var(--space-3xs) var(--space-xs);
   background-color:var(--surface);
   border-top:var(--border-thin);
}

.offer-band {
   background-color:var(--surface);
   border-block:var(--border-thin);
   padding-block:var(--space-3xl);
}

.offer-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
}

@media (min-width: 768px) {
   .offer-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

.offer-card {
   display:flex;
   flex-direction:column;
   padding:var(--space-xl);
   background-color:var(--ground);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   position:relative;
   transition:transform var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard);
}

.offer-card:hover {
   transform:translateY(-2px);
   border-color:var(--ink-soft);
}

.offer-card--featured {
   border-color:var(--accent);
   box-shadow:0 0 0 1px var(--accent);
}

.offer-card__tag {
   align-self:flex-start;
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   color:var(--accent);
   background-color:rgba(25, 128, 142, 0.1);
   padding:var(--space-3xs) var(--space-xs);
   border-radius:var(--radius-xs);
   margin-block-end:var(--space-sm);
}

.offer-card__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h3);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-2xs);
}

.offer-card__bracket {
   font-family:var(--pili-fb6);
   font-size:var(--fs-h3);
   font-weight:600;
   color:var(--ink);
   margin-block-end:var(--space-xs);
   font-variant-numeric:tabular-nums;
}

.offer-card__basis {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   margin-block-end:var(--space-md);
   padding-block-end:var(--space-xs);
   border-bottom:var(--border-subtle);
}

.offer-card__list {
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
   margin-block-end:var(--space-lg);
   font-size:var(--fs-body-sm);
   color:var(--ink);
}

.offer-card__list-item {
   display:flex;
   align-items:baseline;
   gap:var(--space-2xs);
}

.offer-card__list-item .icon {
   width:0.95rem;
   height:0.95rem;
   color:var(--accent);
   flex-shrink:0;
   transform:translateY(2px);
}

.offer-card__cta { margin-top:auto; }

.catalog-masthead {
   padding-block:var(--space-2xl) var(--space-xl);
   border-bottom:var(--border-thin);
   background-color:var(--surface);
}

.catalog-masthead__inner {
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
}

@media (min-width: 860px) {
   .catalog-masthead__inner {
      flex-direction:row;
      align-items:flex-end;
      justify-content:space-between;
   }
}

.catalog-toolbar {
   padding-block:var(--space-md);
   border-bottom:var(--border-thin);
   background-color:var(--ground);
}

.catalog-toolbar__inner {
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
}

@media (min-width: 768px) {
   .catalog-toolbar__inner {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
   }
}

.catalog-count {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
}

.catalog-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
   padding-block:var(--space-2xl);
}

@media (min-width: 600px) {
   .catalog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 980px) {
   .catalog-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

.product-hero {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-2xl);
   padding-block:var(--space-2xl);
   border-bottom:var(--border-thin);
}

@media (min-width: 900px) {
   .product-hero {
      grid-template-columns:1.1fr 0.9fr;
      gap:var(--space-3xl);
   }
}

.product-gallery {
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
}

.product-gallery__main {
   width:100%;
   aspect-ratio:4 / 3;
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   overflow:hidden;
}

.product-gallery__main img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.product-summary {
   display:flex;
   flex-direction:column;
   align-items:flex-start;
}

.product-summary__category {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   color:var(--ink-soft);
   margin-block-end:var(--space-2xs);
}

.product-summary__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h2);
   font-weight:700;
   line-height:var(--lh-tight);
   color:var(--ink);
   margin-block-end:var(--space-sm);
}

.product-summary__price-box {
   display:flex;
   flex-direction:column;
   gap:var(--space-3xs);
   padding:var(--space-sm) var(--space-md);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   margin-block-end:var(--space-md);
   width:100%;
}

.product-summary__retail {
   font-family:var(--pili-fb6);
   font-size:var(--fs-h4);
   font-weight:600;
   color:var(--ink);
}

.product-summary__member {
   font-family:var(--pili-fb6);
   font-size:var(--fs-body-sm);
   color:var(--accent);
   font-weight:500;
}

.product-summary__prose {
   font-size:var(--fs-body);
   line-height:var(--lh-prose);
   color:var(--ink);
   margin-block-end:var(--space-lg);
}

.product-summary__actions {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:var(--space-sm);
   margin-block-end:var(--space-lg);
}

.product-summary__note {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   line-height:1.5;
   padding-block-start:var(--space-sm);
   border-top:var(--border-subtle);
   width:100%;
}

.matrix-section {
   padding-block:var(--space-3xl);
   border-bottom:var(--border-thin);
}

.matrix-table {
   width:100%;
   border-collapse:collapse;
   font-size:var(--fs-body-sm);
}

.matrix-table th,
.matrix-table td {
   padding:var(--space-xs) var(--space-sm);
   border:var(--border-thin);
   text-align:left;
}

.matrix-table th {
   background-color:var(--surface-2);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   color:var(--ink);
}

.matrix-table td.matrix-price {
   font-family:var(--pili-fb6);
   font-variant-numeric:tabular-nums;
   font-weight:600;
}

.matrix-table td.matrix-member {
   font-family:var(--pili-fb6);
   font-variant-numeric:tabular-nums;
   color:var(--accent);
   font-weight:500;
}

.dated-rail-layout {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
   padding-block:var(--space-2xl) var(--space-4xl);
}

@media (min-width: 900px) {
   .dated-rail-layout {
      grid-template-columns:var(--rail-width) 1fr;
      gap:var(--space-3xl);
   }
}

.dated-rail { position:relative; }

.dated-rail__strip {
   display:flex;
   gap:var(--space-xs);
   overflow-x:auto;
   padding-block-end:var(--space-sm);
   margin-block-end:var(--space-md);
   border-bottom:var(--border-thin);
   scrollbar-width:thin;
}

@media (min-width: 900px) {
   .dated-rail__strip { display:none; }
}

.dated-rail__chip {
   display:inline-flex;
   flex-direction:column;
   padding:var(--space-2xs) var(--space-xs);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   white-space:nowrap;
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
}

.dated-rail__chip strong { color:var(--ink); }

.dated-rail__chip span {
   color:var(--ink-soft);
   font-size:0.725rem;
}

.dated-rail__sidebar { display:none; }

@media (min-width: 900px) {
   .dated-rail__sidebar {
      display:flex;
      flex-direction:column;
      gap:var(--space-xl);
      position:sticky;
      top:var(--space-xl);
      padding-inline-end:var(--space-lg);
      border-inline-end:var(--border-thin);
   }
}

.dated-rail__node {
   position:relative;
   display:flex;
   flex-direction:column;
   gap:var(--space-3xs);
}

.dated-rail__node-label {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   color:var(--ink-soft);
}

.dated-rail__node-val {
   font-family:var(--pili-fb6);
   font-size:var(--fs-body-sm);
   font-weight:600;
   color:var(--ink);
}

.dated-rail__node-desc {
   font-size:var(--fs-caption);
   color:var(--ink-soft);
   line-height:1.4;
}

.dated-rail__clock {
   display:inline-flex;
   align-items:center;
   gap:var(--space-3xs);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--accent);
}

.dated-rail__content {
   display:flex;
   flex-direction:column;
   gap:var(--space-3xl);
   min-width:0;
}

.dated-rail__section {
   display:flex;
   flex-direction:column;
   scroll-margin-top:var(--space-xl);
}

.dated-rail__section-title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h3);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-sm);
   padding-block-end:var(--space-2xs);
   border-bottom:var(--border-thin);
}

.dated-rail__meta-tag {
   align-self:flex-start;
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--accent);
   background-color:rgba(25, 128, 142, 0.08);
   padding:2px var(--space-xs);
   border-radius:var(--radius-xs);
   margin-block-end:var(--space-xs);
}

.pinned-chips-bar {
   position:sticky;
   top:0;
   z-index:80;
   background-color:var(--surface);
   border-bottom:var(--border-thin);
   padding-block:var(--space-xs);
   backdrop-filter:blur(8px);
   -webkit-backdrop-filter:blur(8px);
}

.pinned-chips-scroll {
   display:flex;
   align-items:center;
   gap:var(--space-xs);
   overflow-x:auto;
   scrollbar-width:thin;
   padding-inline:var(--gutter);
   max-width:var(--container-max);
   margin-inline:auto;
}

.jump-chip {
   display:inline-flex;
   align-items:center;
   gap:var(--space-3xs);
   padding:var(--space-2xs) var(--space-sm);
   background-color:var(--ground);
   border:var(--border-thin);
   border-radius:var(--radius-pill);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--ink);
   white-space:nowrap;
   min-height:36px;
   transition:background-color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard),
                     color var(--dur-fast) var(--ease-standard);
}

.jump-chip:hover {
   background-color:var(--surface-2);
   border-color:var(--ink-soft);
   color:var(--accent);
}

.jump-chip:active { background-color:var(--line); }

.jump-chip:focus-visible {
   outline:2px solid var(--accent);
   outline-offset:2px;
}

.chips-doc {
   display:flex;
   flex-direction:column;
   padding-block:var(--space-2xl) var(--space-4xl);
}

.chips-section {
   display:flex;
   flex-direction:column;
   padding-block:var(--space-2xl);
   border-bottom:var(--border-thin);
   scroll-margin-top:calc(var(--chip-bar-height) + var(--space-md));
}

.chips-section:first-child { padding-block-start:0; }

.chips-standfirst {
   font-family:var(--pili-a7c);
   font-size:var(--fs-body-lg);
   font-weight:600;
   line-height:var(--lh-snug);
   color:var(--ink);
   margin-block-end:var(--space-md);
   padding:var(--space-sm) var(--space-md);
   background-color:var(--surface);
   border-inline-start:3px solid var(--accent);
   border-radius:0 var(--radius-xs) var(--radius-xs) 0;
}

.chips-section__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h3);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-xs);
}

.questions-layout {
   max-width:820px;
   margin-inline:auto;
   padding-block:var(--space-2xl) var(--space-4xl);
   display:flex;
   flex-direction:column;
   gap:var(--space-3xl);
}

.question-block {
   display:flex;
   flex-direction:column;
   padding-block-end:var(--space-2xl);
   border-bottom:var(--border-thin);
   scroll-margin-top:var(--space-xl);
}

.question-block:last-child {
   border-bottom:0;
   padding-block-end:0;
}

.question-title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h2);
   font-weight:700;
   line-height:var(--lh-tight);
   color:var(--ink);
   margin-block-end:var(--space-md);
   text-wrap:balance;
}

.question-answer {
   font-family:var(--pili-a7c);
   font-size:var(--fs-body);
   line-height:var(--lh-prose);
   color:var(--ink);
}

.question-answer p { margin-block-end:var(--space-md); }

.question-answer p:last-child { margin-block-end:0; }

.question-answer ul,
.question-answer ol {
   margin-block:var(--space-sm) var(--space-md);
   padding-inline-start:1.5rem;
}

.question-answer li {
   margin-block-end:var(--space-2xs);
   color:var(--ink);
}

.question-answer strong {
   font-weight:700;
   color:var(--ink);
}

.contact-hero {
   padding-block:var(--space-2xl) var(--space-3xl);
   border-bottom:var(--border-thin);
   background-color:var(--surface);
}

.contact-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-2xl);
   padding-block:var(--space-3xl);
}

@media (min-width: 920px) {
   .contact-grid {
      grid-template-columns:1fr 1.25fr;
      gap:var(--space-3xl);
   }
}

.contact-info {
   display:flex;
   flex-direction:column;
   gap:var(--space-xl);
}

.contact-card {
   display:flex;
   flex-direction:column;
   padding:var(--space-lg);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   gap:var(--space-xs);
}

.contact-card__title {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   color:var(--ink-soft);
   margin-block-end:var(--space-3xs);
}

.contact-card__val {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h4);
   font-weight:700;
   color:var(--ink);
}

.contact-card__detail {
   font-size:var(--fs-body-sm);
   color:var(--ink-soft);
   line-height:1.5;
}

.contact-hours-table {
   width:100%;
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   border-collapse:collapse;
   margin-top:var(--space-xs);
}

.contact-hours-table tr { border-bottom:var(--border-subtle); }

.contact-hours-table tr:last-child { border-bottom:0; }

.contact-hours-table td { padding:var(--space-2xs) 0; }

.contact-hours-table td:last-child {
   text-align:right;
   font-weight:600;
}

.inquiry-split {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-2xl);
   padding-block:var(--space-2xl) var(--space-4xl);
}

@media (min-width: 900px) {
   .inquiry-split {
      grid-template-columns:1.2fr 0.8fr;
      gap:var(--space-3xl);
   }
}

.inquiry-aside {
   display:flex;
   flex-direction:column;
   gap:var(--space-lg);
}

.inquiry-policy-card {
   padding:var(--space-lg);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
}

.inquiry-policy-card__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h4);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-xs);
}

.inquiry-policy-card__text {
   font-size:var(--fs-body-sm);
   color:var(--ink-soft);
   line-height:1.55;
}

.standards-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-xl);
   padding-block:var(--space-2xl) var(--space-3xl);
}

@media (min-width: 768px) {
   .standards-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

.standards-card {
   display:flex;
   flex-direction:column;
   padding:var(--space-xl);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   height:100%;
}

.standards-card__num {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   color:var(--accent);
   text-transform:uppercase;
   letter-spacing:var(--ls-caps);
   margin-block-end:var(--space-xs);
}

.standards-card__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h3);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-xs);
}

.standards-card__body {
   font-size:var(--fs-body-sm);
   color:var(--ink-soft);
   line-height:1.6;
}

.about-split {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-2xl);
   align-items:center;
   padding-block:var(--space-3xl);
   border-bottom:var(--border-thin);
}

@media (min-width: 860px) {
   .about-split {
      grid-template-columns:1.1fr 0.9fr;
      gap:var(--space-3xl);
   }
}

.about-visual {
   position:relative;
   width:100%;
   aspect-ratio:4 / 3;
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   overflow:hidden;
}

.about-visual img {
   width:100%;
   height:100%;
   object-fit:cover;
}

.thanks-wrapper {
   max-width:680px;
   margin-inline:auto;
   padding-block:var(--space-3xl) var(--space-4xl);
   text-align:center;
}

.thanks-card {
   display:flex;
   flex-direction:column;
   align-items:center;
   padding:var(--space-2xl);
   background-color:var(--surface);
   border:var(--border-thin);
   border-radius:var(--radius-sm);
   margin-block-end:var(--space-xl);
}

.thanks-card__icon {
   width:3.5rem;
   height:3.5rem;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   border-radius:var(--radius-pill);
   background-color:rgba(25, 128, 142, 0.12);
   color:var(--accent);
   margin-block-end:var(--space-md);
}

.thanks-card__title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h2);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-xs);
}

.thanks-card__lede {
   font-size:var(--fs-body);
   color:var(--ink-soft);
   line-height:1.6;
   max-width:48ch;
   margin-block-end:var(--space-lg);
}

.thanks-card__receipt {
   width:100%;
   padding:var(--space-md);
   background-color:var(--ground);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   text-align:left;
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
}

.error-wrapper {
   max-width:640px;
   margin-inline:auto;
   padding-block:var(--space-3xl) var(--space-4xl);
   text-align:center;
}

.error-code {
   font-family:var(--pili-fd8);
   font-size:clamp(4rem, 3rem + 4vw, 7rem);
   font-weight:800;
   color:var(--line);
   line-height:1;
   letter-spacing:-0.05em;
   margin-block-end:var(--space-xs);
}

.error-title {
   font-family:var(--pili-fd8);
   font-size:var(--fs-h2);
   font-weight:700;
   color:var(--ink);
   margin-block-end:var(--space-sm);
}

.error-text {
   font-size:var(--fs-body);
   color:var(--ink-soft);
   line-height:1.6;
   margin-block-end:var(--space-xl);
}

.error-links {
   display:flex;
   flex-wrap:wrap;
   justify-content:center;
   gap:var(--space-sm);
}

.faq-section {
   padding-block:var(--space-3xl);
   border-bottom:var(--border-thin);
}

.faq-list {
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
   max-width:820px;
   margin-inline:auto;
}

.faq-item {
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   background-color:var(--surface);
   overflow:hidden;
   transition:border-color var(--dur-fast) var(--ease-standard);
}

.faq-item:hover { border-color:var(--ink-soft); }

.faq-trigger {
   width:100%;
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-md);
   padding:var(--space-md);
   background:none;
   border:none;
   cursor:pointer;
   text-align:left;
   font-family:var(--pili-fd8);
   font-size:var(--fs-h4);
   font-weight:600;
   color:var(--ink);
   min-height:48px;
   transition:color var(--dur-fast) var(--ease-standard);
}

.faq-trigger:hover { color:var(--accent); }

.faq-trigger:focus-visible {
   outline:2px solid var(--accent);
   outline-offset:-2px;
}

.faq-trigger .icon {
   transition:transform var(--dur-base) var(--ease-standard);
   flex-shrink:0;
}

.faq-item[open] .faq-trigger .icon { transform:rotate(180deg); }

.faq-content {
   padding:0 var(--space-md) var(--space-md);
   font-family:var(--pili-a7c);
   font-size:var(--fs-body);
   line-height:var(--lh-prose);
   color:var(--ink-soft);
}

.faq-content p:last-child { margin-bottom:0; }

.tag-list {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-2xs);
   margin-block:var(--space-xs);
}

.tag-item {
   font-family:var(--pili-fb6);
   font-size:var(--fs-caption);
   padding:2px var(--space-xs);
   background-color:var(--surface-2);
   border:var(--border-thin);
   border-radius:var(--radius-xs);
   color:var(--ink);
}

@media (max-width: 480px) {
   :root {
      --fs-hero:clamp(1.85rem, 1.6rem + 1.25vw, 2.35rem);
      --gutter:1rem;
   }

   [data-opening] {
      padding-block:var(--space-lg) var(--space-xl);
      min-height:auto;
   }

   .hero-split__open { max-width:100%; }

   .hero-split__headline { font-size:var(--fs-hero); }

   .hero-split__actions {
      flex-direction:column;
      width:100%;
   }

   .hero-split__actions .btn { width:100%; }

   .stage-spine { padding-inline-start:1.5rem; }

   .stage-stop__marker { left:calc(-1.5rem + 0.75rem - 4px); }

   .inquiry-form { padding:var(--space-md); }
}

/* Low Contrast fixes: floor is 4.5:1 */
.offer-card__tag,
span.offer-card__tag,
div.offer-card__tag {
   color:#0d4b54;
   background-color:rgba(13, 75, 84, 0.12);
}

div.caption.mono,
.caption.mono,
.caption,
td.numeric,
.spec-table td.numeric { color:#0d4b54 !important; }

span.chip.chip--accent,
.chip--accent {
   color:#0d4b54;
   background-color:rgba(13, 75, 84, 0.14);
   border-color:rgba(13, 75, 84, 0.35);
}

span.dated-rail__meta-tag,
.dated-rail__meta-tag {
   color:#0d4b54;
   background-color:rgba(13, 75, 84, 0.12);
}

p a, li a, dd a, .prose a { color:#0d4b54; }

/* Squeezed text fix in thanks.html receipt row */
.thanks-card__receipt div {
   display:flex;
   flex-direction:column;
   align-items:flex-start;
   gap:0.25rem;
   width:100%;
}
.thanks-card__receipt span {
   display:block;
   width:100%;
   max-width:100%;
}

/* Small targets on touch: floor 24px, recommended 44px */
@media (pointer: coarse), (max-width: 768px) {
   .site-footer__contact-item,
   a[href^='tel:'],
   a[href^='mailto:'] {
      min-height:44px;
      display:inline-flex;
      align-items:center;
      padding-block:8px;
   }
}

/* Fixed VH fallback on iPhone Safari */
.chat-panel {
   max-height:calc(100vh - 2 * var(--space-md));
   max-height:calc(100svh - 2 * var(--space-md));
   max-height:calc(100dvh - 2 * var(--space-md));
}
.page-wrapper {
   min-height:100vh;
   min-height:100svh;
   min-height:100dvh;
}

/* Flat control fix: a.btn states */
a.btn, .btn { transition:background-color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard),
                     color var(--dur-fast) var(--ease-standard),
                     transform var(--dur-fast) var(--ease-standard),
                     box-shadow var(--dur-fast) var(--ease-standard); }
a.btn:hover, .btn:hover {
   transform:translateY(-1px);
   box-shadow:0 2px 6px rgba(39, 41, 43, 0.12);
}
a.btn:active, .btn:active {
   transform:translateY(0);
   box-shadow:none;
}
a.btn:focus-visible, .btn:focus-visible {
   outline:2px solid var(--accent);
   outline-offset:2px;
}

/* Covered text / overlap fixes in stages & inquiry */
.stage-stop,
.stage-marker-item {
   clear:both;
   position:relative;
}
.stage-stop__grid {
   clear:both;
   position:relative;
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-md);
}
@media (min-width: 860px) {
   .stage-stop__grid {
      grid-template-columns:1.35fr 0.65fr;
      gap:var(--space-xl);
   }
}
.stage-stop__content {
   position:relative;
   display:flex;
   flex-direction:column;
}
.stage-stop__media {
   position:relative;
   width:100%;
   height:auto;
   min-height:auto;
}
.stage-stop__facts,
.pull-quote-spread,
.inquiry-policy-card,
.spec-dl {
   position:relative;
   margin-block:var(--space-md);
}
.pull-quote-spread {
   clear:both;
   margin-top:var(--space-2xl);
}

/* Blenders cramped button at 320px */
@media (max-width: 480px) {
   .product-summary__actions {
      flex-direction:column;
      align-items:stretch;
      width:100%;
   }
   .product-summary__actions .btn {
      width:100%;
      white-space:normal;
      text-align:center;
   }
}

/* Offscreen text fixes: membership.html, privacy.html at 320 & 390px */
.site-container,
.site-container--narrow,
.site-container--prose,
.dated-rail-layout,
.dated-rail__content,
.dated-rail__section {
   max-width:100%;
   box-sizing:border-box;
   overflow-wrap:break-word;
   word-break:break-word;
   min-width:0;
}
code, pre {
   word-break:break-all;
   overflow-wrap:break-word;
   white-space:pre-wrap;
}
.dated-rail__strip { max-width:100vw; }

/* Art director home page fixes */
.feature-box {
   background-color:var(--surface);
   border:1px solid var(--line-strong);
   box-shadow:var(--shadow-sm);
}
.feature-strip { margin-top:var(--space-lg); }

/* Art Director index.html card row styling: committed surface on ground */
.feature-box {
   background-color:var(--surface);
   border:1px solid var(--line);
   border-left:3px solid var(--accent);
   border-radius:4px;
   box-shadow:none;
   padding:var(--space-lg);
   transition:background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);
}
.feature-box:hover {
   background-color:var(--surface-2);
   border-color:var(--line-strong);
   transform:none;
   box-shadow:none;
}
.feature-box__icon {
   background-color:var(--ground);
   color:var(--ink);
   border:1px solid var(--line);
   border-radius:4px;
}

.stage-stop,
.stage-stop__grid,
.stage-stop__content { overflow:visible; }

.stage-stop__media:has(.spec-dl) {
   aspect-ratio:auto;
   height:auto;
}

.stage-stop__media .spec-dl {
   height:auto !important;
   min-height:auto;
}

.spec-dl {
   clear:both;
   overflow:visible;
   margin-top:var(--space-md);
}

.pull-quote-spread {
   position:relative;
   z-index:2;
   clear:both;
}

.inquiry-policy-card {
   position:relative;
   z-index:2;
}

.stage-stop__media-caption {
   position:relative;
   z-index:1;
}

/* Membership and privacy text container fits at 320px */
@media (max-width: 480px) {
   .site-container,
   .site-container--narrow,
   .site-container--prose { padding-inline:12px; }
   .dated-rail-layout {
      display:flex;
      flex-direction:column;
      gap:var(--space-md);
   }
}
