/* d29 - the 0929 page design, Direction A "annual report" (founder's pick, 2026-09-29).
   GENERATED by Product/Site-Page-Design-0929/tools/port.py from shared/page.css, shared/site-pages.css
   and A/theme.css. Every rule is scoped under .d29; every class site.css also defines is renamed d29-*.
   Edit the design folder and re-run port.py, not this file. */
.d29 .deco{}
/* undo site.css element defaults inside the page */
.d29 :is(h1,h2,h3,h4,h5,h6){max-width:none;text-wrap:wrap}
.d29 :is(h1,h2,h3,h4,h5,h6) em{color:inherit}
.d29 ol{margin-block:1em;padding-inline-start:40px}
.d29 dl{margin-block:1em}
.d29 .fstep{background:none;border-radius:0}
.d29 .fstep legend{padding-inline:2px;gap:normal;align-items:normal}
.d29 .fstep legend b{display:inline;background:none;border-radius:0;grid-template-columns:none;align-items:normal;letter-spacing:inherit;font-size:inherit;line-height:inherit}
.d29 {--bg: #FAFAF7;
  --surface: #FFFFFF;
  --tint: #F2EFE8;            
  --ink: #141414;             
  --text: #2B2B2B;            
  --muted: #5E5E5A;           
  --rule: rgba(0, 0, 0, .08); 
  --accent: #9A5710;          
  --accent-soft: rgba(245, 158, 11, .30);
  --focus: #1D4E89;
  --foot-bg: #121212;
  --foot-ink: #F2EDE3;
  --foot-muted: #A8A49B;

  
  --serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --sans: "Instrument Sans", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-display: clamp(2.75rem, 1.6rem + 4.6vw, 5.5rem);   
  --fs-h2: clamp(2.25rem, 1.5rem + 3vw, 4rem);            
  --fs-h3: 1.1875rem;                                      
  --fs-stat: clamp(1.75rem, 1.4rem + 1.2vw, 2.375rem);
  --fs-quote: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
  --fs-lede: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);   
  --fs-body: clamp(1.0625rem, 1rem + .2vw, 1.1875rem);     
  --fs-small: .9375rem;
  --fs-eyebrow: .78125rem;                                 
  --lh-tight: 1.06;
  --lh-body: 1.6;
  --track-display: -.022em;
  --track-eyebrow: .12em;

  
  --gutter: clamp(1rem, .4rem + 3vw, 3.5rem);
  --max: 1280px;
  --col-gap: clamp(1rem, .5rem + 2vw, 2rem);
  --section: clamp(4.5rem, 2.5rem + 7vw, 10rem);   
  --stack-l: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
  --stack-m: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
  --stack-s: 1rem;
  --measure: 38rem;                                

  
  --radius: 16px;
  --radius-img: 18px;
  --shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 28px rgba(0,0,0,.05);

  
  --rise: 12px;
  --dur: 560ms;
  --ease: cubic-bezier(.2, .7, .2, 1);}
.d29 *, .d29 *::before, .d29 *::after {box-sizing: border-box;}
.d29 {-webkit-text-size-adjust: 100%; scroll-behavior: smooth;}
.d29 {margin: 0; background: var(--bg); color: var(--text);
  font: 400 var(--fs-body)/var(--lh-body) var(--sans);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: hidden;}
.d29 img {display: block; max-width: 100%; height: auto;}
.d29 a {color: inherit;}
.d29 h1, .d29 h2, .d29 h3, .d29 p, .d29 ul, .d29 figure {margin: 0;}
.d29 ul {padding: 0; list-style: none;}
.d29 :focus-visible {outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 4px;}
.d29 .d29-skip {position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--ink); color: #fff; padding: .6rem 1rem; border-radius: 8px; text-decoration: none;}
.d29 .d29-skip:focus {top: 1rem;}
.d29 .d29-wrap {width: 100%; max-width: calc(var(--max) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter);}
.d29 .grid {display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap);}
.d29 .display, .d29 .h2 {font-family: var(--serif); font-weight: 400; color: var(--ink);
  line-height: var(--lh-tight); letter-spacing: var(--track-display);
  text-wrap: balance;}
.d29 .display {font-size: var(--fs-display);}
.d29 .h2 {font-size: var(--fs-h2);}
.d29 .display em, .d29 .h2 em {font-style: italic;}
.d29 .eyebrow {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow);
  text-transform: uppercase; color: var(--accent);}
