:root{
  
  --c-bg:#0A0A0C;
  --c-surface:#141418;
  --c-surface-2:#1E1E24;
  --c-deep:#050506;
  --c-text:#F4F2ED;
  --c-primary:#D8BC7E;
  --c-accent:#EFE0BC;
  --c-muted:#8A8A93;
  --c-foil-deep:#B2914F;
  --c-foil-hi:#E7D3A6;
  --c-primary-rgb:216,188,126;
  --c-bg-rgb:10,10,12;
  --grad-foil:linear-gradient(100deg, var(--c-accent) 0%, var(--c-primary) 42%, var(--c-foil-deep) 78%, var(--c-foil-hi) 100%);
  --grad-sweep:linear-gradient(112deg, rgba(var(--c-primary-rgb),0.10) 0%, rgba(var(--c-primary-rgb),0.03) 38%, transparent 68%);
  --grad-scrim:linear-gradient(180deg, rgba(var(--c-bg-rgb),0) 34%, rgba(var(--c-bg-rgb),0.55) 74%, rgba(var(--c-bg-rgb),0.94) 100%);

  
  --ff-display:'Sora','Helvetica Neue',Helvetica,Arial,sans-serif;
  --ff-body:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  --fs-h1:clamp(2.5rem, 1.7rem + 3.4vw, 4.5rem);
  --fs-h2:clamp(2rem, 1.55rem + 2vw, 3.4rem);
  --fs-h3:clamp(1.5rem, 1.28rem + 1.1vw, 2.15rem);
  --fs-chapter:clamp(1.65rem, 1.35rem + 1.5vw, 2.6rem);
  --fs-body:clamp(1.0625rem, 1.02rem + 0.18vw, 1.125rem);
  --fs-small:0.875rem;
  --fs-kicker:0.6875rem;
  --lh-body:1.75;
  --measure:62ch;

  
  --sp-1:0.375rem;
  --sp-2:0.75rem;
  --sp-3:1.125rem;
  --sp-4:1.5rem;
  --sp-5:2.25rem;
  --sp-6:3rem;
  --sp-7:4.5rem;
  --sp-8:6.5rem;
  --gutter:clamp(1.25rem, 0.95rem + 1.9vw, 3rem);
  --container:1200px;
  --container-narrow:840px;
  --section-pad:clamp(5rem, 3.6rem + 5.4vw, 8.25rem);
  --radius:3px;
  --radius-lg:6px;
  --rule-soft:rgba(var(--c-primary-rgb),0.16);

  
  --mo-dur:560ms;
  --mo-ease:cubic-bezier(0.16, 0.84, 0.24, 1);
  --mo-dist:22px;
  --mo-stagger:80ms;
  --mo-hover:180ms;

  --header-h:68px;
}
@media (min-width:900px){ :root{ --header-h:84px; } }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--ff-body);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video,canvas{display:block;max-width:100%}
h1,h2,h3,h4,h5,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--c-primary);text-decoration:none}
a:hover{color:var(--c-accent)}
strong,b{font-weight:600}
button,input,select,textarea{font:inherit;color:inherit}
hr{border:0}
:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:2px}
::selection{background:var(--c-primary);color:var(--c-bg)}
[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}

@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
}

h1,h2,h3,h4,.display{
  font-family:var(--ff-display);
  font-weight:700;
  color:var(--c-text);
  line-height:1.1;
  letter-spacing:-0.03em;
  text-wrap:balance;
}
h1,.h1{font-size:var(--fs-h1);line-height:1.02;letter-spacing:-0.035em}
h2,.h2{font-size:var(--fs-h2);letter-spacing:-0.03em}
h3,.h3{font-size:var(--fs-h3);letter-spacing:-0.02em}
.chapter-title{font-family:var(--ff-display);font-weight:600;font-size:var(--fs-chapter);line-height:1.14;letter-spacing:-0.02em;color:var(--c-text)}
p{max-width:var(--measure)}
.lede{font-size:clamp(1.125rem, 1.02rem + 0.5vw, 1.3125rem);font-weight:500;line-height:1.65;color:var(--c-text);max-width:58ch}
.measure{max-width:var(--measure)}
.measure-wide{max-width:74ch}
.text-muted{color:var(--c-muted)}
.disclaimer{font-size:var(--fs-small);line-height:1.7;color:var(--c-muted);max-width:var(--measure)}
.caption{font-size:var(--fs-small);line-height:1.7;color:var(--c-muted)}
.meta-label{font-family:var(--ff-display);font-weight:600;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-muted)}
.legal-name{font-family:var(--ff-body);font-weight:400;font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--c-muted)}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:var(--container-narrow)}

