/* Capital Redesign Widgets · generated from site/assets/css by _dev/build_plugin.py. Do not edit by hand. */

/* ── Elementor integration: every widget is one full-width block, no container padding or gaps ── */
.elementor-element[class*="elementor-widget-cap-"]{inline-size:100%}
.elementor-widget[class*="elementor-widget-cap-"]>.elementor-widget-container{margin:0;padding:0}
.e-con:has(> .elementor-widget[class*="elementor-widget-cap-"]),
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-cap-"]){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--content-width:100%;--margin-top:0px;--margin-bottom:0px}
.e-con:has(.cap-w) > .e-con-inner{max-width:none}
body:has(.cap-w){background:#FBF8F3;overflow-x:clip}
html:has(.cap-w){scroll-padding-top:100px}
.cap-w{display:block}

/* ── Armour: the theme and the kit colour/font every h2/p/a/span; ours inherit. Two classes beat
      .elementor-kit-N h2, :where() keeps the reset at (0,2,0) so every scoped rule below still wins. ── */
.cap-w.cap-w :where(*){color:inherit;font-family:inherit;letter-spacing:inherit;text-transform:inherit}
.cap-w.cap-w :where(label){line-height:inherit;vertical-align:baseline;display:revert}
.cap-w.cap-w{color:var(--ink);font-family:var(--f-body);font-size:var(--fs-body);line-height:1.65;text-align:start;letter-spacing:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.cap-w.cap-w :where(a,button){-webkit-tap-highlight-color:transparent}
/* tokens */
@font-face{ font-family: "Cap Fraunces"; src: url("../fonts/fraunces.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face{ font-family: "Cap Fraunces"; src: url("../fonts/fraunces-italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face{ font-family: "Cap Manrope"; src: url("../fonts/manrope.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face{ font-family: "Cap Marcellus"; src: url("../fonts/marcellus.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
.cap-w{--paper:   #FBF8F3;
  --linen:   #F3EDE4;
  --sand:    #EADFCF;
  --sun:     #FFF7EA;
  --sun-2:   #FCEFD9;
  --oak:     #C9965F;
  --oak-ink: #8A5A2B;
  --greige:  #CDBBA5;
  --gold:    #C9A56A;
  --gold-ink:#85642F;
  --ink:     #2A241F;
  --ink-soft:#5F5650;
  --night:   #221D19;
  --night-2: #2E2721;
  --white:   #FFFFFF;

  
  --ground: var(--paper);
  --on-ground: var(--ink);
  --on-ground-soft: var(--ink-soft);
  --on-ground-accent: var(--oak-ink);
  --on-ground-line: rgba(42, 36, 31, .14);
  --surface: var(--white);
  --on-surface: var(--ink);

  
  --sh-1: 0 1px 2px rgba(42, 36, 31, .06), 0 8px 24px -12px rgba(42, 36, 31, .18);
  --sh-2: 0 2px 4px rgba(42, 36, 31, .05), 0 30px 60px -28px rgba(42, 36, 31, .35);
  --sh-3: 0 40px 90px -40px rgba(74, 52, 28, .45);

  
  --f-display: "Cap Fraunces", "Iowan Old Style", Georgia, serif;
  --f-body: "Cap Manrope", "Helvetica Neue", Arial, sans-serif;
  --f-label: "Cap Marcellus", "Cap Fraunces", Georgia, serif;

  --fs-mega: clamp(2.9rem, 1.6rem + 4.6vw, 6.1rem);
  --fs-h2:   clamp(2.3rem, 1.4rem + 3.2vw, 4.6rem);
  --fs-h3:   clamp(1.45rem, 1.1rem + 1vw, 2rem);
  --fs-lead: clamp(1.06rem, 1rem + .3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-small: .875rem;
  --fs-label: .78rem;

  
  --max: 1320px;
  --gutter: clamp(20px, 4.2vw, 64px);
  --hdr-h: 76px;
  --r-s: 10px;
  --r-m: 18px;
  --r-l: 28px;
  --chapter-y: clamp(80px, 9vw, 136px);

  
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-soft: cubic-bezier(.16, 1, .3, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);

  --z-header: 50;
  --z-dock: 45;
  --z-menu: 60;}
.cap-w.cap-w [data-tone="paper"]{--ground: var(--paper);}
.cap-w.cap-w [data-tone="linen"]{--ground: var(--linen);}
.cap-w.cap-w [data-tone="sun"]{--ground: var(--sun);}
.cap-w.cap-w [data-tone="night"]{--ground: var(--night);
  --on-ground: #F6EFE4;
  --on-ground-soft: #C9BEB0;
  --on-ground-accent: var(--gold);
  --on-ground-line: rgba(246, 239, 228, .14);
  --surface: var(--night-2);
  --on-surface: #F6EFE4;}
/* base */
.cap-w.cap-w :where(*,*::before,*::after){box-sizing: border-box;}
.cap-w.cap-w :where(h1,h2,h3,h4,p,figure,ul,ol,blockquote,fieldset){margin: 0;}
.cap-w.cap-w :where(ul,ol){padding: 0; list-style: none;}
.cap-w.cap-w :where(img,svg){display: block; max-width: 100%;}
.cap-w.cap-w :where(img){height: auto;}
.cap-w.cap-w :where(button,input,textarea,select){font: inherit; color: inherit;}
.cap-w.cap-w :where(a){color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent;}
.cap-w.cap-w :where(fieldset){border: 0; padding: 0; min-width: 0;}
.cap-w.cap-w{font-family: var(--f-body);font-size: var(--fs-body);line-height: 1.65;color: var(--ink);-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility}
html.lenis,html.lenis body{height: auto;}
.lenis.lenis-smooth{scroll-behavior: auto !important;}
.cap-w.cap-w ::selection{background: var(--sand); color: var(--ink);}
.cap-w.cap-w :focus-visible{outline: 3px solid var(--oak); outline-offset: 3px; border-radius: 6px;}
.cap-w.cap-w .sr{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.cap-w.cap-w .skip{position: absolute; top: 12px; left: 12px; z-index: 100; padding: 12px 18px; border-radius: 999px; background: var(--ink); color: var(--paper); transform: translateY(-160%); transition: transform .2s var(--ease-out);}
.cap-w.cap-w .skip:focus{transform: none;}
.cap-w.cap-w .wrap{width: 100%; max-width: calc(var(--max) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter);}
.cap-w.cap-w .eyebrow{display: inline-flex; align-items: center; gap: 14px;
  font-family: var(--f-label); font-size: var(--fs-label); letter-spacing: .24em; text-transform: uppercase;
  color: var(--on-ground-accent); line-height: 1.4;}
.cap-w.cap-w .eyebrow::before{content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; flex: none;}
.cap-w.cap-w .eyebrow--sm{font-size: .76rem; letter-spacing: .2em;}
.cap-w.cap-w .eyebrow--sm::before{width: 22px;}
.cap-w.cap-w .h2{font-family: var(--f-display); font-weight: 500; font-size: var(--fs-h2);
  line-height: 1.02; letter-spacing: -.022em; color: var(--on-ground);
  text-wrap: balance; max-width: 16ch; margin-top: 22px;
  font-optical-sizing: auto;}
.cap-w.cap-w .h3{font-family: var(--f-display); font-weight: 500; font-size: var(--fs-h3); line-height: 1.12; letter-spacing: -.012em; color: var(--on-ground); text-wrap: balance;}
.cap-w.cap-w :is(.h2, .h3, h1, .who__title, .final__title) em{font-style: italic; font-weight: 400; color: var(--on-ground-accent);}
.cap-w.cap-w .lead{font-size: var(--fs-lead); line-height: 1.6; color: var(--on-ground);}
.cap-w.cap-w p{color: var(--on-ground-soft);}
.cap-w.cap-w .link{display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
  font-family: var(--f-label); font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--on-ground);
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 9px) / 100% 1px no-repeat;
  transition: color .2s ease, background-size .35s var(--ease-out);}
.cap-w.cap-w .link span[aria-hidden]{transition: transform .3s var(--ease-out);}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .link:hover{color: var(--on-ground-accent);}
.cap-w.cap-w .link:hover span[aria-hidden]{transform: translateX(4px);}
}
.cap-w.cap-w .btn{--bg: transparent; --fg: var(--on-ground); --bd: var(--on-ground-line);
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 28px; border-radius: 999px;
  border: 1px solid var(--bd); background: var(--bg); color: var(--fg);
  font-family: var(--f-body); font-weight: 650; font-size: .92rem; letter-spacing: .01em; line-height: 1.2;
  white-space: nowrap; cursor: pointer; text-align: center;
  transition: transform .16s var(--ease-out), background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .3s ease;
  -webkit-tap-highlight-color: transparent;}
.cap-w.cap-w .btn:active{transform: scale(.97);}
.cap-w.cap-w .btn--solid{--bg: var(--ink); --fg: var(--paper); --bd: var(--ink); box-shadow: 0 10px 24px -14px rgba(42, 36, 31, .55);}
.cap-w.cap-w .btn--ghost{--bg: rgba(255, 255, 255, .55); --bd: rgba(42, 36, 31, .2);}
.cap-w.cap-w .btn--line{--bg: transparent; --bd: rgba(42, 36, 31, .28);}
.cap-w.cap-w .btn--wide{width: 100%;}
.cap-w.cap-w .btn:focus-visible{outline: 3px solid var(--oak); outline-offset: 3px;}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .btn--solid:hover{--bg: var(--oak-ink); --bd: var(--oak-ink); box-shadow: 0 16px 30px -16px rgba(138, 90, 43, .7);}
.cap-w.cap-w .btn--ghost:hover,.cap-w.cap-w .btn--line:hover{--bg: var(--white); --bd: var(--ink);}
}
.cap-w.cap-w [data-tone="night"] .btn--line{--bd: rgba(246, 239, 228, .3); --fg: #F6EFE4;}
.cap-w.cap-w .windows{display: inline-grid; grid-template-columns: repeat(3, 1fr); gap: 3px; width: 26px; flex: none;}
.cap-w.cap-w .windows i{aspect-ratio: 1; border-radius: 1.5px; background: rgba(42, 36, 31, .12); transition: background-color .5s ease, box-shadow .5s ease;}
.cap-w.cap-w .windows i.on,.cap-w.cap-w .windows--lit i{background: var(--gold); box-shadow: 0 0 8px rgba(201, 165, 106, .7);}
.cap-w.cap-w .ch{position: relative; isolation: isolate; overflow-x: clip; padding-block: var(--chapter-y);}
.cap-w.cap-w .ch > .ch__bg{--fe: 18vh;
  position: absolute; inset: calc(var(--fe) * -.5) 0; z-index: -1; pointer-events: none; background: var(--ground);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.4) calc(var(--fe) * .5), #000 var(--fe), #000 calc(100% - var(--fe)), rgba(0,0,0,.4) calc(100% - var(--fe) * .5), transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.4) calc(var(--fe) * .5), #000 var(--fe), #000 calc(100% - var(--fe)), rgba(0,0,0,.4) calc(100% - var(--fe) * .5), transparent 100%);}
@media (max-width: 767px){
.cap-w.cap-w .ch > .ch__bg{--fe: 9vh;}
}
.cap-w.cap-w .ch > .ch__bg::before,.cap-w.cap-w .ch > .ch__bg::after{content: ""; position: absolute; inset: 0; pointer-events: none;}
.cap-w.cap-w [data-tone="paper"] > .ch__bg::after{background:
    radial-gradient(38% 46% at 86% 18%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 70%),
    radial-gradient(42% 50% at 8% 82%, rgba(234, 223, 207, .7), rgba(234, 223, 207, 0) 72%);}
.cap-w.cap-w [data-tone="linen"] > .ch__bg::after{background-image:
    linear-gradient(rgba(138, 90, 43, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(138, 90, 43, .075) 1px, transparent 1px),
    linear-gradient(rgba(138, 90, 43, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(138, 90, 43, .035) 1px, transparent 1px);
  background-size: 96px 96px, 96px 96px, 24px 24px, 24px 24px;
  background-position: center top;
  -webkit-mask-image: radial-gradient(70% 60% at 50% 45%, #000 0%, rgba(0, 0, 0, .35) 55%, transparent 85%);
          mask-image: radial-gradient(70% 60% at 50% 45%, #000 0%, rgba(0, 0, 0, .35) 55%, transparent 85%);}
.cap-w.cap-w [data-tone="sun"] > .ch__bg::after{background: repeating-linear-gradient(112deg, rgba(255, 255, 255, 0) 0 180px, rgba(255, 255, 255, .6) 180px 300px, rgba(255, 255, 255, 0) 300px 380px, rgba(255, 255, 255, .45) 380px 420px, rgba(255, 255, 255, 0) 420px 760px);
  -webkit-mask-image: radial-gradient(80% 70% at 30% 20%, #000, transparent 80%);
          mask-image: radial-gradient(80% 70% at 30% 20%, #000, transparent 80%);}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .ch > .ch__bg::before{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .13 0 0 0 0 .09 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
    background-size: 220px 220px; opacity: .4;}
}
.cap-w.cap-w .rv{transition: opacity .9s var(--ease-soft), transform 1s var(--ease-soft), filter .9s var(--ease-soft); transition-delay: var(--d, 0ms);}
html.cap-anim .cap-w.cap-w .rv:not(.is-in){opacity: 0; transform: translateY(36px);}
@media (min-width: 901px) and (hover: hover){
html.cap-anim .cap-w.cap-w .rv:not(.is-in){filter: blur(6px);}
}
.cap-w.cap-w .w{display: inline-block; white-space: nowrap;}
.cap-w.cap-w .w > span{display: inline-block; transition: transform 1.05s var(--ease-soft), opacity .8s var(--ease-soft); transition-delay: calc(var(--wi, 0) * 55ms + 150ms);}
html.cap-anim .cap-w.cap-w [data-split]:not(.is-in) .w > span{transform: translateY(.6em) rotate(2.5deg); opacity: 0;}
.cap-w.cap-w .w-clip{display: inline-block; overflow: clip; overflow-clip-margin: .2em; padding-bottom: .08em; margin-bottom: -.08em; vertical-align: top;}
.cap-w.cap-w .hdr{position: fixed; inset: 14px 0 auto; z-index: var(--z-header); pointer-events: none; transition: transform .45s var(--ease-out);}
.cap-w.cap-w .hdr__pill{pointer-events: auto; position: relative;
  display: flex; align-items: center; gap: clamp(14px, 2vw, 30px);
  width: calc(100% - var(--gutter) * 2 + 24px); max-width: calc(var(--max) + 24px); margin-inline: auto;
  min-height: 62px; padding: 8px 8px 8px 22px; border-radius: 999px;
  background: rgba(255, 252, 247, .78); border: 1px solid rgba(42, 36, 31, .08);
  box-shadow: 0 10px 30px -18px rgba(74, 52, 28, .35);
  -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);}
.cap-w.cap-w .hdr.is-up{transform: translateY(calc(-100% - 20px));}
.cap-w.cap-w .hdr__logo{display: flex; align-items: center; gap: 10px; flex: none; min-height: 44px;}
.cap-w.cap-w .hdr__mark{width: 38px; height: auto;}
.cap-w.cap-w .hdr__word{width: 118px; height: auto;}
.cap-w.cap-w .hdr__nav{display: flex; gap: clamp(14px, 2vw, 30px); margin-inline: auto;}
.cap-w.cap-w .hdr__nav a{position: relative; font-family: var(--f-label); font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink);
  padding: 12px 2px; transition: color .2s ease;}
.cap-w.cap-w .hdr__nav a::after{content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 1px; background: var(--oak); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease-out);}
.cap-w.cap-w .hdr__nav a[aria-current="true"]{color: var(--oak-ink);}
.cap-w.cap-w .hdr__nav a[aria-current="true"]::after{transform: scaleX(1);}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .hdr__nav a:hover::after{transform: scaleX(1);}
}
.cap-w.cap-w .hdr__windows{width: 22px;}
.cap-w.cap-w .hdr__cta{min-height: 46px; padding: 0 22px; font-size: .86rem;}
.cap-w.cap-w .hdr__burger,.cap-w.cap-w .menu__close{display: none; position: relative; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(42, 36, 31, .14);
  background: var(--white); cursor: pointer; -webkit-tap-highlight-color: transparent;}
.cap-w.cap-w .hdr__burger i,.cap-w.cap-w .menu__close i{position: absolute; left: 14px; right: 14px; height: 1.5px; background: var(--ink); border-radius: 2px; transition: transform .3s var(--ease-out);}
.cap-w.cap-w .hdr__burger i:nth-of-type(1){top: 19px;}
.cap-w.cap-w .hdr__burger i:nth-of-type(2){top: 26px;}
.cap-w.cap-w .menu__close i{top: 22px;}
.cap-w.cap-w .menu__close i:nth-of-type(1){transform: rotate(45deg);}
.cap-w.cap-w .menu__close i:nth-of-type(2){transform: rotate(-45deg);}
@media (max-width: 1100px){
.cap-w.cap-w .hdr__nav,.cap-w.cap-w .hdr__cta{display: none;}
.cap-w.cap-w .hdr__burger{display: block;}
.cap-w.cap-w .hdr__windows{margin-inline-start: auto;}
}
@media (max-width: 767px){
.cap-w{--hdr-h: 64px;}
.cap-w.cap-w .hdr{inset: 10px 0 auto;}
.cap-w.cap-w .hdr__pill{min-height: 58px; padding: 6px 6px 6px 16px; width: calc(100% - 20px); -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(255, 252, 247, .94);}
.cap-w.cap-w .hdr__mark{width: 32px;}
.cap-w.cap-w .hdr__word{width: 104px;}
}
.cap-w.cap-w .menu{position: fixed; inset: 0; z-index: var(--z-menu); background: var(--sun); display: flex; flex-direction: column; padding: 10px 10px max(24px, env(safe-area-inset-bottom)); overflow-y: auto;}
.cap-w.cap-w .menu[hidden]{display: none;}
.cap-w.cap-w .menu__bar{display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 6px 6px 6px 16px; border-radius: 999px; background: var(--white); border: 1px solid rgba(42, 36, 31, .08);}
.cap-w.cap-w .menu__bar .hdr__word{width: 104px;}
.cap-w.cap-w .menu__close{display: block;}
.cap-w.cap-w .menu__nav{display: flex; flex-direction: column; gap: 4px; padding: 40px 14px 24px;}
.cap-w.cap-w .menu__nav a{font-family: var(--f-display); font-size: clamp(2rem, 9vw, 2.8rem); line-height: 1.25; letter-spacing: -.02em; padding: 6px 0; border-bottom: 1px solid rgba(42, 36, 31, .1);
  animation: cap-menuIn .5s var(--ease-out) both; animation-delay: calc(var(--i) * 45ms + 60ms);}
.cap-w.cap-w .menu__foot{margin-top: auto; display: grid; gap: 16px; padding: 0 14px;}
.cap-w.cap-w .menu__mail{text-align: center; color: var(--ink-soft); padding: 10px;}
@keyframes cap-menuIn{ from { opacity: 0; transform: translateY(14px); } }
@media (prefers-reduced-motion: reduce){
.cap-w.cap-w .menu__nav a{animation: none;}
}
.cap-w.cap-w .wa{position: fixed; z-index: var(--z-dock); right: 24px; bottom: max(24px, env(safe-area-inset-bottom));
  display: flex; flex-direction: row-reverse; align-items: center; gap: 0; height: 58px; padding: 0; border-radius: 999px;
  background: #25D366; color: #fff; box-shadow: 0 14px 32px -14px rgba(18, 140, 67, .75);
  transition: transform .16s var(--ease-out), box-shadow .3s ease;}
.cap-w.cap-w .wa svg{width: 58px; height: 58px; padding: 15px; flex: none; fill: currentColor;}
.cap-w.cap-w .wa__label{max-width: 0; overflow: hidden; white-space: nowrap; font-weight: 650; font-size: .9rem; transition: max-width .35s var(--ease-out), padding .35s var(--ease-out);}
.cap-w.cap-w .wa:active{transform: scale(.96);}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .wa:hover{box-shadow: 0 18px 38px -14px rgba(18, 140, 67, .9);}
.cap-w.cap-w .wa:hover .wa__label{max-width: 220px; padding-left: 20px;}
}
.cap-w.cap-w .dock{display: none;}
@media (max-width: 767px){
.cap-w.cap-w .wa{right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); height: 52px; padding: 0;}
.cap-w.cap-w .wa svg{width: 52px; height: 52px; padding: 13px;}
.cap-w.cap-w .wa__label{display: none;}
.cap-w.cap-w .dock{display: flex; align-items: center; justify-content: center; position: fixed; z-index: var(--z-dock);
    left: 14px; right: 76px; bottom: max(14px, env(safe-area-inset-bottom));
    min-height: 52px; padding: 0 20px; border-radius: 999px; background: var(--ink); color: var(--paper);
    font-weight: 650; font-size: .9rem; box-shadow: 0 14px 30px -14px rgba(42, 36, 31, .6);
    transition: transform .4s var(--ease-out), opacity .3s ease;}
.cap-w.cap-w .dock:not(.is-on){transform: translateY(140%); opacity: 0; pointer-events: none;}
}
.cap-w.cap-w .ft{position: relative; background: var(--night); color: var(--on-ground); padding: clamp(72px, 8vw, 110px) 0 28px; overflow: clip;}
.cap-w.cap-w .ft::before{content: ""; position: absolute; inset: -1px 0 auto; height: 120px; background: linear-gradient(var(--sun), rgba(255, 247, 234, 0)); opacity: .06; pointer-events: none;}
.cap-w.cap-w .ft p{color: var(--on-ground-soft);}
.cap-w.cap-w .ft__top{display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px);}
.cap-w.cap-w .ft__brand img{width: 220px; margin-bottom: 22px;}
.cap-w.cap-w .ft__tag{font-family: var(--f-label); letter-spacing: .22em; text-transform: uppercase; font-size: .78rem; color: var(--gold) !important; margin-bottom: 14px;}
.cap-w.cap-w .ft__brand p:last-child{max-width: 34ch;}
.cap-w.cap-w .ft__col{display: flex; flex-direction: column; gap: 6px;}
.cap-w.cap-w .ft__h{font-family: var(--f-label); font-size: .78rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold) !important; margin-bottom: 8px;}
.cap-w.cap-w .ft__col a{color: #EDE4D7; min-height: 32px; display: inline-flex; align-items: center; transition: color .2s ease;}
@media (hover: hover){
.cap-w.cap-w .ft__col a:hover{color: var(--gold);}
}
.cap-w.cap-w .ft__mark{width: 62px !important; margin-bottom: 14px !important;}
.cap-w.cap-w .ft__bottom{margin-top: clamp(56px, 7vw, 88px); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 22px; border-top: 1px solid var(--on-ground-line); font-size: .86rem;}
.cap-w.cap-w .ft__legal{display: flex; flex-wrap: wrap; gap: 6px 22px;}
.cap-w.cap-w .ft__legal a{color: var(--on-ground-soft); min-height: 32px; display: inline-flex; align-items: center;}
.cap-w.cap-w .ft__credit{margin-top: 14px; font-size: .8rem;}
.cap-w.cap-w .ft__credit a{color: #A99C8C; display: inline-flex; min-height: 32px; align-items: center;}
@media (max-width: 900px){
.cap-w.cap-w .ft__top{grid-template-columns: repeat(2, minmax(0, 1fr));}
.cap-w.cap-w .ft__brand{grid-column: 1 / -1;}
}
@media (max-width: 767px){
.cap-w.cap-w .ft{padding-bottom: calc(96px + env(safe-area-inset-bottom));}
.cap-w.cap-w .ft__top{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px;}
.cap-w.cap-w .ft__top > .ft__col:last-child{grid-column: 1 / -1;}
.cap-w.cap-w .ft__bottom{flex-direction: column;}
}
@media (prefers-reduced-motion: reduce){
.cap-w.cap-w *,.cap-w.cap-w *::before,.cap-w.cap-w *::after{scroll-behavior: auto !important;}
.cap-w.cap-w .hdr{transition: none;}
}
.cap-w.cap-w .loader{position: fixed; inset: 0; z-index: 100; display: grid; place-items: center;
  background: radial-gradient(75% 70% at 50% 42%, #5C4532 0%, #3B2D23 52%, #261E18 100%); 
  clip-path: inset(0 0 0 0);
  animation: cap-loaderOut .95s var(--ease-in-out) 3.2s forwards;}
.cap-w.cap-w .loader.is-done{animation: cap-loaderOut .95s var(--ease-in-out) forwards;}
@keyframes cap-loaderOut{ to { clip-path: inset(0 0 100% 0); visibility: hidden; } }
.cap-w.cap-w .loader__in{position: relative; display: grid; justify-items: center; gap: 22px; transition: transform .9s var(--ease-in-out), opacity .6s ease;}
.cap-w.cap-w .loader.is-done .loader__in{transform: translateY(-60px); opacity: 0;}
.cap-w.cap-w .loader__glow{position: absolute; left: 50%; top: -70px; width: 360px; height: 260px; margin-left: -180px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255, 186, 90, .42), rgba(255, 186, 90, 0));
  opacity: 0; transform: scale(.6); animation: cap-glowOn 1s var(--ease-out) 1.55s forwards;}
@keyframes cap-glowOn{ to { opacity: 1; transform: scale(1); } }
.cap-w.cap-w .loader__mark{position: relative; width: min(230px, 52vw); aspect-ratio: 520 / 258;
  -webkit-mask: url("../brand/mark-gold.webp") center / contain no-repeat;
          mask: url("../brand/mark-gold.webp") center / contain no-repeat;}
.cap-w.cap-w .loader__base{position: absolute; inset: 0; background: rgba(201, 165, 106, .22);}
.cap-w.cap-w .loader__fill{position: absolute; inset: 0; transform-origin: 50% 100%; transform: scaleY(0);
  background: linear-gradient(0deg, #A8834A 0%, var(--gold) 45%, #E9D2A2 100%);
  animation: cap-fillUp 1.05s var(--ease-in-out) .2s forwards;}
@keyframes cap-fillUp{ to { transform: scaleY(1); } }
.cap-w.cap-w .lw{position: absolute; left: calc(var(--x) - 3.4%); top: calc(var(--y) - 6%); width: 6.8%; height: 12%;
  background: #1C1511; opacity: 0; animation: cap-winDark .3s ease .55s forwards, cap-winOn .35s ease forwards;
  animation-delay: .55s, calc(1.3s + var(--i) * .11s);}
@keyframes cap-winDark{ to { opacity: 1; } }
@keyframes cap-winOn{ 0% { background: #1C1511; } 40% { background: #FFF1C4; } 100% { background: #FFC75E; opacity: 1; } }
.cap-w.cap-w .loader__word{width: min(250px, 58vw); height: auto; clip-path: inset(0 50% 0 50%); opacity: 0; animation: cap-wordIn 1s var(--ease-out) 1.1s forwards;}
@keyframes cap-wordIn{ to { clip-path: inset(0 0 0 0); opacity: 1; } }
.cap-w.cap-w .loader__tag{font-family: var(--f-label); font-size: .76rem; letter-spacing: .34em; text-transform: uppercase; color: var(--gold); margin-top: -8px; opacity: 0; transform: translateY(8px); animation: cap-tagIn .7s var(--ease-out) 1.5s forwards;}
@keyframes cap-tagIn{ to { opacity: 1; transform: none; } }
.cap-w.cap-w .loader__bar{position: relative; width: 150px; height: 1px; background: rgba(246, 239, 228, .16); overflow: hidden; margin-top: 6px;}
.cap-w.cap-w .loader__bar i{position: absolute; inset: 0; background: var(--gold); transform-origin: left; transform: scaleX(0); animation: cap-barFill 2.1s var(--ease-in-out) .2s forwards;}
@keyframes cap-barFill{ to { transform: scaleX(1); } }
html.is-loading,html.is-loading body{overflow: hidden;}
@media (prefers-reduced-motion: reduce){
.cap-w.cap-w .loader{display: none;}
}
@media (pointer: coarse){
.cap-w.cap-w .ft__col a,.cap-w.cap-w .ft__legal a,.cap-w.cap-w .ft__credit a{min-height: 44px;}
.cap-w.cap-w .agree a{display: inline-block; padding: 10px 0; margin: -10px 0;}
}
/* home */
.cap-w.cap-w .hero{min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-top: calc(var(--hdr-h) + 52px); padding-bottom: 92px;}
.cap-w.cap-w .hero__bg{background:
    radial-gradient(55% 70% at 20% 30%, rgba(255, 255, 255, .95) 0%, rgba(255, 249, 238, .55) 40%, rgba(255, 247, 234, 0) 72%),
    var(--sun);}
.cap-w.cap-w .hero__grid{position: relative; z-index: 2;}
.cap-w.cap-w .hero__copy{max-width: min(620px, 45vw);}
.cap-w.cap-w .hero__roof{width: 132px; height: auto; overflow: visible; margin-bottom: 20px; margin-left: -6px;}
.cap-w.cap-w .roof-line{fill: none; stroke: var(--gold); stroke-width: 2.2; stroke-linecap: square; stroke-linejoin: miter; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.4s var(--ease-in-out);}
.cap-w.cap-w .roof-line--chim{transition-delay: .8s; transition-duration: .7s;}
.cap-w.cap-w .roof-win rect{fill: var(--gold); transition: fill .4s ease;}
.cap-w.cap-w .roof-win rect:nth-child(1){transition-delay: 1.15s;}
.cap-w.cap-w .roof-win rect:nth-child(2){transition-delay: 1.27s;}
.cap-w.cap-w .roof-win rect:nth-child(3){transition-delay: 1.39s;}
.cap-w.cap-w .roof-win rect:nth-child(4){transition-delay: 1.51s;}
.cap-w.cap-w .roof-win rect:nth-child(5){transition-delay: 1.63s;}
.cap-w.cap-w .roof-win rect:nth-child(6){transition-delay: 1.75s;}
html.cap-anim .cap-w.cap-w .hero:not(.is-lit) .roof-line{stroke-dashoffset: 1;}
html.cap-anim .cap-w.cap-w .hero:not(.is-lit) .roof-win rect{fill: rgba(201, 165, 106, .14);}
.cap-w.cap-w .hero__title{font-family: var(--f-display); font-weight: 500; font-size: clamp(2.6rem, 1.2rem + 3.4vw, 5rem); line-height: 1.02; letter-spacing: -.03em;
  color: var(--ink); margin-top: 22px; font-optical-sizing: auto;}
.cap-w.cap-w .hero__lead{margin-top: 26px; max-width: 46ch; font-size: 1.06rem; color: var(--ink-soft);}
.cap-w.cap-w .hero__ctas{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px;}
.cap-w.cap-w .hero__meta{display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 26px; font-size: .86rem; color: var(--ink-soft);}
.cap-w.cap-w .hero__meta li{display: inline-flex; align-items: center; gap: 22px;}
.cap-w.cap-w .hero__meta li + li::before{content: ""; width: 5px; height: 5px; border-radius: 1px; background: var(--gold); margin-inline-start: -14px; margin-inline-end: -8px;}
.cap-w.cap-w .hero__wall{position: absolute; z-index: 1; top: 0; bottom: 0; right: 0; width: 52vw;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);}
.cap-w.cap-w .hero__wall::before{content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 70px; background: linear-gradient(90deg, var(--sun), rgba(255, 247, 234, 0)); pointer-events: none;}
.cap-w.cap-w .wall__col{position: relative; will-change: transform;}
.cap-w.cap-w .wall__col--2{margin-top: -14vh;}
.cap-w.cap-w .wall__col--3{margin-top: -5vh;}
.cap-w.cap-w .wall__loop{display: flex; flex-direction: column; gap: 14px; animation: cap-wallY 72s linear infinite; will-change: transform;}
.cap-w.cap-w .wall__col--2 .wall__loop{animation-duration: 86s; animation-direction: reverse;}
.cap-w.cap-w .wall__col--3 .wall__loop{animation-duration: 66s; animation-delay: -24s;}
.cap-w.cap-w .hero__wall.is-off .wall__loop{animation-play-state: paused;}
@keyframes cap-wallY{ to { transform: translateY(calc(-50% - 7px)); } }
@keyframes cap-wallX{ to { transform: translateX(calc(-50% - 4px)); } }
.cap-w.cap-w .wall__t{flex: none; aspect-ratio: var(--ar, 3 / 4); border-radius: 18px; overflow: hidden; background: var(--sand); box-shadow: 0 18px 36px -24px rgba(74, 52, 28, .45);}
.cap-w.cap-w .wall__t img{width: 100%; height: 100%; object-fit: cover;}
html.cap-anim .cap-w.cap-w .hero:not(.is-lit) .hero__wall{opacity: 0; transform: translateY(30px);}
.cap-w.cap-w .hero__wall{transition: opacity 1.4s var(--ease-soft) .2s, transform 1.6s var(--ease-soft) .2s;}
.cap-w.cap-w .hero__card{position: absolute; z-index: 3; left: calc(48vw - 96px); bottom: 13vh;
  display: flex; align-items: center; gap: 14px; padding: 14px 22px 14px 16px; border-radius: 18px;
  background: rgba(255, 253, 249, .94); border: 1px solid rgba(255, 255, 255, .95); box-shadow: var(--sh-2);
  transition: opacity 1s var(--ease-soft) .7s, translate 1.1s var(--ease-soft) .7s;}
.cap-w.cap-w .hero__card p{display: grid; line-height: 1.15;}
.cap-w.cap-w .hero__card b{font-family: var(--f-display); font-weight: 500; font-size: 2rem; color: var(--ink);}
.cap-w.cap-w .hero__card span{font-size: .8rem; color: var(--ink-soft); max-width: 13ch;}
html.cap-anim .cap-w.cap-w .hero:not(.is-lit) .hero__card{opacity: 0; translate: 0 16px;}
.cap-w.cap-w .scrollcue{position: absolute; z-index: 2; left: var(--gutter); bottom: 26px; display: flex; align-items: center; gap: 14px; font-family: var(--f-label); font-size: .76rem; letter-spacing: .3em; text-transform: uppercase; color: var(--ink-soft);}
.cap-w.cap-w .scrollcue i{width: 48px; height: 1px; background: var(--ink-soft); transform-origin: left; animation: cap-cue 2.4s var(--ease-in-out) infinite;}
@keyframes cap-cue{ 0% { transform: scaleX(0); } 50% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: 0; } }
@media (min-width: 1500px){
.cap-w.cap-w .scrollcue{left: calc((100vw - var(--max)) / 2);}
}
@media (max-width: 900px){
.cap-w.cap-w .hero{min-height: 0; padding-top: calc(var(--hdr-h) + 40px); padding-bottom: 56px;}
.cap-w.cap-w .hero__copy{max-width: none;}
.cap-w.cap-w .hero__wall{position: relative; order: 2; width: auto; margin-top: 44px; inset: auto;
    grid-template-columns: minmax(0, 1fr); gap: 10px; -webkit-mask-image: none; mask-image: none;}
.cap-w.cap-w .hero__wall::before{display: none;}
.cap-w.cap-w .wall__col{height: 200px; margin-top: 0 !important; overflow: hidden; transform: none !important;}
.cap-w.cap-w .wall__col--3{display: none;}
.cap-w.cap-w .wall__loop{flex-direction: row; height: 100%; gap: 8px; animation-name: cap-wallX; animation-duration: 54s;}
.cap-w.cap-w .wall__col--2 .wall__loop{animation-duration: 62s;}
.cap-w.cap-w .wall__t{height: 100%; border-radius: 12px;}
.cap-w.cap-w .hero__card,.cap-w.cap-w .scrollcue{display: none;}
}
@media (max-width: 767px){
.cap-w.cap-w .hero{padding-top: calc(var(--hdr-h) + 30px);}
.cap-w.cap-w .hero__roof{width: 92px; margin-bottom: 14px;}
.cap-w.cap-w .hero__title{font-size: clamp(2.45rem, 10.4vw, 3.3rem); margin-top: 16px;}
.cap-w.cap-w .hero__lead{margin-top: 18px; font-size: 1rem;}
.cap-w.cap-w .hero__ctas{margin-top: 24px;}
.cap-w.cap-w .hero__ctas .btn{flex: 1 1 100%;}
.cap-w.cap-w .hero__meta{font-size: .8rem; gap: 4px 16px;}
.cap-w.cap-w .hero__meta li + li::before{display: none;}
.cap-w.cap-w .wall__col{height: 168px;}
}
.cap-w.cap-w .who__title{font-family: var(--f-display); font-weight: 500; font-size: clamp(2.7rem, 1.1rem + 5.6vw, 7rem); line-height: 1.04; letter-spacing: -.035em;
  color: var(--ink); margin-top: 26px;}
.cap-w.cap-w .who__grid{display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(40px, 6vw, 110px); margin-top: clamp(48px, 6vw, 88px); align-items: start;}
.cap-w.cap-w .who__left{display: grid; gap: 44px; align-content: start;}
.cap-w.cap-w .who__left .link{justify-self: start;}
.cap-w.cap-w .who__media{position: relative; margin-right: calc(-1 * max(var(--gutter), (100vw - var(--max)) / 2)); padding-bottom: 70px;}
.cap-w.cap-w .who__big{position: relative; width: min(100%, 640px); margin-left: auto; aspect-ratio: var(--ar, 3 / 4); border-radius: 30px 0 0 30px; overflow: hidden; box-shadow: var(--sh-3);}
.cap-w.cap-w .who__big img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .who__big figcaption{position: absolute; right: 18px; top: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 253, 249, .92); font-size: .8rem; color: var(--ink);}
.cap-w.cap-w .who__small{position: absolute; left: max(-60px, -4vw); bottom: 0; width: 40%; max-width: 300px; aspect-ratio: var(--ar, 3 / 4); border-radius: 22px; overflow: hidden; border: 8px solid var(--paper); box-shadow: var(--sh-2); will-change: transform;}
.cap-w.cap-w .who__small img{width: 100%; height: 100%; object-fit: cover;}
@media (max-width: 900px){
.cap-w.cap-w .who__media{margin-right: calc(-1 * var(--gutter)); padding-bottom: 50px;}
.cap-w.cap-w .who__big{width: 88%;}
.cap-w.cap-w .who__small{left: 0; width: 40%; border-width: 6px;}
}
.cap-w.cap-w .who__text{display: grid; gap: 18px; max-width: 56ch;}
.cap-w.cap-w .who__text .link{justify-self: start; margin-top: 6px;}
.cap-w.cap-w .ones{display: grid; border-top: 1px solid var(--on-ground-line);}
.cap-w.cap-w .one{display: flex; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--on-ground-line);
  font-family: var(--f-display); font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.25rem); line-height: 1.15; letter-spacing: -.015em; color: var(--ink);}
.cap-w.cap-w .one__win{width: 18px; height: 18px; flex: none; border-radius: 3px; background: var(--gold); box-shadow: 0 0 0 5px rgba(201, 165, 106, .16), 0 0 18px rgba(201, 165, 106, .6); transition: background-color .5s ease .4s, box-shadow .6s ease .4s; transition-delay: calc(var(--d, 0ms) + 400ms);}
html.cap-anim .cap-w.cap-w .one:not(.is-in) .one__win{background: rgba(42, 36, 31, .1); box-shadow: none;}
@media (max-width: 900px){
.cap-w.cap-w .who__grid{grid-template-columns: minmax(0, 1fr);}
}
.cap-w.cap-w .head2{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 24px clamp(40px, 6vw, 96px); align-items: end;}
.cap-w.cap-w .head2__p{max-width: 46ch; padding-bottom: 8px;}
.cap-w.cap-w .wins{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: clamp(48px, 6vw, 80px);}
.cap-w.cap-w .win{position: relative; display: flex; flex-direction: column; gap: 12px; padding: 32px 30px 26px;
  background: rgba(255, 255, 255, .62); border: 1px solid rgba(255, 255, 255, .9); border-radius: var(--r-l);
  box-shadow: 0 1px 0 rgba(42, 36, 31, .04);
  transition: opacity .9s var(--ease-soft), transform .9s var(--ease-soft), filter .9s var(--ease-soft), box-shadow .4s ease, background-color .4s ease;
  transition-delay: var(--d, 0ms);}
.cap-w.cap-w .win__pane{display: grid; grid-template-columns: 1fr 1fr; gap: 4px; width: 92px; aspect-ratio: 4 / 3; padding: 4px; margin-bottom: 14px;
  border: 1.5px solid rgba(42, 36, 31, .22); border-radius: 6px; background: var(--white);}
.cap-w.cap-w .win__pane i{border-radius: 2px;
  background: linear-gradient(160deg, #FFF3D9 0%, #F3D9A6 60%, #E9C27F 100%);
  box-shadow: 0 0 14px rgba(233, 194, 127, .55);
  transition: background .6s ease, box-shadow .6s ease; transition-delay: calc(var(--d, 0ms) + 450ms);}
.cap-w.cap-w .win__pane i:nth-child(2){transition-delay: calc(var(--d, 0ms) + 540ms);}
.cap-w.cap-w .win__pane i:nth-child(3){transition-delay: calc(var(--d, 0ms) + 630ms);}
.cap-w.cap-w .win__pane i:nth-child(4){transition-delay: calc(var(--d, 0ms) + 720ms);}
html.cap-anim .cap-w.cap-w .win:not(.is-in) .win__pane i{background: #ECE5DA; box-shadow: none;}
.cap-w.cap-w .win__no{position: absolute; top: 30px; right: 30px; font-family: var(--f-label); font-size: .9rem; letter-spacing: .18em; color: var(--oak-ink);}
.cap-w.cap-w .win__t{font-family: var(--f-display); font-weight: 500; font-size: clamp(1.45rem, 1.15rem + .8vw, 1.9rem); line-height: 1.12; letter-spacing: -.012em; color: var(--ink);}
.cap-w.cap-w .win__lead{color: var(--ink); font-weight: 600; font-size: .98rem; line-height: 1.5;}
.cap-w.cap-w .win__p{font-size: .94rem; flex: 1;}
.cap-w.cap-w .win .link{align-self: flex-start; margin-top: 6px;}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .win.is-in:hover{transform: translateY(-5px); background: var(--white); box-shadow: var(--sh-2); transition-delay: 0ms;}
.cap-w.cap-w .win:hover .win__pane i{box-shadow: 0 0 22px rgba(233, 194, 127, .9); transition-delay: 0ms;}
}
@media (max-width: 1023px){
.cap-w.cap-w .wins{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 767px){
.cap-w.cap-w .head2{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .wins{grid-template-columns: minmax(0, 1fr); gap: 14px;}
.cap-w.cap-w .win{padding: 26px 22px 20px;}
.cap-w.cap-w .win__no{top: 26px; right: 22px;}
.cap-w.cap-w .win__pane{width: 76px;}
}
.cap-w.cap-w .diff__intro{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 24px clamp(40px, 6vw, 96px); align-items: end;}
.cap-w.cap-w .diff__intro-p{display: grid; gap: 14px; max-width: 50ch;}
.cap-w.cap-w .diff__idea{font-family: var(--f-display); font-size: clamp(1.35rem, 1.1rem + .8vw, 1.8rem); line-height: 1.25; color: var(--oak-ink); font-style: italic;}
.cap-w.cap-w .stack{--ch: min(66vh, 580px); display: grid; gap: 26px; margin-top: clamp(56px, 7vw, 96px);}
.cap-w.cap-w .card{position: sticky; top: calc(var(--hdr-h) + 34px + var(--n) * 12px);
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(28px, 4vw, 64px); align-items: center;
  min-height: var(--ch); padding: clamp(28px, 3.4vw, 48px);
  background: var(--white); border: 1px solid rgba(42, 36, 31, .07); border-radius: 30px; box-shadow: var(--sh-2);
  transform-origin: 50% 0; will-change: transform;}
.cap-w.cap-w .card__body{display: grid; gap: 14px; align-content: center; max-width: 52ch;}
.cap-w.cap-w .card__no{font-family: var(--f-display); font-style: italic; font-size: 1.1rem; color: var(--gold-ink); margin-bottom: 14px;}
.cap-w.cap-w .card__t{font-family: var(--f-display); font-weight: 500; font-size: clamp(2rem, 1.3rem + 2.2vw, 3.4rem); line-height: 1.04; letter-spacing: -.025em; color: var(--ink); text-wrap: balance; margin-bottom: 8px;}
.cap-w.cap-w .card__fig{height: calc(var(--ch) - 2 * clamp(28px, 3.4vw, 48px)); aspect-ratio: var(--ar, 3 / 4); border-radius: 18px; overflow: hidden;}
.cap-w.cap-w .card__fig img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .chips{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px;}
.cap-w.cap-w .chips li{padding: 7px 14px; border-radius: 999px; background: var(--linen); border: 1px solid rgba(42, 36, 31, .08); font-size: .86rem; color: var(--ink);}
@media (max-width: 900px){
.cap-w.cap-w .diff__intro{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .stack{--ch: auto; gap: 14px;}
.cap-w.cap-w .card{top: calc(var(--hdr-h) + 22px + var(--n) * 8px); min-height: 0; border-radius: 22px; padding: 22px;
    grid-template-columns: minmax(0, 1fr) 32%; column-gap: 16px; row-gap: 10px; align-items: start;}
.cap-w.cap-w .card__body{display: contents;}
.cap-w.cap-w .card__body > *{grid-column: 1 / -1;}
.cap-w.cap-w .card__body > .card__no,.cap-w.cap-w .card__body > .eyebrow,.cap-w.cap-w .card__body > .card__t{grid-column: 1;}
.cap-w.cap-w .card__no{margin-bottom: 0; font-size: 1rem;}
.cap-w.cap-w .card__t{font-size: clamp(1.32rem, 5.6vw, 1.7rem); margin-bottom: 0;}
.cap-w.cap-w .card .eyebrow{font-size: .76rem; letter-spacing: .12em; gap: 0;}
.cap-w.cap-w .card .eyebrow::before{display: none;}
.cap-w.cap-w .card__fig{grid-column: 2; grid-row: 1 / span 3; align-self: start; height: auto; width: 100%; border-radius: 14px;}
.cap-w.cap-w .card p{font-size: .95rem;}
.cap-w.cap-w .chips li{font-size: .82rem; padding: 6px 12px;}
}
.cap-w.cap-w .proj{padding-block: 0;}
.cap-w.cap-w .proj__stage{position: relative; padding-block: var(--chapter-y);}
.cap-w.cap-w .proj__track{display: flex; align-items: flex-start; gap: clamp(18px, 2vw, 30px); padding-inline: max(var(--gutter), calc((100vw - var(--max)) / 2));}
.cap-w.cap-w .proj__intro{flex: 0 0 min(400px, 32vw); display: grid; gap: 16px; align-content: start; padding-top: 4vh; padding-right: 24px;}
.cap-w.cap-w .proj__intro .h2{margin-top: 6px; margin-bottom: 8px;}
.cap-w.cap-w .proj__intro .btn{justify-self: start; margin-top: 10px;}
.cap-w.cap-w .proj__hint{display: flex; align-items: center; gap: 12px; margin-top: 16px; font-family: var(--f-label); font-size: .74rem; letter-spacing: .26em; text-transform: uppercase; color: var(--ink-soft);}
.cap-w.cap-w .proj__hint i{width: 64px; height: 1px; background: currentColor; transform-origin: left; animation: cap-hint 2.2s var(--ease-in-out) infinite;}
@keyframes cap-hint{ 0% { transform: scaleX(.2); } 60% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: 0; } }
.cap-w.cap-w .proj__hint-m{display: none;}
.cap-w.cap-w .shot{flex: none; position: relative; height: var(--sh, 62vh); aspect-ratio: var(--ar, 3 / 4);}
.cap-w.cap-w .shot img{width: 100%; height: 100%; object-fit: cover; border-radius: 20px; box-shadow: var(--sh-1); transition: transform 1.2s var(--ease-soft);}
.cap-w.cap-w .shot--low{margin-top: 9vh;}
.cap-w.cap-w .shot figcaption{position: absolute; top: calc(100% + 12px); left: 2px; display: flex; gap: 10px; font-size: .82rem; color: var(--ink-soft); white-space: nowrap;}
.cap-w.cap-w .shot figcaption b{color: var(--ink); font-weight: 650;}
.cap-w.cap-w .proj__end{flex: none; align-self: center; display: grid; justify-items: start; gap: 14px; width: 260px; padding: 32px; border-radius: 26px;
  background: var(--white); border: 1px solid rgba(42, 36, 31, .08); box-shadow: var(--sh-1); color: var(--ink);
  font-family: var(--f-display); font-size: 1.6rem; line-height: 1.1; transition: transform .3s var(--ease-out), box-shadow .3s ease;}
.cap-w.cap-w .proj__end b{font-weight: 500;}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .proj__end:hover{transform: translateY(-4px); box-shadow: var(--sh-2);}
.cap-w.cap-w .shot:hover img{transform: scale(1.025);}
}
.cap-w.cap-w .proj__bar{display: none;}
@media (min-width: 901px){
html.cap-h .cap-w.cap-w .proj__runway{position: relative;}
html.cap-h .cap-w.cap-w .proj__stage{position: sticky; top: 0; height: 100vh; height: 100lvh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding-block: calc(var(--hdr-h) + 24px) 40px;}
html.cap-h .cap-w.cap-w .proj__track{will-change: transform;}
html.cap-h .cap-w.cap-w .shot{--sh: min(64vh, 620px);}
html.cap-h .cap-w.cap-w .shot--low{margin-top: min(8vh, 70px);}
html.cap-h .cap-w.cap-w .proj__bar{display: block; position: absolute; left: max(var(--gutter), calc((100vw - var(--max)) / 2)); right: max(var(--gutter), calc((100vw - var(--max)) / 2)); bottom: 34px; height: 1px; background: rgba(42, 36, 31, .14);}
html.cap-h .cap-w.cap-w .proj__bar i{position: absolute; inset: 0; background: var(--oak-ink); transform-origin: left; transform: scaleX(0);}
}
@media (max-width: 900px){
.cap-w.cap-w .proj__stage{padding-block: var(--chapter-y);}
.cap-w.cap-w .proj__track{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 14px; padding-inline: var(--gutter);}
.cap-w.cap-w .proj__intro{grid-column: 1 / -1; padding: 0 0 12px;}
.cap-w.cap-w .proj__hint{display: none;}
.cap-w.cap-w .shot{height: auto; width: 100%;}
.cap-w.cap-w .shot--low{margin-top: 36px;}
.cap-w.cap-w .shot figcaption{flex-direction: column; gap: 0; font-size: .78rem; line-height: 1.35; white-space: normal;}
.cap-w.cap-w .proj__end{grid-column: 1 / -1; width: 100%; margin-top: 20px; font-size: 1.35rem; padding: 24px; grid-template-columns: auto 1fr auto; align-items: center;}
}
html:not(.cap-h) .cap-w.cap-w .proj__hint{display: none;}
.cap-w.cap-w .tape{--p: 1; position: relative; margin-top: clamp(56px, 7vw, 96px);}
.cap-w.cap-w .tape__rule{position: relative; height: 46px; border-radius: 6px; overflow: hidden;
  background:
    repeating-linear-gradient(90deg, rgba(42, 36, 31, .55) 0 1px, transparent 1px 100%) 0 0 / 80px 100% no-repeat,
    repeating-linear-gradient(90deg, rgba(42, 36, 31, .5) 0 1px, transparent 1px 80px) 0 0 / 100% 22px repeat-x,
    repeating-linear-gradient(90deg, rgba(42, 36, 31, .3) 0 1px, transparent 1px 20px) 0 0 / 100% 12px repeat-x,
    repeating-linear-gradient(90deg, rgba(42, 36, 31, .18) 0 1px, transparent 1px 10px) 0 0 / 100% 7px repeat-x,
    #F4E7CC;
  box-shadow: inset 0 0 0 1px rgba(42, 36, 31, .1);}
.cap-w.cap-w .tape__fill{position: absolute; inset: 0; transform-origin: left; transform: scaleX(var(--p));
  background: linear-gradient(90deg, rgba(201, 165, 106, .55), rgba(201, 165, 106, .85));
  mix-blend-mode: multiply;}
.cap-w.cap-w .steps{display: grid; grid-template-columns: repeat(var(--steps, 5), minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 36px); counter-reset: s;}
.cap-w.cap-w .step{position: relative; padding-top: 44px; display: grid; gap: 10px; align-content: start;}
.cap-w.cap-w .step__pin{position: absolute; top: -14px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 6px rgba(201, 165, 106, .2); transition: background-color .4s ease, box-shadow .4s ease, transform .4s var(--ease-out);}
.cap-w.cap-w .step__no{font-family: var(--f-display); font-style: italic; font-weight: 400; font-size: 2.6rem; line-height: 1; color: var(--oak-ink); transition: color .4s ease;}
.cap-w.cap-w .step__t{font-family: var(--f-display); font-weight: 500; font-size: 1.45rem; line-height: 1.15; color: var(--ink);}
.cap-w.cap-w .step__lead{color: var(--ink); font-weight: 600;}
.cap-w.cap-w .step p{font-size: .94rem; transition: color .4s ease;}
html.cap-anim .cap-w.cap-w .step:not(.is-on) .step__pin{background: var(--white); box-shadow: inset 0 0 0 1.5px rgba(42, 36, 31, .3); transform: scale(.85);}
html.cap-anim .cap-w.cap-w .step:not(.is-on) .step__no{color: rgba(42, 36, 31, .25);}
@media (max-width: 900px){
.cap-w.cap-w .tape{display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0 22px;}
.cap-w.cap-w .tape__rule{height: auto; width: 34px;
    background:
      repeating-linear-gradient(180deg, rgba(42, 36, 31, .5) 0 1px, transparent 1px 60px) 0 0 / 18px 100% repeat-y,
      repeating-linear-gradient(180deg, rgba(42, 36, 31, .25) 0 1px, transparent 1px 15px) 0 0 / 9px 100% repeat-y,
      #F4E7CC;}
.cap-w.cap-w .tape__fill{transform-origin: top; transform: scaleY(var(--p));}
.cap-w.cap-w .steps{grid-template-columns: minmax(0, 1fr); gap: 34px; padding-block: 8px;}
.cap-w.cap-w .step{padding-top: 0; padding-left: 0;}
.cap-w.cap-w .step__pin{top: 10px; left: -35px;}
.cap-w.cap-w .step__no{font-size: 2rem;}
}
.cap-w.cap-w .exp .ch__bg{background: radial-gradient(60% 80% at 15% 30%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%), var(--sun-2);}
.cap-w.cap-w .bento{display: grid; grid-template-columns: repeat(15, minmax(0, 1fr)); gap: 16px;}
.cap-w.cap-w .tile{border-radius: var(--r-l); background: rgba(255, 255, 255, .7); border: 1px solid rgba(255, 255, 255, .95); padding: clamp(24px, 2.6vw, 38px); box-shadow: 0 1px 0 rgba(42, 36, 31, .04);}
.cap-w.cap-w .tile--big{grid-column: span 6; grid-row: span 2; display: grid; align-content: end; background: var(--white);}
.cap-w.cap-w .tile--text{grid-column: span 9; display: grid; gap: 16px; align-content: center;}
.cap-w.cap-w .tile--text p{max-width: 62ch;}
.cap-w.cap-w .tile--stat{grid-column: span 3; display: grid; gap: 6px; align-content: end; min-height: 160px;}
.cap-w.cap-w .tile--stat b{font-family: var(--f-display); font-weight: 500; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); line-height: 1.05; color: var(--ink);}
.cap-w.cap-w .tile--stat span{font-family: var(--f-label); font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft);}
.cap-w.cap-w .odo{display: flex; align-items: flex-start; font-family: var(--f-display); font-weight: 400; font-size: clamp(7rem, 4rem + 9vw, 13.5rem); line-height: 1; letter-spacing: -.05em; color: var(--ink); height: 1em; overflow: hidden;}
.cap-w.cap-w .odo__col{display: flex; flex-direction: column; transform: translateY(calc(var(--v, 0) * -1em)); transition: transform 2s var(--ease-in-out);}
.cap-w.cap-w .odo__col span{height: 1em; line-height: 1;}
.cap-w.cap-w .odo__plus{color: var(--gold); font-style: italic; margin-left: .04em;}
html.cap-anim .cap-w.cap-w .tile--big:not(.is-in) .odo__col{transform: translateY(0);}
.cap-w.cap-w .tile__cap{font-family: var(--f-label); font-size: .82rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); margin-top: 14px;}
.cap-w.cap-w .tile--fin{grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; background: var(--white);}
.cap-w.cap-w .tile__fig{width: clamp(180px, 18vw, 260px); aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden;}
.cap-w.cap-w .tile__fig img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .tile__fin-body{display: grid; gap: 14px; max-width: 58ch;}
.cap-w.cap-w .tile__fin-body .btn{justify-self: start; margin-top: 8px;}
@media (max-width: 1023px){
.cap-w.cap-w .tile--big{grid-column: span 15; grid-row: auto;}
.cap-w.cap-w .tile--text{grid-column: span 15;}
.cap-w.cap-w .tile--stat{grid-column: span 5;}
}
@media (max-width: 767px){
.cap-w.cap-w .bento{grid-template-columns: minmax(0, 1fr); gap: 12px;}
.cap-w.cap-w .tile--big,.cap-w.cap-w .tile--text,.cap-w.cap-w .tile--stat,.cap-w.cap-w .tile--fin{grid-column: auto;}
.cap-w.cap-w .tile--stat{min-height: 0;}
.cap-w.cap-w .tile--fin{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .tile__fig{width: min(100%, 240px);}
}
.cap-w.cap-w .consult__grid{display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 6vw, 100px); align-items: start;}
.cap-w.cap-w .consult__side{display: grid; gap: 18px; justify-items: start;}
.cap-w.cap-w .consult__side .h2{margin-top: 8px;}
.cap-w.cap-w .consult__fig{width: clamp(170px, 15vw, 220px); aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden; margin-top: 12px; box-shadow: var(--sh-1); rotate: -3deg;}
.cap-w.cap-w .consult__fig img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .consult__mail a{display: inline-block; padding: 12px 0; margin: -12px 0; color: var(--ink); text-decoration: underline; text-underline-offset: 4px;}
.cap-w.cap-w .form{display: grid; gap: 18px; padding: clamp(24px, 3.4vw, 48px); background: var(--white); border-radius: 30px; border: 1px solid rgba(42, 36, 31, .07); box-shadow: var(--sh-2);}
.cap-w.cap-w .form__row{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;}
.cap-w.cap-w .field{display: grid; gap: 8px; min-width: 0;}
.cap-w.cap-w .field > span,.cap-w.cap-w .pick legend{font-size: .8rem; font-weight: 650; letter-spacing: .04em; color: var(--ink);}
.cap-w.cap-w abbr{text-decoration: none; color: var(--oak-ink);}
.cap-w.cap-w .field input,.cap-w.cap-w .field textarea{width: 100%; min-height: 52px; padding: 13px 16px; border-radius: 14px; border: 1px solid rgba(42, 36, 31, .16); background: var(--paper);
  font-size: 1rem; color: var(--ink); transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;}
.cap-w.cap-w .field textarea{resize: vertical; min-height: 110px;}
.cap-w.cap-w .field input:focus,.cap-w.cap-w .field textarea:focus{outline: none; border-color: var(--oak); background: var(--white); box-shadow: 0 0 0 4px rgba(201, 150, 95, .18);}
.cap-w.cap-w .field.is-bad input{border-color: #B4472F;}
.cap-w.cap-w .pick{display: grid; gap: 10px;}
.cap-w.cap-w .pick__list{display: flex; flex-wrap: wrap; gap: 8px;}
.cap-w.cap-w .pick label{position: relative; display: inline-flex; cursor: pointer;}
.cap-w.cap-w .pick input{position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer;}
.cap-w.cap-w .pick span{display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(42, 36, 31, .16);
  background: var(--paper); font-size: .9rem; color: var(--ink); transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .16s var(--ease-out);}
.cap-w.cap-w .pick label:active span{transform: scale(.97);}
.cap-w.cap-w .pick input:checked + span{background: var(--ink); color: var(--paper); border-color: var(--ink);}
.cap-w.cap-w .pick input:focus-visible + span{outline: 3px solid var(--oak); outline-offset: 2px;}
.cap-w.cap-w .pick.is-bad span{border-color: #B4472F;}
@media (hover: hover){
.cap-w.cap-w .pick label:hover span{border-color: var(--ink);}
}
.cap-w.cap-w .hp{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
.cap-w.cap-w .agree{display: flex; gap: 12px; align-items: flex-start; min-height: 44px; padding-top: 10px; font-size: .88rem; color: var(--ink-soft); cursor: pointer;}
.cap-w.cap-w .agree input{width: 20px; height: 20px; margin-top: 2px; accent-color: var(--ink); flex: none;}
.cap-w.cap-w .agree a{color: var(--ink); text-decoration: underline; text-underline-offset: 3px;}
.cap-w.cap-w .agree.is-bad{color: #9A3B26;}
.cap-w.cap-w .form__submit{display: grid; min-height: 58px; overflow: hidden;}
.cap-w.cap-w .form__s{grid-area: 1 / 1; transition: transform .35s var(--ease-out), opacity .25s ease, filter .25s ease;}
.cap-w.cap-w .form__s--busy,.cap-w.cap-w .form__s--done{opacity: 0; transform: translateY(100%);}
.cap-w.cap-w .form.is-busy .form__s--idle,.cap-w.cap-w .form.is-done .form__s--idle,.cap-w.cap-w .form.is-done .form__s--busy{opacity: 0; transform: translateY(-100%); filter: blur(2px);}
.cap-w.cap-w .form.is-busy .form__s--busy,.cap-w.cap-w .form.is-done .form__s--done{opacity: 1; transform: none;}
.cap-w.cap-w .form.is-done .form__submit{--bg: var(--oak-ink); --bd: var(--oak-ink);}
.cap-w.cap-w .form__note{font-size: .86rem; text-align: center;}
.cap-w.cap-w .form__err{font-size: .86rem; color: #9A3B26; text-align: center; min-height: 1px;}
.cap-w.cap-w .form__err:empty{display: none;}
@media (max-width: 900px){
.cap-w.cap-w .consult__grid{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .consult__fig{display: none;}
}
@media (max-width: 560px){
.cap-w.cap-w .form__row{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .form{border-radius: 24px;}
}
.cap-w.cap-w .faq__grid{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 100px); align-items: start;}
.cap-w.cap-w .faq__side{display: grid; gap: 22px; justify-items: start; position: sticky; top: calc(var(--hdr-h) + 48px);}
.cap-w.cap-w .faq__fig{width: clamp(180px, 16vw, 240px); aspect-ratio: 3 / 4; border-radius: 20px; overflow: hidden; margin-top: 18px; rotate: 3deg; box-shadow: var(--sh-2);}
.cap-w.cap-w .faq__fig img{width: 100%; height: 100%; object-fit: cover;}
@media (max-width: 900px){
.cap-w.cap-w .faq__fig{display: none;}
}
.cap-w.cap-w .qa{border-top: 1px solid var(--on-ground-line);}
.cap-w.cap-w .q{border-bottom: 1px solid var(--on-ground-line);}
.cap-w.cap-w .q h3{margin: 0;}
.cap-w.cap-w .q button{display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 76px; padding: 18px 0;
  background: none; border: 0; cursor: pointer; text-align: left;
  font-family: var(--f-display); font-weight: 500; font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); line-height: 1.3; color: var(--ink);
  white-space: normal; -webkit-tap-highlight-color: transparent;}
.cap-w.cap-w .q button i{position: relative; flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(42, 36, 31, .18); transition: background-color .3s ease, border-color .3s ease, transform .4s var(--ease-out);}
.cap-w.cap-w .q button i::before,.cap-w.cap-w .q button i::after{content: ""; position: absolute; left: 11px; right: 11px; top: 17px; height: 1.5px; background: var(--ink); transition: transform .4s var(--ease-out), background-color .3s ease;}
.cap-w.cap-w .q button i::after{transform: rotate(90deg);}
.cap-w.cap-w .q button[aria-expanded="true"] i{background: var(--ink); border-color: var(--ink); transform: rotate(180deg);}
.cap-w.cap-w .q button[aria-expanded="true"] i::before,.cap-w.cap-w .q button[aria-expanded="true"] i::after{background: var(--paper);}
.cap-w.cap-w .q button[aria-expanded="true"] i::after{transform: rotate(0deg);}
@media (hover: hover){
.cap-w.cap-w .q button:hover{color: var(--oak-ink);}
}
.cap-w.cap-w .a{display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease-out);}
.cap-w.cap-w .a > div{overflow: hidden;}
.cap-w.cap-w .a p{padding: 0 60px 24px 0; max-width: 62ch;}
.cap-w.cap-w .q.is-open .a{grid-template-rows: 1fr;}
@media (max-width: 900px){
.cap-w.cap-w .faq__grid{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .faq__side{position: static;}
.cap-w.cap-w .a p{padding-right: 0;}
}
.cap-w.cap-w .final{padding-bottom: calc(var(--chapter-y) + 20px);}
.cap-w.cap-w .final__bg{background: radial-gradient(70% 70% at 30% 50%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 70%), radial-gradient(50% 60% at 90% 90%, rgba(234, 223, 207, .8), rgba(234, 223, 207, 0) 70%), var(--sun);}
.cap-w.cap-w .final__grid{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 100px); align-items: center;}
.cap-w.cap-w .lit{position: relative; display: grid; place-items: center; padding: 20px;}
.cap-w.cap-w .lit svg{width: min(100%, 520px); height: auto; overflow: visible;}
.cap-w.cap-w .lit__line{fill: none; stroke: var(--gold); stroke-width: 3; stroke-linecap: square; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s var(--ease-in-out);}
.cap-w.cap-w .lit__line--c{transition-delay: .9s; transition-duration: .8s;}
.cap-w.cap-w .lit__win rect{fill: var(--gold); filter: drop-shadow(0 0 14px rgba(233, 194, 127, .9)); transition: fill .5s ease, filter .5s ease;}
.cap-w.cap-w .lit__win rect:nth-child(1){transition-delay: 1.3s;}
.cap-w.cap-w .lit__win rect:nth-child(2){transition-delay: 1.45s;}
.cap-w.cap-w .lit__win rect:nth-child(3){transition-delay: 1.6s;}
.cap-w.cap-w .lit__win rect:nth-child(4){transition-delay: 1.75s;}
.cap-w.cap-w .lit__win rect:nth-child(5){transition-delay: 1.9s;}
.cap-w.cap-w .lit__win rect:nth-child(6){transition-delay: 2.05s;}
html.cap-anim .cap-w.cap-w .lit:not(.is-in) .lit__line{stroke-dashoffset: 1;}
html.cap-anim .cap-w.cap-w .lit:not(.is-in) .lit__win rect{fill: rgba(201, 165, 106, .12); filter: none;}
.cap-w.cap-w .final__copy{display: grid; gap: 22px; justify-items: start;}
.cap-w.cap-w .final__title{font-family: var(--f-display); font-weight: 500; font-size: var(--fs-mega); line-height: .98; letter-spacing: -.03em; color: var(--ink); text-wrap: balance;}
.cap-w.cap-w .final__ctas{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px;}
@media (max-width: 900px){
.cap-w.cap-w .final__grid{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .lit{order: 2;}
.cap-w.cap-w .lit svg{width: min(80%, 340px);}
}
@media (max-width: 767px){
.cap-w.cap-w .final__ctas .btn{flex: 1 1 100%;}
}
@media (min-width: 901px){
html:not(.cap-h) .cap-w.cap-w .proj__track{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 64px 24px; padding-inline: var(--gutter); max-width: calc(var(--max) + var(--gutter) * 2); margin-inline: auto;}
html:not(.cap-h) .cap-w.cap-w .proj__intro{grid-column: 1 / -1; padding: 0; max-width: 640px;}
html:not(.cap-h) .cap-w.cap-w .shot{height: auto; width: 100%;}
html:not(.cap-h) .cap-w.cap-w .shot--low{margin-top: 48px;}
html:not(.cap-h) .cap-w.cap-w .proj__end{grid-column: 1 / -1; width: auto; justify-self: start;}
}
@media (prefers-reduced-motion: reduce){
.cap-w.cap-w .wall__loop{animation: none;}
}
.cap-w.cap-w .hero__grid{display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(32px, 4.4vw, 76px); align-items: center;}
.cap-w.cap-w .hero__copy{max-width: none;}
.cap-w.cap-w .hero__show{position: relative; transition: opacity 1.2s var(--ease-soft) .2s, translate 1.3s var(--ease-soft) .2s;}
html.cap-anim .cap-w.cap-w .hero:not(.is-lit) .hero__show{opacity: 0; translate: 0 30px;}
.cap-w.cap-w .show__frame{position: relative; aspect-ratio: var(--ar, 3 / 2); border-radius: 24px; overflow: hidden; background: var(--sand); box-shadow: var(--sh-3);}
.cap-w.cap-w .show__slide{position: absolute; inset: 0; margin: 0; visibility: hidden; z-index: 1;}
.cap-w.cap-w .show__slide img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .show__slide.is-on{visibility: visible; z-index: 2;}
.cap-w.cap-w .show__slide.is-on img{animation: cap-showDrift 9s linear both;}
.cap-w.cap-w .show__slide.is-enter{visibility: visible; z-index: 3; animation: cap-showOpen 1.15s var(--ease-in-out) both;}
.cap-w.cap-w .show__slide.is-enter img{animation: cap-showSettle 1.6s var(--ease-out) both;}
@keyframes cap-showOpen{ from { clip-path: inset(0 50% 0 50%); } to { clip-path: inset(0 0 0 0); } }
@keyframes cap-showSettle{ from { transform: scale(1.07); } to { transform: scale(1); } }
@keyframes cap-showDrift{ from { transform: scale(1); } to { transform: scale(1.045); } }
.cap-w.cap-w .show__thumbs{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 14px;}
.cap-w.cap-w .show__thumb{position: relative; display: block; aspect-ratio: 3 / 2; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: pointer;
  background: var(--sand); opacity: .55; transition: opacity .3s ease, transform .16s var(--ease-out);}
.cap-w.cap-w .show__thumb img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .show__thumb::after{content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--gold); transform: scaleX(0); transform-origin: left;}
.cap-w.cap-w .show__thumb.is-on{opacity: 1;}
.cap-w.cap-w .show__thumb.is-on::after{transform: scaleX(1);}
.cap-w.cap-w .hero__show.is-playing .show__thumb.is-on::after{animation: cap-showTick var(--show-ms, 5600ms) linear both;}
@keyframes cap-showTick{ from { transform: scaleX(0); } to { transform: scaleX(1); } }
.cap-w.cap-w .show__thumb:active{transform: scale(.97);}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .show__thumb:hover{opacity: .9;}
}
.cap-w.cap-w .hero__show .hero__card{left: -36px; right: auto; bottom: 96px;}
@media (prefers-reduced-motion: reduce){
.cap-w.cap-w .show__slide img,.cap-w.cap-w .show__slide.is-enter,.cap-w.cap-w .show__slide.is-enter img{animation: none !important;}
}
@media (max-width: 900px){
.cap-w.cap-w .hero__grid{grid-template-columns: minmax(0, 1fr); gap: 40px;}
.cap-w.cap-w .hero__show{order: -1;}
.cap-w.cap-w .hero__show .hero__card{display: none;}
}
.cap-w.cap-w .card{grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);}
.cap-w.cap-w .card__fig{height: auto; width: 100%; max-height: calc(var(--ch) - 2 * clamp(28px, 3.4vw, 48px)); aspect-ratio: var(--ar, 3 / 2); justify-self: end;}
.cap-w.cap-w .shot--wide{--sh: 50vh;}
@media (min-width: 901px){
html.cap-h .cap-w.cap-w .shot--wide{--sh: min(50vh, 470px);}
}
@media (max-width: 900px){
.cap-w.cap-w .card{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .card__body > .card__no,.cap-w.cap-w .card__body > .eyebrow,.cap-w.cap-w .card__body > .card__t{grid-column: 1;}
.cap-w.cap-w .card__fig{grid-column: 1; grid-row: auto; order: -1; width: 100%; max-height: none; justify-self: stretch;}
.cap-w.cap-w .shot--wide{grid-column: 1 / -1; margin-top: 0;}
}
.cap-w.cap-w .proj__more{display: none;}
@media (min-width: 901px){
html.cap-h .cap-w.cap-w .shot:not(.shot--wide){--sh: min(54vh, 500px);}
}
@media (max-width: 900px){
.cap-w.cap-w .proj__track:not(.is-all) .shot--more{display: none;}
.cap-w.cap-w .proj__more{display: inline-flex; grid-column: 1 / -1; justify-self: center; margin-top: 8px;}
.cap-w.cap-w .proj__track.is-all .proj__more{display: none;}
}
.cap-w.cap-w .hero__wall .wall__t,.cap-w.cap-w .shot{aspect-ratio: 1 / 1;}
.cap-w.cap-w .hero__wall .wall__t img,.cap-w.cap-w .shot img{object-fit: cover; object-position: center;}
@media (min-width: 901px){
html.cap-h .cap-w.cap-w .shot,html.cap-h .cap-w.cap-w .shot:not(.shot--wide){--sh: min(46vh, 420px);}
}
/* formal */
.cap-w.cap-w .btn{border-radius: 999px; min-height: 52px; padding: 0 30px;
  font-size: .76rem; font-weight: 650; letter-spacing: .17em; text-transform: uppercase;}
.cap-w.cap-w .btn--ghost{--bg: transparent; --bd: rgba(42, 36, 31, .38);}
.cap-w.cap-w .btn--line{--bd: rgba(42, 36, 31, .38);}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .btn--ghost:hover,.cap-w.cap-w .btn--line:hover{--bg: var(--ink); --fg: var(--paper); --bd: var(--ink);}
}
.cap-w.cap-w .hdr{inset: 0 0 auto;}
.cap-w.cap-w .hdr__pill{width: 100%; max-width: none; border-radius: 0; min-height: var(--hdr-h);
  padding: 0 max(var(--gutter), calc((100vw - var(--max)) / 2));
  background: rgba(251, 248, 243, .97); border: 0; border-bottom: 1px solid rgba(42, 36, 31, .1);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6);
  -webkit-backdrop-filter: none; backdrop-filter: none;}
.cap-w.cap-w .hdr.is-up{transform: translateY(-100%);}
.cap-w.cap-w .hdr__cta{min-height: 44px; padding: 0 22px; font-size: .72rem;}
.cap-w.cap-w .hdr__burger,.cap-w.cap-w .menu__close{border-radius: 50%;}
.cap-w.cap-w .hdr__nav a{font-size: .76rem; letter-spacing: .22em;}
@media (max-width: 767px){
.cap-w.cap-w .hdr{inset: 0 0 auto;}
.cap-w.cap-w .hdr__pill{width: 100%; padding: 0 var(--gutter); min-height: 64px;}
}
.cap-w{--r-surface: 24px; --r-photo: 18px; --r-field: 14px;}
.cap-w.cap-w .win,.cap-w.cap-w .card,.cap-w.cap-w .tile,.cap-w.cap-w .form,.cap-w.cap-w .proj__end{border-radius: var(--r-surface);}
.cap-w.cap-w .wall__t,.cap-w.cap-w .card__fig,.cap-w.cap-w .tile__fig,.cap-w.cap-w .shot img,.cap-w.cap-w .who__big,.cap-w.cap-w .who__small,.cap-w.cap-w .hero__card,.cap-w.cap-w .consult__fig,.cap-w.cap-w .faq__fig{border-radius: var(--r-photo);}
.cap-w.cap-w .field input,.cap-w.cap-w .field textarea{border-radius: var(--r-field);}
.cap-w.cap-w .pick span,.cap-w.cap-w .chips li,.cap-w.cap-w .wa__label,.cap-w.cap-w .who__big figcaption{border-radius: 999px;}
.cap-w.cap-w .q button i{border-radius: 50%;}
.cap-w.cap-w .who__small{border-width: 6px;}
.cap-w.cap-w .card{box-shadow: 0 30px 60px -36px rgba(42, 36, 31, .35);}
.cap-w.cap-w .pick span{min-height: 44px; font-size: .84rem; letter-spacing: .02em;}
.cap-w.cap-w .who__big{box-shadow: -18px 18px 0 -1px var(--ground), -18px 18px 0 0 var(--gold), var(--sh-3);}
@media (min-width: 901px){
.cap-w.cap-w .show__frame{box-shadow: 18px 18px 0 -1px var(--sun), 18px 18px 0 0 var(--gold), var(--sh-3);}
}
@media (min-width: 901px){
.cap-w.cap-w .card__fig{box-shadow: 14px 14px 0 -1px var(--white), 14px 14px 0 0 rgba(201, 165, 106, .8); overflow: hidden;}
.cap-w.cap-w .card{overflow: visible;}
}
.cap-w.cap-w .svc .head2{grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; max-width: 780px; margin-inline: auto;}
.cap-w.cap-w .svc .head2 .h2{margin-inline: auto; max-width: 18ch;}
.cap-w.cap-w .svc .head2 .eyebrow::after{content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; flex: none;}
.cap-w.cap-w .svc .head2__p{margin-inline: auto; padding-bottom: 0;}
.cap-w.cap-w .svc .ch__bg{background: radial-gradient(70% 60% at 50% 0%, #3A2E25 0%, var(--night) 70%), var(--night);}
.cap-w.cap-w [data-tone="night"] > .ch__bg::after{background-image:
    linear-gradient(rgba(201, 165, 106, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201, 165, 106, .07) 1px, transparent 1px);
  background-size: 96px 96px; background-position: center top;
  -webkit-mask-image: radial-gradient(70% 60% at 50% 40%, #000, transparent 85%);
          mask-image: radial-gradient(70% 60% at 50% 40%, #000, transparent 85%);}
.cap-w.cap-w .svc .eyebrow{color: var(--gold);}
.cap-w.cap-w .svc .h2 em{color: var(--gold);}
.cap-w.cap-w .svc .wins{gap: 16px;}
.cap-w.cap-w .svc .win{background: rgba(246, 239, 228, .035); border: 1px solid var(--on-ground-line);
  border-radius: var(--r-surface); box-shadow: none; padding: 38px 34px 32px;}
.cap-w.cap-w .svc .win__t,.cap-w.cap-w .svc .win__lead{color: var(--on-ground);}
.cap-w.cap-w .svc .win__p{color: var(--on-ground-soft);}
.cap-w.cap-w .svc .win__no{color: var(--gold);}
.cap-w.cap-w .svc .win .link{color: var(--on-ground);}
.cap-w.cap-w .svc .win__pane{background: transparent; border-color: rgba(201, 165, 106, .45);}
.cap-w.cap-w .svc .win__pane i{background: linear-gradient(160deg, #FFE7B0 0%, #F2B95C 60%, #E39B37 100%); box-shadow: 0 0 22px rgba(242, 185, 92, .55);}
html.cap-anim .cap-w.cap-w .svc .win:not(.is-in) .win__pane i{background: rgba(246, 239, 228, .06); box-shadow: none;}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .svc .win.is-in:hover{background: rgba(246, 239, 228, .04); transform: none; box-shadow: none;}
.cap-w.cap-w .svc .win:hover .win__pane i{box-shadow: 0 0 34px rgba(242, 185, 92, .9);}
}
.cap-w.cap-w .svc :focus-visible{outline-color: var(--gold);}
@media (max-width: 767px){
.cap-w{--ink-soft: #4E463F;}
.cap-w.cap-w .hero__title,.cap-w.cap-w .who__title,.cap-w.cap-w .h2,.cap-w.cap-w .final__title,.cap-w.cap-w .card__t,.cap-w.cap-w .win__t{font-weight: 560;}
.cap-w.cap-w .hero{padding-top: var(--hdr-h); padding-bottom: 48px;}
.cap-w.cap-w .hero__wall{display: grid; position: relative; order: 0; inset: auto; width: 100%; height: clamp(190px, 28vh, 250px); margin: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0 8px; overflow: hidden;}
.cap-w.cap-w .hero__wall .wall__col{display: block; height: auto; overflow: visible; transform: none !important; margin-top: 0 !important;}
.cap-w.cap-w .hero__wall .wall__col--2{margin-top: -60px !important;}
.cap-w.cap-w .hero__wall .wall__col--3{margin-top: -26px !important;}
.cap-w.cap-w .hero__wall .wall__loop{flex-direction: column; height: auto; gap: 8px; animation-name: cap-wallY; animation-duration: 52s;}
.cap-w.cap-w .hero__wall .wall__col--2 .wall__loop{animation-duration: 60s;}
.cap-w.cap-w .hero__wall .wall__t{height: auto; width: 100%; border-radius: 12px;}
.cap-w.cap-w .hero__grid{display: block; order: 1; position: relative; z-index: 3; margin-top: -32px; padding-top: 26px;
    background: var(--sun); border-radius: 28px 28px 0 0; box-shadow: 0 -14px 30px -22px rgba(42, 36, 31, .35);}
.cap-w.cap-w .hero__copy{display: flex; flex-direction: column;}
.cap-w.cap-w .hero__copy .eyebrow{order: 0;}
.cap-w.cap-w .hero__copy .hero__title{order: 1;}
.cap-w.cap-w .hero__copy .hero__ctas{order: 2;}
.cap-w.cap-w .hero__copy .hero__lead{order: 3; margin-top: 22px;}
.cap-w.cap-w .hero__copy .hero__meta{order: 4;}
.cap-w.cap-w .hero .eyebrow{font-size: .75rem; letter-spacing: .12em; gap: 10px;}
.cap-w.cap-w .hero .eyebrow::before{width: 22px;}
.cap-w.cap-w .hero__title{font-size: clamp(2.1rem, 9vw, 2.8rem); margin-top: 12px;}
.cap-w.cap-w .hero__lead{font-size: .95rem; line-height: 1.6; margin-top: 14px;}
.cap-w.cap-w .hero__ctas{margin-top: 20px; gap: 10px;}
.cap-w.cap-w .hero__meta{margin-top: 18px;}
.cap-w.cap-w .hero__roof{display: none;}
.cap-w.cap-w .hero .eyebrow{margin-top: 0;}
.cap-w.cap-w .svc .win{padding: 30px 22px 26px;}
.cap-w.cap-w .dock{left: 14px; right: 78px; bottom: max(14px, env(safe-area-inset-bottom)); border-radius: 999px; min-height: 52px;
    padding: 0 16px; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase;}
.cap-w.cap-w .wa{right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); width: 52px; height: 52px; border-radius: 50%; justify-content: center;}
.cap-w.cap-w .wa svg{width: 52px; height: 52px; padding: 13px;}
.cap-w.cap-w .ft{padding-bottom: calc(110px + env(safe-area-inset-bottom));}
}
/* pages */
.cap-w.cap-w .phero{padding-top: calc(var(--hdr-h) + clamp(56px, 7vw, 104px)); padding-bottom: clamp(56px, 7vw, 96px);}
.cap-w.cap-w .phero .ch__bg{background: radial-gradient(60% 70% at 18% 30%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 72%), var(--sun);}
.cap-w.cap-w .phero__grid{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 88px); align-items: center;}
.cap-w.cap-w .phero__copy{display: grid; gap: 20px; justify-items: start;}
.cap-w.cap-w .phero__title{font-family: var(--f-display); font-weight: 500; font-size: clamp(2.5rem, 1.4rem + 3.4vw, 4.8rem); line-height: 1.02; letter-spacing: -.03em;
  color: var(--ink); text-wrap: balance; max-width: 15ch;}
.cap-w.cap-w .phero__intro{font-size: var(--fs-lead); line-height: 1.6; color: var(--ink-soft); max-width: 52ch;}
.cap-w.cap-w .phero__ctas{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px;}
.cap-w.cap-w .phero__fig{position: relative; aspect-ratio: var(--ar, 3 / 2); border-radius: 24px; overflow: hidden; box-shadow: var(--sh-3);}
.cap-w.cap-w .phero__fig img{width: 100%; height: 100%; object-fit: cover;}
@media (min-width: 901px){
.cap-w.cap-w .phero__fig{box-shadow: 18px 18px 0 -1px var(--sun), 18px 18px 0 0 var(--gold), var(--sh-3);}
}
.cap-w.cap-w .phero--text .phero__grid{grid-template-columns: minmax(0, 1fr); max-width: 860px;}
@media (max-width: 900px){
.cap-w.cap-w .phero{padding-top: calc(var(--hdr-h) + 40px);}
.cap-w.cap-w .phero__grid{grid-template-columns: minmax(0, 1fr); gap: 36px;}
.cap-w.cap-w .phero__title{font-size: clamp(2.2rem, 9.4vw, 3rem);}
.cap-w.cap-w .phero__fig{border-radius: 20px;}
}
@media (max-width: 767px){
.cap-w.cap-w .phero__title{font-weight: 560;}
.cap-w.cap-w .phero__ctas .btn{flex: 1 1 100%;}
}
.cap-w.cap-w .split__grid{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 104px); align-items: center;}
.cap-w.cap-w .split--rev .split__fig{order: -1;}
.cap-w.cap-w .split__copy{display: grid; gap: 16px; justify-items: start; max-width: 58ch;}
.cap-w.cap-w .split__copy .h2{margin-top: 4px; margin-bottom: 6px;}
.cap-w.cap-w .split__copy .lead{color: var(--on-ground);}
.cap-w.cap-w .split__copy .btn{margin-top: 10px;}
.cap-w.cap-w .split__fig{aspect-ratio: var(--ar, 3 / 2); border-radius: 24px; overflow: hidden; box-shadow: var(--sh-2);}
.cap-w.cap-w .split__fig img{width: 100%; height: 100%; object-fit: cover;}
.cap-w.cap-w .split__list{display: grid; gap: 10px; margin-top: 6px;}
.cap-w.cap-w .split__list li{position: relative; padding-left: 26px; color: var(--on-ground);}
.cap-w.cap-w .split__list li::before{content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 12px; border-radius: 3px; background: var(--gold); box-shadow: 0 0 10px rgba(201, 165, 106, .6);}
@media (max-width: 900px){
.cap-w.cap-w .split__grid{grid-template-columns: minmax(0, 1fr);}
.cap-w.cap-w .split--rev .split__fig,.cap-w.cap-w .split__fig{order: -1;}
.cap-w.cap-w .split__fig{border-radius: 20px;}
}
.cap-w.cap-w .steps3{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(36px, 5vw, 64px);}
.cap-w.cap-w .steps3 li{padding: 30px 28px; border-radius: var(--r-surface, 24px); background: rgba(255, 255, 255, .7); border: 1px solid rgba(255, 255, 255, .95); display: grid; gap: 10px; align-content: start;}
.cap-w.cap-w .steps3 b{font-family: var(--f-display); font-style: italic; font-weight: 400; font-size: 2.2rem; line-height: 1; color: var(--gold-ink);}
.cap-w.cap-w .steps3 h3{font-family: var(--f-display); font-weight: 500; font-size: 1.35rem; line-height: 1.15; color: var(--ink);}
@media (max-width: 767px){
.cap-w.cap-w .steps3{grid-template-columns: minmax(0, 1fr);}
}
.cap-w.cap-w .grid3{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 16px; margin-top: clamp(36px, 5vw, 64px);}
.cap-w.cap-w .grid3 figure{display: grid; gap: 10px;}
.cap-w.cap-w .grid3 .grid3__img{aspect-ratio: 1 / 1; border-radius: var(--r-photo, 18px); overflow: hidden; box-shadow: var(--sh-1);}
.cap-w.cap-w .grid3 img{width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-soft);}
.cap-w.cap-w .grid3 figcaption{display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .84rem; color: var(--ink-soft);}
.cap-w.cap-w .grid3 figcaption b{color: var(--ink); font-weight: 650;}
@media (hover: hover) and (pointer: fine){
.cap-w.cap-w .grid3 figure:hover img{transform: scale(1.03);}
}
@media (max-width: 900px){
.cap-w.cap-w .grid3{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px;}
}
.cap-w.cap-w .head-c{display: grid; justify-items: center; text-align: center; gap: 14px; max-width: 760px; margin-inline: auto;}
.cap-w.cap-w .head-c .h2{margin-inline: auto; margin-top: 6px;}
.cap-w.cap-w .head-c .eyebrow::after{content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; flex: none;}
.cap-w.cap-w .field select{width: 100%; min-height: 52px; padding: 13px 44px 13px 16px; border-radius: var(--r-field, 14px); border: 1px solid rgba(42, 36, 31, .16);
  background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%232A241F' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 18px center;
  font: inherit; font-size: 1rem; color: var(--ink); appearance: none; -webkit-appearance: none; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease;}
.cap-w.cap-w .field select:focus{outline: none; border-color: var(--oak); box-shadow: 0 0 0 4px rgba(201, 150, 95, .18);}
.cap-w.cap-w .field.is-bad select,.cap-w.cap-w .field.is-bad textarea{border-color: #B4472F;}
.cap-w.cap-w .gal__filter{display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 28px;}
.cap-w.cap-w .gal__filter button{font: inherit; font-family: var(--f-label); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink);
  min-height: 44px; padding: 10px 20px; border-radius: 999px; border: 1px solid rgba(42, 36, 31, .18); background: rgba(255, 255, 255, .6); cursor: pointer;
  transition: background-color .3s, color .3s, border-color .3s;}
.cap-w.cap-w .gal__filter button[aria-pressed="true"]{background: var(--ink); color: var(--paper); border-color: var(--ink);}
@media (hover: hover){
.cap-w.cap-w .gal__filter button:hover{border-color: var(--ink);}
}
.cap-w.cap-w .grid3 figure[hidden]{display: none;}
@media (max-width: 767px){
.cap-w.cap-w .gal__filter{justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px;}
.cap-w.cap-w .gal__filter button{flex: none;}
}
.cap-w.cap-w .grid3 figure{align-content: start;}
.cap-w.cap-w .gal__filter{justify-self: stretch;}
@media (max-width: 767px){
.cap-w{--chapter-y: 68px;}
.cap-w.cap-w .hdr__pill{background: #FBF8F3;}
.cap-w.cap-w .dock{box-shadow: 0 0 0 1px rgba(201, 165, 106, .6), 0 14px 30px -14px rgba(42, 36, 31, .6); font-size: .78rem;}
.cap-w.cap-w .eyebrow--sm{font-size: .8rem;}
.cap-w.cap-w .ft__h{font-size: .8rem;}
.cap-w.cap-w .shot--low,html:not(.cap-h) .cap-w.cap-w .shot--low{margin-top: 0;}
.cap-w.cap-w .proj__track{row-gap: 76px;}
.cap-w.cap-w .proj__more{margin-top: 26px;}
.cap-w.cap-w .gal__filter{flex-wrap: wrap; justify-content: center; overflow: visible; margin-inline: 0; padding-inline: 0; gap: 8px;}
.cap-w.cap-w .gal__filter button{padding: 10px 16px; font-size: .78rem; letter-spacing: .1em;}
}
.cap-w.cap-w .agree a{display: inline-block; padding-block: 12px; margin-block: -12px;}

/* ── our <button>s vs Hello's reset (pink, bordered, nowrap, padded) ── */
.cap-w.cap-w :is(.hdr__burger,.menu__close,.q button),
.cap-w.cap-w :is(.hdr__burger,.menu__close,.q button):is(:hover,:focus,:active){box-shadow:none;text-transform:none;letter-spacing:inherit;text-decoration:none}
.cap-w.cap-w .form__submit,.cap-w.cap-w .form__submit:is(:hover,:focus,:active){box-shadow:none;text-decoration:none;text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;font-weight:650}
.cap-w.cap-w .q button,.cap-w.cap-w .q button:is(:hover,:focus,:active){background:none;border:0;border-radius:0;color:var(--ink);white-space:normal}
.cap-w.cap-w .hdr__burger,.cap-w.cap-w .menu__close,.cap-w.cap-w :is(.hdr__burger,.menu__close):is(:hover,:focus,:active){background:#fff;border:1px solid rgba(42,36,31,.14);border-radius:50%;padding:0;color:var(--ink)}
.cap-w.cap-w .form__submit,.cap-w.cap-w .form__submit:is(:hover,:focus,:active){background:var(--bg);color:var(--fg);border:1px solid var(--bd);border-radius:999px;padding:0 28px;white-space:nowrap}
.cap-w.cap-w .field :is(input,textarea){font-size:1rem;line-height:1.4;color:var(--ink);box-shadow:none}
.cap-w.cap-w .pick span,.cap-w.cap-w .agree{line-height:1.4}
.cap-w.cap-w .show__thumb,.cap-w.cap-w .show__thumb:is(:hover,:focus,:active){padding:0;border:0;border-radius:12px;background:var(--sand);color:inherit;box-shadow:none;white-space:normal;text-transform:none}
/* theme img { height:auto } loses to framed photos */
.cap-w.cap-w :is(.wall__t,.who__big,.who__small,.card__fig,.shot,.show__slide,.show__thumb) img{height:100%;max-width:none;width:100%;border-radius:inherit;box-shadow:none}
.cap-w.cap-w .shot img{border-radius:20px}
/* repeaters can change the number of steps */
@media (min-width: 901px){.cap-w.cap-w .steps{grid-template-columns:repeat(var(--steps,5),minmax(0,1fr))}}
/* wall speed control */
.cap-w .hero__wall.is-slow .wall__loop{animation-duration:110s}
.cap-w .hero__wall.is-slow .wall__col--2 .wall__loop{animation-duration:126s}
.cap-w .hero__wall.is-fast .wall__loop{animation-duration:46s}
.cap-w .hero__wall.is-fast .wall__col--2 .wall__loop{animation-duration:54s}

/* ── Elementor editor canvas: everything static, visible and editable ── */
body.elementor-editor-active .cap-w .loader{display:none}
body.elementor-editor-active .cap-w .hdr{position:relative;inset:auto;padding:12px 0}
body.elementor-editor-active .cap-w .dock{position:relative;inset:auto;left:auto;margin:10px auto;transform:none;opacity:1;pointer-events:auto}
body.elementor-editor-active .cap-w .hero{min-height:0}
body.elementor-editor-active .cap-w .wa{position:relative;inset:auto;margin:10px auto;width:max-content}