.d29 .eyebrow-n {font-variant-numeric: tabular-nums;}
.d29 .d29-lede {font-size: var(--fs-lede); line-height: 1.55; color: var(--text); max-width: var(--measure); text-wrap: pretty;}
.d29 .sub {max-width: var(--measure); text-wrap: pretty;}
.d29 .d29-crumbs {font-size: var(--fs-small); color: var(--muted);}
.d29 .d29-crumbs a {color: var(--muted); text-decoration: none;}
.d29 .d29-crumbs a:hover {color: var(--ink); text-decoration: underline;}
.d29 .d29-cta-row {display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center;}
.d29 .d29-btn {display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; padding: .75rem 1.35rem;
  border-radius: 999px; font: 600 1rem/1 var(--sans); text-decoration: none; letter-spacing: -.005em;
  transition: background-color .2s, color .2s, border-color .2s, transform .2s;}
.d29 .d29-btn .d29-arr {transition: transform .2s var(--ease);}
.d29 .d29-btn:hover .d29-arr {transform: translateX(3px);}
.d29 .d29-btn-primary {background: var(--ink); color: #fff;}
.d29 .d29-btn-primary:hover {background: #000;}
.d29 .d29-btn-ghost {color: var(--ink); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18);}
.d29 .d29-btn-ghost:hover {box-shadow: inset 0 0 0 1px var(--ink);}
.d29 .d29-btn-sm {min-height: 40px; padding: .55rem 1.05rem; font-size: .9375rem;}
.d29 .d29-btn-light {background: var(--ink); color: #fff;}
.d29 .d29-btn-out-dark {color: var(--ink); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18);}
.d29 .d29-btn-out-dark:hover {box-shadow: inset 0 0 0 1px var(--ink);}
.d29 .sec {padding-block: var(--section);}
.d29 .sec + .sec {border-top: 1px solid var(--rule);}
.d29 .sec.flush-top {padding-top: 0; border-top: 0;}
.d29 .statement {text-align: center;}
.d29 .statement .eyebrow {margin-bottom: var(--stack-s);}
.d29 .statement .h2 {max-width: 16ch; margin-inline: auto;}
.d29 .statement .sub {margin: var(--stack-m) auto 0; font-size: var(--fs-lede); line-height: 1.55;}
.d29 .asks {margin-top: var(--stack-l); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--col-gap);}
.d29 .asks > li {border-top: 1px solid var(--rule); padding-top: 1.25rem;}
.d29 .asks-g {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted); margin-bottom: .9rem;}
.d29 .asks ul {display: grid; gap: .9rem;}
.d29 .asks ul li {font-family: var(--serif); font-size: 1.3125rem; line-height: 1.3; color: var(--ink); text-wrap: pretty;}
.d29 .panel {background: var(--tint); border-radius: calc(var(--radius) + 6px);
  padding: clamp(1.25rem, .5rem + 4vw, 4.5rem);}
.d29 .panel .d29-shot {width: 100%; border-radius: 10px; background: #fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 18px 48px -12px rgba(20,20,20,.18);}
.d29 .panel-gap {margin-top: var(--stack-l);}
.d29 .feat3 {margin-top: var(--stack-l); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--col-gap);}
.d29 .feat3 > li {padding-top: 1.5rem; border-top: 1px solid var(--rule);}
.d29 .feat3 .ico {width: 28px; height: 28px; color: var(--ink); margin-bottom: 1.1rem;}
.d29 .feat3 h3 {font: 600 var(--fs-h3)/1.35 var(--sans); color: var(--ink); letter-spacing: -.01em; margin-bottom: .5rem;}
.d29 .feat3 p {color: var(--text); max-width: 34ch; text-wrap: pretty;}
.d29 .split {align-items: center; row-gap: var(--stack-l);}
.d29 .split-text {grid-column: 1 / span 5;}
.d29 .split-media {grid-column: 7 / span 6;}
.d29 .split.rev .split-text {grid-column: 8 / span 5; grid-row: 1;}
.d29 .split.rev .split-media {grid-column: 1 / span 6; grid-row: 1;}
.d29 .split-text .h2 {margin-bottom: var(--stack-m);}
.d29 .split-text .eyebrow {margin-bottom: var(--stack-s);}
.d29 .quotes {margin-top: var(--stack-m); display: grid; gap: 1.1rem;}
.d29 .quotes li {font: italic 400 var(--fs-quote)/1.28 var(--serif); color: var(--ink);
  padding-left: 1.25rem; border-left: 1px solid var(--rule); text-wrap: pretty;}
.d29 .quotes li:first-child {border-left-color: var(--accent);}
.d29 .editorial {padding-block: 0;}
.d29 .photo {width: 100%; border-radius: var(--radius-img); object-fit: cover;}
.d29 .photo-wide {aspect-ratio: 21 / 9;}
.d29 .bleed {width: 100%; object-fit: cover;}
.d29 .ph {position: relative; display: grid; place-items: center; text-align: left;
  aspect-ratio: 21 / 9; border-radius: var(--radius-img);
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,.025) 0 12px, transparent 12px 24px),
    #ECE8DF;
  border: 1px dashed rgba(0,0,0,.22); padding: clamp(1rem, 4vw, 3rem);}