.section__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section__inner--narrow{max-width:var(--container-narrow)}

.section{position:relative;padding-block:var(--section-pad)}
.section--tight{padding-block:clamp(3.25rem, 2.4rem + 3.4vw, 5.5rem)}
.section--surface{background:var(--c-surface)}
.section--deep{background:var(--c-deep)}

.section:not(:has(> .container)):not(:has(> .section__inner)){padding-inline:var(--gutter)}

.stack > * + *{margin-top:var(--sp-4)}
.stack-lg > * + *{margin-top:var(--sp-6)}
.heading-block{max-width:70ch}
.heading-block > * + *{margin-top:var(--sp-3)}
.heading-block + *{margin-top:clamp(2.5rem, 1.8rem + 2.6vw, 4.5rem)}

.grid{display:grid;gap:clamp(1.25rem, 1rem + 1.4vw, 2.25rem);grid-template-columns:1fr}
@media (min-width:768px){
  .grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:768px) and (max-width:1023.98px){
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.visually-hidden{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.center{text-align:center;margin-inline:auto}
.hairline{height:1px;width:100%;background:var(--rule-soft)}

.skip-link{position:absolute;left:var(--gutter);top:-140px;z-index:200;background:var(--c-primary);color:var(--c-bg);font-family:var(--ff-display);font-weight:600;font-size:0.875rem;letter-spacing:0.04em;padding:0.75rem 1.25rem;border-radius:var(--radius)}
.skip-link:focus{top:0.5rem;color:var(--c-bg)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.6em;
  min-height:48px;padding:0.9rem 1.65rem;
  font-family:var(--ff-display);font-weight:600;font-size:0.9375rem;letter-spacing:0.05em;
  line-height:1.2;text-align:center;
  border:1px solid transparent;border-radius:var(--radius);
  cursor:pointer;
  transition:background-color var(--mo-hover) var(--mo-ease), color var(--mo-hover) var(--mo-ease), border-color var(--mo-hover) var(--mo-ease), transform var(--mo-hover) var(--mo-ease), opacity var(--mo-hover) var(--mo-ease);
}
.btn--primary{background:var(--c-primary);color:var(--c-bg);border-color:var(--c-primary)}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-bg)}
.btn--ghost{background:transparent;color:var(--c-primary);border-color:rgba(var(--c-primary-rgb),0.5)}
.btn--ghost:hover,.btn--ghost:focus-visible{color:var(--c-accent);border-color:var(--c-accent);background:rgba(var(--c-primary-rgb),0.08)}
.btn--wide{width:100%}
@media (min-width:480px){.btn--wide{width:auto}}

.kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--ff-display);font-weight:600;
  font-size:var(--fs-kicker);line-height:1;
  letter-spacing:0.28em;text-transform:uppercase;
  color:var(--c-primary);
}
.kicker::before{content:"";display:block;flex:0 0 20px;width:20px;height:1px;background:currentColor}

.meridian-rule{
  position:relative;display:block;width:100%;height:2px;
  margin:0 0 20px;border:0;
  background-image:linear-gradient(90deg, var(--c-accent) 0, var(--c-accent) 56px, transparent 56px);
  background-repeat:no-repeat;
}
.meridian-rule::after{
  content:"";position:absolute;left:56px;right:0;top:50%;
  height:1px;margin-top:-0.5px;
  background:rgba(var(--c-primary-rgb),0.4);
}
.kicker + .meridian-rule{margin-top:var(--sp-3)}
.meridian-rule + h2,.meridian-rule + h3,.meridian-rule + .chapter-title{margin-top:0}