.d29 .ph-in {max-width: 62ch; font: 400 .875rem/1.55 ui-monospace, "SF Mono", Menlo, monospace; color: #3F3D38;}
.d29 .ph-tag {display: inline-block; font: 600 .6875rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; background: var(--ink); color: #fff; padding: .45rem .6rem; border-radius: 4px; margin-bottom: .9rem;}
.d29 .ph-slot {display: block; font: 600 .8125rem/1.4 var(--sans); color: var(--ink); margin-bottom: .5rem;}
.d29 .room {padding-block: 0; border-top: 0 !important;}
.d29 .room-fig {position: relative; min-height: clamp(34rem, 70vh, 46rem); display: grid; align-items: end; color: #F6F2EA; isolation: isolate;}
.d29 .room-fig .bleed {position: absolute; inset: 0; height: 100%; z-index: -2;}
.d29 .room-fig::before {content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,10,10,.15) 0%, rgba(10,10,10,.35) 40%, rgba(10,10,10,.82) 100%);}
.d29 .room-copy {padding-block: var(--section) clamp(3rem, 2rem + 4vw, 6rem); align-items: end; row-gap: 1.5rem;}
.d29 .room-copy > div:first-child {grid-column: 1 / span 6;}
.d29 .room-copy > div:last-child {grid-column: 8 / span 5;}
.d29 .room-copy .eyebrow {color: #F4C77A; margin-bottom: var(--stack-s);}
.d29 .room-copy .h2 {color: #fff;}
.d29 .room-p {color: rgba(246,242,234,.9); margin-bottom: 1.5rem;}
.d29 .room-links {display: flex; flex-direction: column; gap: .6rem;}
.d29 .room-link {color: #fff; text-decoration: none; font-weight: 600; display: inline-flex; gap: .45rem; align-items: center; width: fit-content; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 2px;}
.d29 .room-link:hover {border-bottom-color: #fff;}
.d29 .room-shot {padding-block: var(--stack-l) 0;}
.d29 .status {margin-top: var(--stack-l);}
.d29 .status-h {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted); margin-bottom: 1.5rem;}
.d29 .d29-keys {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--col-gap);}
.d29 .d29-key {border-top: 1px solid var(--rule); padding-top: 1.25rem;}
.d29 .d29-key-t {font: 400 var(--fs-stat)/1.1 var(--serif); color: var(--ink); letter-spacing: -.015em; margin-bottom: .75rem; display: flex; align-items: baseline; gap: .6rem;}
.d29 .d29-key-t::before {content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; transform: translateY(-.2em); background: #B9B6AE;}
.d29 .d29-key-meets .d29-key-t::before {background: #2F7A4B;}
.d29 .d29-key-exception .d29-key-t::before {background: #C48A12;}
.d29 .d29-key-open .d29-key-t::before {background: #B4412F;}
.d29 .d29-key p:last-child {font-size: 1.0625rem; color: var(--text); text-wrap: pretty;}
.d29 .close {padding-block: var(--section);}
.d29 .close-card {text-align: center; border-radius: calc(var(--radius) + 8px); padding: clamp(3rem, 2rem + 5vw, 7rem) var(--gutter); background: var(--tint);}
.d29 .close-card .h2 {max-width: 14ch; margin-inline: auto;}
.d29 .close-card p {max-width: var(--measure); margin: var(--stack-m) auto; font-size: var(--fs-lede); line-height: 1.55; text-wrap: pretty;}
.d29 .close-card .d29-cta-row {justify-content: center;}
.d29 .rp {padding-block: var(--stack-l) var(--section);}
.d29 .rp-in {border-top: 1px solid var(--rule); padding-top: var(--stack-l); align-items: start; row-gap: 1.5rem;}
.d29 .rp-head {grid-column: 1 / span 5;}
.d29 .rp-list {grid-column: 7 / span 6;}
.d29 .rp-k {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted); margin-bottom: .75rem;}
.d29 .rp-h {font: 400 clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem)/1.1 var(--serif); color: var(--ink); letter-spacing: -.015em;}
.d29 .rp-item {display: grid; grid-template-columns: auto 1fr; gap: .4rem 1.1rem; text-decoration: none; padding: 1.5rem; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); transition: border-color .2s;}
.d29 .rp-item:hover {border-color: rgba(0,0,0,.2);}
.d29 .rp-mark {grid-row: span 3;}
.d29 .rp-mark .d29-picon {width: 40px; height: 40px;}
.d29 .rp-mark .d29-picon rect[fill="#F2EDE3"] {fill: #0C1A24;}
.d29 .rp-name {font-weight: 600; color: var(--ink); font-size: 1.125rem;}
.d29 .rp-job {color: var(--text);}
.d29 .rp-go {font-weight: 600; color: var(--ink); margin-top: .5rem; display: inline-flex; gap: .4rem;}
.d29.d29-anim .reveal {opacity: 0; transform: translateY(var(--rise)); transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);}
.d29.d29-anim .reveal.in {opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce){
.d29 {scroll-behavior: auto;}
.d29.d29-anim .reveal {opacity: 1; transform: none; transition: none;}
.d29 *, .d29 *::before, .d29 *::after {transition-duration: 0s !important; animation-duration: 0s !important;}
}
.d29 .nav {position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--rule);}
.d29 .d29-nav-in {display: flex; align-items: center; gap: 2rem; min-height: 68px;}
.d29 .d29-brand img {width: 112px; height: auto;}
.d29 .nav-links {display: flex; align-items: center; gap: .25rem; flex: 1; font-size: .9375rem;}
.d29 .nav-links > a, .d29 .nav-drop > summary {padding: .5rem .8rem; border-radius: 8px; color: var(--text); text-decoration: none; cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: .35rem;}
.d29 .nav-drop > summary::-webkit-details-marker {display: none;}
.d29 .nav-links > a:hover, .d29 .nav-drop > summary:hover, .d29 .nav-drop[open] > summary {color: var(--ink); background: rgba(0,0,0,.04);}
.d29 .d29-nav-caret {width: 12px; height: 12px; transition: transform .2s;}
.d29 .nav-drop[open] .d29-nav-caret {transform: rotate(180deg);}
.d29 .nav-drop {position: relative;}
.d29 .d29-nav-menu {position: absolute; top: calc(100% + 10px); left: -.5rem; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); box-shadow: 0 24px 60px -20px rgba(0,0,0,.22); padding: .75rem; display: grid; gap: .1rem; min-width: 320px;}
.d29 .d29-nm-prod, .d29 .d29-nav-menu-2 {grid-template-columns: 1fr 1fr; min-width: 640px; gap: .25rem 1rem;}
.d29 .d29-nm-col {display: grid; gap: .1rem; align-content: start;}
.d29 .d29-nm-sep {font: 600 .6875rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: .7rem .75rem .5rem;}
.d29 .d29-nav-menu a {display: grid; grid-template-columns: 22px 1fr; gap: .1rem .75rem; padding: .65rem .75rem; border-radius: 10px; text-decoration: none;}
.d29 .d29-nav-menu a:hover {background: var(--tint);}
.d29 .d29-nm-ico {width: 20px; height: 20px; grid-row: span 2; margin-top: 2px; color: var(--ink);}
.d29 .d29-nm-t {font-weight: 600; color: var(--ink); font-size: .9375rem;}
.d29 .d29-nm-d {color: var(--muted); font-size: .8125rem; line-height: 1.4;}
.d29 .d29-nav-util {margin-left: auto;}
.d29 .d29-nav-ul {color: var(--text); text-decoration: none; padding: .5rem .8rem;}
.d29 .d29-nav-ul:hover {color: var(--ink);}
.d29 .d29-nav-cta-m {display: none;}
.d29 .nav-toggle {display: none; margin-left: auto; width: 44px; height: 44px; border: 0; background: none; color: var(--ink); border-radius: 10px; cursor: pointer;}
.d29 .nav-toggle svg {width: 22px; height: 22px; margin: auto;}
.d29 .d29-nt-close {display: none;}
@media (max-width: 1080px){
.d29 .nav-toggle {display: grid;}
.d29 .d29-nav-cta {display: none;}
.d29 .nav-links {display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--bg); border-bottom: 1px solid var(--rule); flex-direction: column; align-items: stretch; padding: .5rem var(--gutter) 1.5rem; max-height: calc(100dvh - 68px); overflow-y: auto;}
.d29 .nav.is-open .nav-links {display: flex;}
.d29 .nav.is-open .d29-nt-open {display: none;}
.d29 .nav.is-open .d29-nt-close {display: block;}
.d29 .nav-drop > summary, .d29 .nav-links > a {justify-content: space-between; padding: .9rem .25rem; border-bottom: 1px solid var(--rule); border-radius: 0;}
.d29 .d29-nav-menu {position: static; box-shadow: none; border: 0; padding: .25rem 0 .75rem; min-width: 0;}
.d29 .d29-nm-prod, .d29 .d29-nav-menu-2 {grid-template-columns: 1fr; min-width: 0;}
.d29 .d29-nav-util {margin: 0;}
.d29 .d29-nav-ul {display: block; padding: .9rem .25rem;}
.d29 .d29-nav-cta-m {display: block; margin-top: 1rem;}
.d29 .d29-nav-cta-m .d29-btn {width: 100%; justify-content: center;}
}
.d29 .d29-foot {background: var(--foot-bg); color: var(--foot-muted); padding-block: clamp(3.5rem, 2rem + 5vw, 6rem) 2rem; font-size: .9375rem;}
.d29 .d29-foot a {color: var(--foot-ink); text-decoration: none;}
.d29 .d29-foot a:hover {text-decoration: underline;}
.d29 .d29-foot-top {display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2.5rem var(--col-gap);}
.d29 .d29-f-brand img {width: 112px; height: auto;}
.d29 .d29-f-tag {color: var(--foot-ink); margin-top: 1.25rem; font-family: var(--serif); font-size: 1.5rem; line-height: 1.2;}
.d29 .d29-f-mission {margin-top: .75rem; max-width: 32ch;}
.d29 .d29-foot h3 {font: 600 .6875rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--foot-muted); margin-bottom: 1.1rem;}
.d29 .d29-foot ul {display: grid; gap: .6rem;}
.d29 .d29-f-pl {display: inline-flex; align-items: center; gap: .55rem;}
.d29 .d29-f-ico {width: 16px; height: 16px;}
.d29 .d29-f-brk {margin-top: .6rem;}
.d29 .d29-foot-rule {height: 1px; background: rgba(255,255,255,.1); margin-block: 3rem 1.5rem;}
.d29 .d29-f-meta {display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; font-size: .875rem;}
.d29 .d29-f-leg {color: var(--foot-muted) !important; background: none; border: 0; font: inherit; padding: 0; cursor: pointer;}
@media (max-width: 960px){
.d29 .split-text, .d29 .split-media, .d29 .split.rev .split-text, .d29 .split.rev .split-media {grid-column: 1 / -1; grid-row: auto;}
.d29 .room-copy > div:first-child, .d29 .room-copy > div:last-child {grid-column: 1 / -1;}
.d29 .rp-head, .d29 .rp-list {grid-column: 1 / -1;}
.d29 .asks, .d29 .d29-keys {grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem;}
.d29 .d29-foot-top {grid-template-columns: 1fr 1fr;}
.d29 .d29-f-brand-col {grid-column: 1 / -1;}
}
@media (max-width: 700px){
.d29 .feat3, .d29 .asks, .d29 .d29-keys {grid-template-columns: 1fr;}
.d29 .feat3 {row-gap: 2rem;}
.d29 .photo-wide, .d29 .ph {aspect-ratio: 4 / 3;}
.d29 .ph {aspect-ratio: auto; min-height: 22rem;}
.d29 .panel {border-radius: var(--radius);}
.d29 .d29-cta-row .d29-btn {width: 100%; justify-content: center;}
.d29 .d29-foot-top {grid-template-columns: 1fr;}
}
.d29 .split-text {grid-column: 1 / span 5;}
.d29 .split-media {grid-column: 6 / span 7;}
.d29 .split.rev .split-text {grid-column: 9 / span 4;}
.d29 .split.rev .split-media {grid-column: 1 / span 7;}
.d29 .split .panel {padding: clamp(1rem, .5rem + 2.2vw, 2.75rem);}
.d29 .editorial, .d29 .editorial + .sec, .d29 .room + .sec {border-top: 0 !important;}
.d29 .photo, .d29 .bleed {filter: saturate(.8) contrast(.97);}
@media (max-width: 960px){
.d29 .split-text, .d29 .split-media, .d29 .split.rev .split-text, .d29 .split.rev .split-media {grid-column: 1 / -1; grid-row: auto;}
}
.d29 {--hero-photo-pos: 50% 50%;
  --card-bg: var(--surface);}