.medallion{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;width:48px;height:48px;border-radius:50%;
  background:var(--c-surface);
  border:1px solid rgba(var(--c-primary-rgb),0.5);
  color:var(--c-primary);
  transition:transform 220ms var(--mo-ease), border-color 220ms var(--mo-ease), background-color 220ms var(--mo-ease);
}
@media (min-width:768px){.medallion{width:56px;height:56px}}
.medallion svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.medallion:hover,.medallion:focus-visible,a:hover .medallion,a:focus-visible .medallion,.card:hover .medallion{border-color:var(--c-primary);transform:translateY(-3px)}

.metallic-sweep{position:relative;isolation:isolate;background-color:var(--c-surface)}
.metallic-sweep::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad-sweep);pointer-events:none}

.numeral{
  display:block;
  font-family:var(--ff-display);font-weight:800;
  font-size:clamp(3.25rem, 2.1rem + 3.1vw, 5.5rem);
  line-height:0.86;letter-spacing:-0.04em;
  color:rgba(var(--c-primary-rgb),0.22);
}
.numeral--behind{position:absolute;top:-0.14em;left:0;z-index:0;pointer-events:none;user-select:none}

.wordmark-lock{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0.3em;line-height:1;min-width:0}
.wordmark{
  font-family:var(--ff-display);font-weight:700;
  text-transform:uppercase;letter-spacing:0.16em;
  line-height:1;
  color:var(--c-primary);
  background-image:var(--grad-foil);
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .wordmark{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
}
.wordmark__sub{
  font-family:var(--ff-body);font-weight:400;
  text-transform:uppercase;letter-spacing:0.34em;
  font-size:0.47em;line-height:1;color:var(--c-muted);
}
.mark{color:var(--c-primary);flex:0 0 auto}

.card{
  position:relative;
  background:var(--c-surface);
  border:1px solid rgba(var(--c-primary-rgb),0.14);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem, 1.2rem + 1.4vw, 2.5rem);
  transition:transform var(--mo-hover) var(--mo-ease), border-color var(--mo-hover) var(--mo-ease), background-color var(--mo-hover) var(--mo-ease), opacity var(--mo-hover) var(--mo-ease);
}
.card:hover,.card:focus-within{border-color:rgba(var(--c-primary-rgb),0.4);background:var(--c-surface-2)}
.card > * + *{margin-top:var(--sp-3)}
.card--flat{background:transparent;border-color:rgba(var(--c-primary-rgb),0.18)}
.card--deep{background:var(--c-surface-2)}
.card--deep:hover{background:var(--c-surface-2);border-color:rgba(var(--c-primary-rgb),0.42)}

.panel{
  position:relative;
  background:var(--c-surface);
  border:1px solid rgba(var(--c-primary-rgb),0.14);
  border-radius:var(--radius-lg);
  padding:clamp(1.75rem, 1.3rem + 2.2vw, 3.25rem);
}

.callout{
  background:rgba(var(--c-primary-rgb),0.05);
  border:1px solid rgba(var(--c-primary-rgb),0.24);
  border-radius:var(--radius-lg);
  padding:clamp(1.25rem, 1rem + 1.2vw, 2rem);
}
.callout > * + *{margin-top:var(--sp-2)}
.callout__label{
  display:block;
  font-family:var(--ff-display);font-weight:600;
  font-size:0.6875rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--c-muted);
}

.include-list li{
  position:relative;
  padding-left:1.6rem;
  font-size:1rem;line-height:1.9;font-weight:500;color:var(--c-text);
  max-width:var(--measure);
}
.include-list li + li{margin-top:0.35rem}
.include-list li::before{
  content:"";position:absolute;left:0;top:0.85em;
  width:10px;height:1px;background:var(--c-primary);
}
.include-list + .btn,.include-list + a.btn{margin-top:40px}

.img-frame{
  position:relative;overflow:hidden;
  background:var(--c-deep);
  border:1px solid rgba(var(--c-primary-rgb),0.18);
  border-radius:var(--radius-lg);
  transition:border-color 700ms var(--mo-ease);
}
.img-frame::after{content:"";position:absolute;inset:0;background:var(--grad-scrim);pointer-events:none}
.img-frame:hover{border-color:rgba(var(--c-primary-rgb),0.6)}
.img-treated{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(0.82) contrast(1.08) brightness(0.9) sepia(0.12) hue-rotate(-6deg);
}
.img-bleed{position:relative}
.img-bleed::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--grad-scrim)}

.field{display:grid;gap:0.5rem}
.field label,.form-label{font-family:var(--ff-display);font-weight:600;font-size:0.75rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-muted)}
input:not([type="checkbox"]):not([type="radio"]),textarea,select{
  width:100%;min-height:48px;
  padding:0.9rem 1rem;
  background:var(--c-surface-2);
  color:var(--c-text);
  border:1px solid rgba(var(--c-primary-rgb),0.18);
  border-radius:var(--radius);
  transition:border-color var(--mo-hover) var(--mo-ease), background-color var(--mo-hover) var(--mo-ease);
}
textarea{min-height:150px;line-height:1.65;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--c-muted);opacity:1}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--c-primary);background:var(--c-surface)}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}

.site-header{position:sticky;top:0;z-index:80;background:var(--c-bg);border-bottom:1px solid var(--rule-soft)}
.site-header__bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-3);
  width:100%;max-width:var(--container);margin-inline:auto;
  padding-inline:var(--gutter);
  min-height:var(--header-h);
}
.identity{
  display:inline-flex;align-items:center;gap:14px;
  min-width:0;flex:0 1 auto;color:var(--c-text);
  transition:opacity var(--mo-hover) var(--mo-ease), transform var(--mo-hover) var(--mo-ease);
}
.identity:hover{opacity:0.86;color:var(--c-text)}
.identity .mark{width:26px;height:26px}
.site-header .wordmark{font-size:clamp(0.95rem, 0.86rem + 0.35vw, 1.2rem)}

.site-header__actions{display:flex;align-items:center;gap:var(--sp-3);flex:0 0 auto}

.header__cta{display:none}

.nav-toggle{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.nav-toggle-label{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;flex:0 0 auto;
  cursor:pointer;color:var(--c-primary);
  transition:color var(--mo-hover) var(--mo-ease), transform var(--mo-hover) var(--mo-ease);
}
.nav-toggle-label:hover{color:var(--c-accent)}
.nav-toggle-bars{position:relative;display:block;width:22px;height:1.5px;background:currentColor;transition:background-color var(--mo-hover) var(--mo-ease)}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0;display:block;width:22px;height:1.5px;background:currentColor;transition:transform var(--mo-hover) var(--mo-ease), opacity var(--mo-hover) var(--mo-ease)}
.nav-toggle-bars::before{top:-7px}
.nav-toggle-bars::after{top:7px}
.nav-toggle:checked ~ .site-header__bar .nav-toggle-bars{background:transparent}
.nav-toggle:checked ~ .site-header__bar .nav-toggle-bars::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle:checked ~ .site-header__bar .nav-toggle-bars::after{transform:translateY(-7px) rotate(-45deg)}
.nav-toggle:focus-visible ~ .site-header__bar .nav-toggle-label{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:2px}

.nav-panel{
  position:fixed;left:0;right:0;top:var(--header-h);
  height:calc(100vh - var(--header-h));
  height:calc(100dvh - var(--header-h));
  z-index:70;
  background:var(--c-deep);
  overflow-y:auto;overscroll-behavior:contain;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-10px);
  transition:opacity var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease), visibility 0s linear var(--mo-dur);
}
.nav-toggle:checked ~ .nav-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.nav-panel__backdrop{position:absolute;inset:0;z-index:0;display:block;cursor:default}
.nav-panel__inner{
  position:relative;z-index:1;
  width:100%;max-width:var(--container);margin-inline:auto;
  padding:var(--sp-5) var(--gutter) var(--sp-7);
}
.nav-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}
.nav-close{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;cursor:pointer;
  color:var(--c-muted);font-size:1.05rem;line-height:1;
  border:1px solid rgba(var(--c-primary-rgb),0.2);border-radius:50%;
  transition:color var(--mo-hover) var(--mo-ease), border-color var(--mo-hover) var(--mo-ease), transform var(--mo-hover) var(--mo-ease);
}
.nav-close:hover{color:var(--c-primary);border-color:var(--c-primary)}
.nav-list ul{display:grid;gap:0}
.nav-list a{
  display:flex;align-items:center;
  min-height:52px;padding:var(--sp-2) 0;
  font-family:var(--ff-display);font-weight:600;
  font-size:clamp(1.0625rem, 0.98rem + 0.5vw, 1.3rem);
  letter-spacing:-0.01em;line-height:1.25;
  color:var(--c-text);
  border-bottom:1px solid rgba(var(--c-primary-rgb),0.12);
  transition:color var(--mo-hover) var(--mo-ease), transform var(--mo-hover) var(--mo-ease), border-color var(--mo-hover) var(--mo-ease);
}
.nav-list a:hover,.nav-list a:focus-visible{color:var(--c-primary);transform:translateX(4px);border-color:rgba(var(--c-primary-rgb),0.35)}
.nav-panel__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-5);margin-top:var(--sp-6)}
.nav-panel__tel{font-family:var(--ff-display);font-weight:600;font-size:1rem;letter-spacing:0.04em;color:var(--c-text)}
.nav-panel__tel:hover{color:var(--c-primary)}