.d29 .d29-hero {padding-top: clamp(2.5rem, 1rem + 5vw, 6rem);}
.d29 .d29-hero .d29-crumbs {margin-bottom: var(--stack-l);}
.d29 .d29-hero .eyebrow {margin-bottom: 1.4rem;}
.d29 .d29-hero .display {margin-bottom: var(--stack-m); max-width: 15ch;}
.d29 .d29-hero .d29-lede {margin-bottom: var(--stack-m);}
.d29 .d29-hero .d29-lede + .d29-lede {margin-top: calc(-1 * var(--stack-m) + 1rem);}
.d29 .hero-photo {object-position: var(--hero-photo-pos);}
.d29 .hero-media figcaption, .d29 .fig-cap {margin-top: .75rem; font-size: .8125rem; color: var(--muted);}
.d29 .hero-noimg .hero-text {grid-column: 1 / span 9;}
.d29 .head {max-width: 46rem; margin-bottom: var(--stack-l);}
.d29 .head .eyebrow {margin-bottom: var(--stack-s);}
.d29 .head .h2 + .sub, .d29 .head .h2 + p {margin-top: var(--stack-m); font-size: var(--fs-lede); line-height: 1.55;}
.d29 .head-c {text-align: center; margin-inline: auto;}
.d29 .head-c .sub, .d29 .head-c p {margin-inline: auto;}
.d29 .h3 {font: 400 clamp(1.625rem, 1.3rem + 1vw, 2.125rem)/1.15 var(--serif); color: var(--ink); letter-spacing: -.015em; text-wrap: balance;}
.d29 .prose p + p, .d29 .split-text p + p, .d29 .sub + .sub {margin-top: 1rem;}
.d29 .split-text .d29-cta-row, .d29 .head .d29-cta-row {margin-top: var(--stack-m);}
.d29 .d29-tlink {display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); padding-bottom: 2px;}
.d29 .d29-tlink:hover {border-bottom-color: var(--ink);}
.d29 .d29-tlink .d29-arr {transition: transform .2s var(--ease);}
.d29 .d29-tlink:hover .d29-arr {transform: translateX(3px);}
.d29 .rows {display: grid;}
.d29 .rows > li {display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: .5rem var(--col-gap); padding-block: 1.5rem; border-top: 1px solid var(--rule);}
.d29 .rows > li:last-child {border-bottom: 1px solid var(--rule);}
.d29 .rows h3, .d29 .rows .row-t {font: 400 clamp(1.375rem, 1.2rem + .6vw, 1.75rem)/1.2 var(--serif); color: var(--ink); letter-spacing: -.01em;}
.d29 .d29-checks {display: grid; gap: .75rem;}
.d29 .d29-checks > li {position: relative; padding-left: 1.6rem;}
.d29 .d29-checks > li::before {content: ""; position: absolute; left: 0; top: .72em; width: .7rem; height: 1px; background: var(--ink);}
.d29 .feat2, .d29 .feat4 {margin-top: var(--stack-l); display: grid; gap: var(--col-gap);}
.d29 .feat2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.d29 .feat4 {grid-template-columns: repeat(4, minmax(0, 1fr));}
.d29 .feat2 > li, .d29 .feat4 > li {padding-top: 1.5rem; border-top: 1px solid var(--rule);}
.d29 .feat2 h3, .d29 .feat4 h3 {font: 600 var(--fs-h3)/1.35 var(--sans); color: var(--ink); letter-spacing: -.01em; margin-bottom: .5rem;}
.d29 .feat2 .ico, .d29 .feat4 .ico {width: 28px; height: 28px; color: var(--ink); margin-bottom: 1.1rem;}
.d29 .head + .feat2, .d29 .head + .feat3, .d29 .head + .feat4, .d29 .head + .rows, .d29 .head + .d29-cards {margin-top: 0;}
.d29 .d29-cards {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--col-gap);}
.d29 .d29-card {background: var(--card-bg); border: 1px solid var(--rule); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); display: flex; flex-direction: column; gap: .75rem;}
.d29 .d29-card h3 {font: 400 clamp(1.5rem, 1.3rem + .6vw, 1.875rem)/1.15 var(--serif); color: var(--ink); letter-spacing: -.012em;}
.d29 .d29-card .card-k {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted);}
.d29 .d29-card .d29-tlink, .d29 .d29-card .d29-btn {margin-top: auto; align-self: flex-start;}
.d29 a.d29-card {text-decoration: none; color: inherit; transition: border-color .2s;}
.d29 a.d29-card:hover {border-color: rgba(0,0,0,.2);}
.d29 .d29-steps {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--col-gap); counter-reset: step;}
.d29 .d29-steps > li {border-top: 1px solid var(--rule); padding-top: 1.25rem; counter-increment: step;}
.d29 .d29-steps > li::before {content: counter(step, decimal-leading-zero); display: block; font: 400 var(--fs-stat)/1 var(--serif); color: var(--muted); margin-bottom: 1rem; font-variant-numeric: tabular-nums;}
.d29 .d29-steps h3 {font: 600 var(--fs-h3)/1.35 var(--sans); color: var(--ink); margin-bottom: .5rem;}
.d29 .stats {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--col-gap);}
.d29 .stat {border-top: 1px solid var(--rule); padding-top: 1.25rem;}
.d29 .stat-n {display: block; font: 400 clamp(2.75rem, 2rem + 2.6vw, 4.5rem)/1 var(--serif); color: var(--ink); letter-spacing: -.025em; margin-bottom: .6rem; font-variant-numeric: lining-nums;}
.d29 .stat-c {display: block; font-size: var(--fs-small); color: var(--muted); max-width: 26ch;}
.d29 .bleed-fig {position: relative; margin: 0;}
.d29 .bleed-fig .bleed {height: clamp(20rem, 46vw, 40rem);}
.d29 .bleed-quote {position: relative; isolation: isolate; color: #F6F2EA; min-height: clamp(30rem, 62vh, 42rem); display: grid; align-items: end;}
.d29 .bleed-quote .bleed {position: absolute; inset: 0; height: 100%; z-index: -2;}
.d29 .bleed-quote::before {content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12,10,8,.2) 0%, rgba(12,10,8,.5) 45%, rgba(12,10,8,.86) 100%);}
.d29 .bleed-quote .d29-wrap {padding-block: var(--section) clamp(3rem, 2rem + 4vw, 6rem);}
.d29 .bleed-quote .h2, .d29 .bleed-quote .quote-big {color: #fff; max-width: 22ch;}
.d29 .bleed-quote p {color: rgba(246,242,234,.9); max-width: var(--measure);}
.d29 .bleed-quote .eyebrow {color: #F4C77A; margin-bottom: var(--stack-s);}
.d29 .quote-big {font: italic 400 clamp(1.875rem, 1.3rem + 2.2vw, 3.25rem)/1.18 var(--serif); letter-spacing: -.015em; color: var(--ink); padding-left: clamp(1.25rem, 1rem + 1vw, 2rem); border-left: 1px solid var(--accent); max-width: 30ch; text-wrap: balance;}
.d29 .d29-faq {border-top: 1px solid var(--rule);}
.d29 .d29-faq details {border-bottom: 1px solid var(--rule);}
.d29 .d29-faq summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1.5rem; align-items: baseline; padding-block: 1.4rem; font: 400 clamp(1.25rem, 1.1rem + .5vw, 1.5rem)/1.3 var(--serif); color: var(--ink);}
.d29 .d29-faq summary::-webkit-details-marker {display: none;}
.d29 .d29-faq summary::after {content: "+"; font: 400 1.5rem/1 var(--sans); color: var(--muted); transition: transform .2s; flex: none;}
.d29 .d29-faq details[open] summary::after {transform: rotate(45deg);}
.d29 .d29-faq .faq-a {padding-bottom: 1.5rem; max-width: var(--measure);}
.d29 .d29-faq .faq-a p + p {margin-top: .75rem;}
.d29 .d29-plans {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--col-gap); align-items: stretch;}
.d29 .d29-plan {border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); padding: 2rem 1.75rem; display: flex; flex-direction: column; gap: 1rem;}
.d29 .plan-name {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted);}
.d29 .plan-price {font: 400 clamp(2.5rem, 2rem + 1.6vw, 3.5rem)/1 var(--serif); color: var(--ink); letter-spacing: -.02em;}
.d29 .plan-price small {font: 400 var(--fs-small)/1.4 var(--sans); color: var(--muted); letter-spacing: 0;}
.d29 .d29-plan .d29-checks {font-size: 1rem;}
.d29 .d29-plan .d29-btn {margin-top: auto; justify-content: center;}
.d29 .plan-feature {border-color: var(--ink);}
.d29 .tbl-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.d29 .tbl {width: 100%; border-collapse: collapse; font-size: 1rem;}
.d29 .tbl th, .d29 .tbl td {text-align: left; padding: 1rem .75rem; border-bottom: 1px solid var(--rule); vertical-align: top;}
.d29 .tbl thead th {font: 600 var(--fs-eyebrow)/1.4 var(--sans); letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--muted);}
.d29 .tbl tbody th {font-weight: 600; color: var(--ink);}
.d29 .form {display: grid; gap: 1.25rem;}
.d29 .form label, .d29 .form legend {display: block; font-weight: 600; color: var(--ink); font-size: .9375rem; margin-bottom: .45rem;}
.d29 .form input:not([type=checkbox]):not([type=radio]), .d29 .form select, .d29 .form textarea {width: 100%; min-height: 48px; padding: .75rem .95rem; font: 400 1rem/1.4 var(--sans); color: var(--ink);
  background: var(--surface); border: 1px solid rgba(0,0,0,.2); border-radius: 10px;}