@media (min-width:760px){
  .nav-list ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}
}
@media (min-width:900px){
  .identity .mark{width:30px;height:30px}
  .header__cta{display:inline-flex}
  .nav-panel__inner{padding-block:var(--sp-6) var(--sp-8)}
}

html:has(.nav-toggle:checked),html:has(.nav-toggle:checked) body{overflow:hidden}

.site-footer{
  margin-top:0;
  background:var(--c-deep);
  border-top:1px solid var(--rule-soft);
  padding-block:clamp(3.5rem, 2.6rem + 3.4vw, 6rem) clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
}
.site-footer__top{display:grid;gap:var(--sp-6);grid-template-columns:1fr}
@media (min-width:860px){
  .site-footer__top{grid-template-columns:1.15fr 1.45fr 0.95fr;gap:var(--sp-6) var(--sp-5)}
}
.site-footer__brand{display:flex;flex-direction:column;gap:var(--sp-3);align-items:flex-start}
.site-footer .identity-typed{display:inline-flex;align-items:center;gap:14px}
.site-footer .mark{width:30px;height:30px}
.site-footer .wordmark{font-size:1.15rem}
.site-footer__note{font-size:0.9375rem;line-height:1.75;color:var(--c-muted);max-width:44ch}
.footer-heading{font-family:var(--ff-display);font-weight:600;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--sp-3)}
.site-footer__nav ul{display:grid;gap:0.1rem;grid-template-columns:1fr}
@media (min-width:520px){.site-footer__nav ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-4)}}
.site-footer__nav a{
  display:inline-flex;align-items:center;min-height:36px;
  font-size:0.9375rem;line-height:1.5;color:var(--c-muted);
  transition:color var(--mo-hover) var(--mo-ease), transform var(--mo-hover) var(--mo-ease);
}
.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--c-primary);transform:translateX(3px)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:0.4rem}
.footer-contact a{
  display:inline-flex;align-items:center;min-height:40px;
  color:var(--c-text);font-size:0.9375rem;word-break:break-word;
  transition:color var(--mo-hover) var(--mo-ease);
}
.footer-contact a:hover{color:var(--c-primary)}
.footer-contact .btn{margin-top:var(--sp-3)}
.site-footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--sp-2) var(--sp-5);
  margin-top:clamp(2.5rem, 2rem + 2vw, 3.75rem);
  padding-top:var(--sp-4);
  border-top:1px solid rgba(var(--c-primary-rgb),0.12);
}
.site-footer__bottom p{margin:0;max-width:none}
.copyright{font-size:0.8125rem;letter-spacing:0.04em;color:var(--c-muted)}
.legal-links{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4)}
.legal-links a{font-size:0.8125rem;color:var(--c-muted);transition:color var(--mo-hover) var(--mo-ease)}
.legal-links a:hover{color:var(--c-primary)}
.attribution a{font-size:0.8125rem;color:var(--c-muted);transition:color var(--mo-hover) var(--mo-ease)}
.attribution a:hover{color:var(--c-primary)}

.link-draw{position:relative;display:inline-block}
.link-draw::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:var(--c-primary);
  transform:scaleX(0);transform-origin:left center;
}
.link-draw:hover::after,.link-draw:focus-visible::after{transform:scaleX(1)}