.d29 .form textarea {min-height: 9rem; resize: vertical;}
.d29 .form input:focus-visible, .d29 .form select:focus-visible, .d29 .form textarea:focus-visible {outline: 2px solid var(--focus); outline-offset: 1px; border-color: transparent;}
.d29 .form fieldset {border: 0; padding: 0; margin: 0;}
.d29 .form .d29-hint {font-size: .875rem; color: var(--muted); margin-top: .35rem;}
.d29 .form-card {background: var(--surface); border: 1px solid var(--rule); border-radius: calc(var(--radius) + 4px); box-shadow: var(--shadow); padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);}
.d29 .prose {max-width: 42rem;}
.d29 .prose h2 {font: 400 clamp(1.625rem, 1.3rem + 1vw, 2.125rem)/1.2 var(--serif); color: var(--ink); letter-spacing: -.012em; margin: 3rem 0 1rem;}
.d29 .prose h3 {font: 600 var(--fs-h3)/1.35 var(--sans); color: var(--ink); margin: 2rem 0 .5rem;}
.d29 .prose p, .d29 .prose ul, .d29 .prose ol {margin-bottom: 1rem;}
.d29 .prose ul {list-style: disc; padding-left: 1.25rem;}
.d29 .prose ol {padding-left: 1.25rem;}
.d29 .prose li + li {margin-top: .4rem;}
.d29 .prose a {color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 3px;}
.d29 .prose table {width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .9375rem;}
.d29 .prose th, .d29 .prose td {text-align: left; padding: .75rem .5rem; border-bottom: 1px solid var(--rule); vertical-align: top;}
.d29 .d29-toc {position: sticky; top: 96px; font-size: .9375rem;}
.d29 .d29-toc a {display: block; padding: .35rem 0; color: var(--muted); text-decoration: none;}
.d29 .d29-toc a:hover {color: var(--ink);}
.d29 .panel video {width: 100%; display: block; border-radius: 10px; background: #000; box-shadow: 0 0 0 1px rgba(0,0,0,.06), 0 18px 48px -12px rgba(20,20,20,.18);}
.d29 .panel figcaption {margin-top: 1rem; font-size: .8125rem; color: var(--muted); text-align: center;}
.d29 .ul-draw {background-image: linear-gradient(var(--accent), var(--accent)); background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 1.5px; transition: background-size 900ms var(--ease) 250ms; padding-bottom: .04em;}
.d29 .in .ul-draw, .d29 .ul-draw.in {background-size: 100% 1.5px;}
.d29 .dx-switch {position: fixed; right: 16px; bottom: 16px; z-index: 90; display: flex; gap: .25rem; align-items: center; padding: .3rem; border-radius: 999px; background: rgba(20,20,20,.92); color: #fff; font: 600 .8125rem/1 var(--sans); box-shadow: 0 10px 30px rgba(0,0,0,.25);}
.d29 .dx-switch a, .d29 .dx-switch span {padding: .55rem .8rem; border-radius: 999px; color: #fff; text-decoration: none;}
.d29 .dx-switch a:hover {background: rgba(255,255,255,.14);}
.d29 .dx-cur {background: rgba(255,255,255,.18);}
@media (max-width: 960px){
.d29 .feat4 {grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem;}
.d29 .rows > li {grid-template-columns: 1fr;}
.d29 .hero-noimg .hero-text {grid-column: 1 / -1;}
.d29 .d29-toc {position: static;}
}
@media (max-width: 700px){
.d29 .feat2, .d29 .feat4 {grid-template-columns: 1fr; row-gap: 2rem;}
.d29 .bleed-fig .bleed {height: 22rem;}
.d29 .dx-switch {right: 8px; bottom: 8px; font-size: .75rem;}
}
.d29 .close-card .eyebrow {color: var(--muted);}
.d29 {--bg: #FAFAF7;
  --tint: #F1EDE4;
  --accent: #8F520E;          
  --focus: #8F520E;}
.d29 .display em.hl, .d29 .h2 em.hl, .d29 .h3 em.hl {color: var(--accent);}
.d29 .eyebrow-n {color: var(--muted); display: flex; align-items: center; gap: .75rem;}
.d29 .eyebrow-n::after {content: ""; width: 2.5rem; height: 1px; background: currentColor; opacity: .45;}
.d29 .statement .eyebrow-n, .d29 .head-c .eyebrow-n {justify-content: center;}
.d29 .d29-hero .eyebrow {color: var(--muted);}
.d29 .d29-hero {padding-bottom: var(--section);}
.d29 .hero-grid {align-items: stretch; row-gap: var(--stack-l);}
.d29 .hero-text {grid-column: 1 / span 7; align-self: end;}
.d29 .hero-media {grid-column: 8 / span 5; display: flex; flex-direction: column; margin: 0;}
.d29 .hero-media .photo {aspect-ratio: auto; height: 100%; min-height: 28rem; border-radius: var(--radius-img);}
.d29 .hero-media .ph {aspect-ratio: 4 / 5; height: 100%;}
.d29 .photo, .d29 .bleed {filter: sepia(.14) saturate(.8) contrast(.96) brightness(1.04);}
@media (max-width: 960px){
.d29 .hero-text, .d29 .hero-media {grid-column: 1 / -1;}
.d29 .hero-media .photo {aspect-ratio: 3 / 2; height: auto; min-height: 0;}
}