.media-zoom{position:relative;display:block;overflow:hidden}
.media-zoom img{width:100%;height:100%;object-fit:cover;transform:scale(1)}

@media (prefers-reduced-motion: no-preference){
  .reveal,
  .reveal-stagger > *{
    opacity:0;
    transform:translateY(var(--mo-dist));
    transition:opacity var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease);
    transition-delay:var(--reveal-delay, 0ms);
  }
  .reveal.is-visible,
  .reveal-stagger > .is-visible,
  .reveal-stagger.is-visible > *{opacity:1;transform:none}

  
  .reveal--draw{
    opacity:1;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform var(--mo-dur) var(--mo-ease);
    transition-delay:var(--reveal-delay, 0ms);
  }
  .reveal--draw.is-visible{transform:scaleX(1)}

  .link-draw::after{transition:transform var(--mo-hover) var(--mo-ease)}
  .media-zoom img{transition:transform calc(var(--mo-dur) * 2) var(--mo-ease)}
  .media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}

  .btn:hover,.btn:focus-visible{transform:translateY(-2px)}
  .card:hover,.card:focus-within{transform:translateY(-3px)}

  
  @keyframes coreya-ken-burns{from{transform:scale(1.06)}to{transform:scale(1)}}
  .ken-burns{animation:coreya-ken-burns 8s var(--mo-ease) forwards}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}
  .reveal,.reveal-stagger > *,.reveal--draw{opacity:1;transform:none}
  .ken-burns{animation:none;transform:none}
  .media-zoom img{transform:none}
  .media-zoom:hover img,.media-zoom:focus-within img{transform:none}
  .btn:hover,.btn:focus-visible,.card:hover,.card:focus-within,.medallion:hover,.nav-list a:hover,.site-footer__nav a:hover{transform:none}
}

.reveal{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1}
.reveal-stagger>*{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .reveal{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal.is-visible{transform:none}
  .reveal-stagger>*{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{transform:none}
}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transform:none;transition:none}}
/* nn:mobile-floor */
@media (max-width:899px){
.site-header{position:sticky}
.header__bar{flex-wrap:nowrap}
.nav-panel{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - var(--header-h,64px));overflow-y:auto;-webkit-overflow-scrolling:touch}
}
input,select,textarea{min-width:0;box-sizing:border-box;max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]{-webkit-appearance:none;appearance:none;width:100%}
input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type="date"]::-webkit-calendar-picker-indicator{margin-inline-start:auto}

/* Desktop navigation — the client's brief specifies a menu bar, not a burger.
   Below 1080px this is hidden and the existing slide-in panel takes over. */
.nav-desktop{display:none}
@media (min-width:1080px){
  .nav-desktop{display:block;margin-left:auto}
  .nav-desktop ul{display:flex;align-items:center;gap:clamp(16px,1.5vw,30px);list-style:none;margin:0;padding:0}
  .nav-desktop a{
    font-family:var(--ff-display);font-weight:600;font-size:0.75rem;
    letter-spacing:0.1em;text-transform:uppercase;color:var(--c-text);
    opacity:0.82;padding:6px 0;position:relative;white-space:nowrap;
    transition:opacity var(--mo-hover) var(--mo-ease), color var(--mo-hover) var(--mo-ease);
  }
  .nav-desktop a::after{
    content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
    background:var(--c-primary);transition:right var(--mo-hover) var(--mo-ease);
  }
  .nav-desktop a:hover,.nav-desktop a:focus-visible{opacity:1;color:var(--c-primary)}
  .nav-desktop a:hover::after,.nav-desktop a:focus-visible::after{right:0}
  .nav-toggle-label{display:none}
  .site-header__actions{margin-left:var(--sp-4)}
}
@media (prefers-reduced-motion:reduce){
  .nav-desktop a::after{transition:none}
}

/* nav breathing room — the desktop nav was touching the wordmark */
@media (min-width:1080px){
  .nav-desktop{margin-left:clamp(40px,6vw,96px)}
  .site-header__bar{gap:var(--sp-4)}
  .identity{margin-right:8px}
}
