/* CDE, concept AVINII, round 3 (October 2026): the casavanamilos.com house system (DESIGN.md §1–§5, §10)
   in CDE's tokens. Display Cormorant Garamond 400 / italic 400 / 500; body and labels Inter 400 / 500. */
/* fonts: self-hosted latin + latin-ext; one rule per weight (casa §2) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin.woff2?v=20261020c) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext.woff2?v=20261020c) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin.woff2?v=20261020c) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext.woff2?v=20261020c) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-italic-latin.woff2?v=20261020c) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-italic-latin-ext.woff2?v=20261020c) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/inter-400-500-latin.woff2?v=20261020c) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/inter-400-500-latin-ext.woff2?v=20261020c) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* tokens (GPT's measured set, ROUND3-BRIEF §1) */
:root{
  --ink-900:#080F20; --ink-800:#101C32; --ink-700:#192B45;--slate:#344964;
  --gold-700:#8B7346; --gold-500:#C4A56B; --gold-300:#E2CEA6;
  --ivory:#F3EFE6;
  --ivory-92:rgb(243 239 230 / .92); --ivory-64:rgb(243 239 230 / .64);
  --ivory-38:rgb(243 239 230 / .38); --ivory-14:rgb(243 239 230 / .14);
  --paper:#E9E4D9; --paper-72:rgb(8 15 32 / .72); --paper-20:rgb(8 15 32 / .2); --paper-12:rgb(8 15 32 / .12);
  --gold-on-paper:#715C35;
  --hair:rgb(226 206 166 / .10);
  --seal-url:url(../logo/cde-seal.svg?v=20261020c);
  --serif:'Cormorant Garamond',Garamond,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --pad-x:clamp(1.5rem,5vw,6rem);--pad-y:clamp(1.6rem,2.8vw,3rem);
  --col:74rem;
  --gutter:max(var(--pad-x),calc((100% - var(--col)) / 2));
  --section-y:clamp(4.5rem,8vw,8rem);
  --page-top:clamp(2.5rem,5vw,4.5rem);
  --fs-h1:clamp(2.6rem,5.2vw,5rem);
  --fs-h2:clamp(2rem,3.4vw,3.1rem);
  --head-h:6.25rem;
  --expo:cubic-bezier(.16,1,.3,1);
  --out:cubic-bezier(.33,1,.68,1);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ink-900);-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-behavior:smooth}
body{margin:0;background:var(--ink-900);color:var(--ivory);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,figure,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
address{font-style:normal}
[hidden]{display:none !important}
::selection{background:var(--gold-300);color:var(--ink-900)}
:focus-visible{outline:2px solid var(--gold-300);outline-offset:3px;border-radius:1px}
main:focus{outline:none}
[id]{scroll-margin-top:1.5rem}
.wrap{width:min(var(--col),100% - 2 * var(--pad-x));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;z-index:120;top:1rem;left:var(--pad-x);padding:.75rem 1rem;background:var(--gold-300);color:var(--ink-900);transform:translateY(-200%)}
.skip-link:focus{transform:none}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1{font-size:var(--fs-h1);line-height:1.02;letter-spacing:-.015em}
h2{font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.01em;text-wrap:balance}
:is(h1,h2) .l1,:is(h1,h2) .l2{display:block}
:is(h1,h2) .l2{font-style:italic;color:var(--gold-300)}
.eyebrow,.nav a,.rail,.label,.index-row .k,.cite,.tag,.pr-cat,.pr-pages,.pr-scope,.menu-n,.facts dt,.sheet-cat,.sheet-facts,.doc-meta,.doc-status,.doc-download,.doc-filters button,.foot-identity,.credit-row > span,.sheet-meta dt,.src{
  font-family:var(--sans);font-size:.7rem;line-height:1.45;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
}
.eyebrow{display:flex;align-items:center;gap:.9rem;color:var(--gold-300);margin:0 0 clamp(1rem,1.7vw,1.5rem);letter-spacing:.2em}
.eyebrow::before{content:"";width:clamp(24px,4vw,54px);height:1px;background:var(--gold-500);flex:none}
.label{color:var(--ivory-64);margin-bottom:1rem}
.lead{margin-top:clamp(1.1rem,1.9vw,1.7rem);max-width:52ch;font-size:clamp(1.02rem,.6rem + .8vw,1.16rem);line-height:1.6;color:var(--ivory-92)}
.sub,.prose{color:var(--ivory-64);font-size:.98rem;line-height:1.7;max-width:50ch}
.prose p + p{margin-top:1.1rem}
.quiet-note{margin-top:clamp(1.8rem,3vw,2.6rem);max-width:92ch;padding-left:1rem;border-left:1px solid var(--gold-700);color:var(--ivory-64);font-size:.8rem;line-height:1.75}
.more{margin-top:clamp(1.2rem,2vw,1.6rem)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:clamp(1.4rem,2.4vw,2.2rem)}
.cta{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.95rem 1.5rem;border:1px solid var(--gold-500);border-radius:2px;color:var(--gold-300);
  font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;white-space:nowrap;
  transition:color .24s ease,border-color .24s ease,transform .24s var(--expo);
}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold-500);transform:scaleX(0);transform-origin:100% 50%;transition:transform .3s var(--expo)}
.cta--ghost{border-color:var(--ivory-14);color:var(--ivory-92)}
.cta--ghost::before{background:var(--ivory)}
.cta--sm{padding:.62rem 1rem;font-size:.66rem;letter-spacing:.14em}
.cta--ink{color:var(--ink-900);border-color:rgb(8 15 32 / .5)}
.cta--ink::before{background:var(--ink-900)}
@media (hover:hover) and (pointer:fine){
  .cta:hover{color:var(--ink-900)}
  .cta:hover::before{transform:scaleX(1);transform-origin:0 50%;transition-duration:.42s}
  .cta--ghost:hover{border-color:var(--ivory)}
  .cta--ink:hover{color:var(--paper);border-color:var(--ink-900)}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cta:hover{transform:translateY(-2px)}}
@media (prefers-reduced-motion:no-preference){.cta:active{transform:scale(.97)}}
.link{
  position:relative;display:inline-block;padding-bottom:2px;
  font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;
  color:var(--gold-300);border-bottom:1px solid rgb(196 165 107 / .45);
  transition:color .24s ease,border-color .24s ease;
}
.link::after{content:"";position:absolute;inset:-10px -6px}
.link:hover{color:var(--gold-500);border-bottom-color:var(--gold-500)}
.arr{display:inline-block;margin-left:.45rem;letter-spacing:0;transition:transform .24s var(--expo)}
.seal{
  display:block;aspect-ratio:1;flex:none;
  background:linear-gradient(145deg,var(--gold-300),var(--gold-500) 55%,var(--gold-700));
  -webkit-mask:var(--seal-url) center/contain no-repeat;mask:var(--seal-url) center/contain no-repeat;
}
.site-head{
  position:relative;z-index:60;height:var(--head-h);
  display:flex;align-items:center;gap:clamp(1.25rem,3vw,3rem);
  padding-inline:var(--gutter);border-bottom:1px solid var(--hair);
}
.home .site-head{margin-bottom:calc(-1 * var(--head-h));border-bottom-color:transparent}
.brand{display:inline-flex;align-items:center;gap:.95rem;margin-right:auto}
.head-seal{width:3.4rem}
.brand-name{font-family:var(--serif);font-weight:500;font-size:1.05rem;line-height:1.12;letter-spacing:.02em;color:var(--ivory)}
.nav{display:flex;align-items:center;gap:clamp(1.5rem,2.6vw,2.6rem)}
.nav a{position:relative;padding-block:.6rem;color:var(--ivory-64);white-space:nowrap;transition:color .24s ease}
.nav a::after{content:"";position:absolute;bottom:.3rem;left:0;right:.18em;height:1px;background:var(--gold-500);transform:scaleX(0);transform-origin:100% 50%;transition:transform .26s var(--expo)}
.nav a[aria-current]{color:var(--gold-300)}
.nav a[aria-current]::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){
  .nav a:hover,.burger:hover,.scroll-cue:hover,.menu-reach a:hover{color:var(--gold-300)}
  .menu-list a:hover{color:var(--gold-300);border-bottom-color:rgb(196 165 107 / .4)}
  .nav a:hover::after{transform:scaleX(1);transform-origin:0 50%;transition-duration:.44s}
}
.head-actions{display:flex;align-items:center;gap:clamp(.85rem,1.6vw,1.25rem);flex:none}
.burger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--ivory);transition:color .22s ease}
.burger i{position:relative;display:block;width:26px;height:22px}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;top:10.5px;width:26px;height:1px;background:currentColor;transform:translateY(-4px);transition:transform .4s var(--expo)}
.burger i::after{transform:translateY(4px)}
.burger[aria-expanded="true"] i::before{transform:rotate(45deg)}
.burger[aria-expanded="true"] i::after{transform:rotate(-45deg)}
.menu{
  position:fixed;inset:0;z-index:55;overflow-y:auto;display:flex;align-items:center;
  padding:calc(var(--head-h) + 1.5rem) var(--gutter) 3rem;
  background:rgb(8 15 32 / .96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s;
}
.menu.is-open{opacity:1;visibility:visible;transition:opacity .35s ease}
.no-js .menu{display:none}
.menu-inner{width:100%}
.menu-list{border-top:1px solid var(--ivory-14);max-width:40rem}
.menu-list a{
  display:flex;align-items:baseline;gap:1.5rem;padding:clamp(.6rem,1.2vw,.9rem) 0;border-bottom:1px solid var(--ivory-14);
  font-family:var(--serif);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.15;color:var(--ivory);
  transition:color .24s ease,border-color .24s ease;
}
.menu-n{width:2.5rem;flex:none;color:var(--gold-500)}
.menu-list a[aria-current]{color:var(--gold-300)}
.menu-reach{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-top:2rem;color:var(--ivory-64);font-size:.9rem}
.menu-list li{opacity:0;transform:translate3d(0,14px,0);transition:opacity .4s ease,transform .6s var(--expo)}
.menu.is-open .menu-list li{opacity:1;transform:none;transition-delay:calc(var(--n,0) * 45ms + 80ms)}
body.menu-open{overflow:hidden}
body.menu-open .site-head{border-bottom-color:transparent}
.act--i{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:100vh;min-height:100svh;
  display:grid;grid-template-rows:var(--head-h) 1fr auto;
  padding:0 var(--gutter) var(--pad-y);
}
.stage{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--ink-900)}
.stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 56%}
.scrim{position:absolute;inset:0;pointer-events:none}
.scrim--v{background:linear-gradient(to top,rgb(8 15 32 / .72) 0%,rgb(8 15 32 / .42) 26%,rgb(8 15 32 / .12) 56%,rgb(8 15 32 / .46) 100%)}
.scrim--h{background:linear-gradient(90deg,rgb(8 15 32 / .78) 0%,rgb(8 15 32 / .62) 30%,rgb(8 15 32 / .3) 56%,rgb(8 15 32 / 0) 80%)}
.scrim--bloom{background:radial-gradient(48% 42% at 22% 54%,rgb(52 73 100 / .16) 0%,rgb(52 73 100 / 0) 70%)}
.scrim--deep{background:linear-gradient(to bottom,rgb(8 15 32 / 0) 76%,var(--ink-900) 100%)}
.scrim--veil{background:var(--ink-900);opacity:0}
.hero{grid-row:2;align-self:center;width:100%;padding-block:clamp(1rem,2vw,2.4rem)}
.hero-seal{position:relative;width:clamp(150px,12vw,190px);aspect-ratio:1;margin-bottom:clamp(1.4rem,2.4vw,2.4rem);color:var(--gold-300)}
.hero-seal > *{position:absolute;inset:0;width:100%;height:100%}
.seal-draw{overflow:visible;opacity:.22}
.seal-draw > *{stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.act--i .eyebrow{text-shadow:0 1px 14px rgb(8 15 32 / .8)}
.hero h1{text-shadow:0 1px 30px rgb(8 15 32 / .6),0 1px 4px rgb(8 15 32 / .45)}
/* two lines, always: line 1 is 1182px at the 5rem cap in a 1184px column */
@media (min-width:900px){.hero h1 .l1,.hero h1 .l2{white-space:nowrap}}
.hero .lead{text-shadow:0 1px 22px rgb(8 15 32 / .7),0 1px 3px rgb(8 15 32 / .5)}
.hero .cta:not(.cta--ghost){background:rgb(196 165 107 / .14);border-color:var(--gold-300)}
.hero .cta--ghost{border-color:rgb(243 239 230 / .34);color:var(--ivory)}
@media (hover:hover) and (pointer:fine){
  .hero .cta:not(.cta--ghost):hover{border-color:var(--gold-500)}
  .hero .cta--ghost:hover{border-color:var(--ivory);color:var(--ink-900)}
}
.rail{grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;color:var(--ivory-64)}
.scroll-cue{display:flex;align-items:center;gap:.85rem;transition:color .24s ease}
.scroll-cue i{display:block;width:1px;height:38px;background:linear-gradient(to bottom,var(--gold-500),rgb(196 165 107 / 0));transform-origin:top;animation:drop 2.4s var(--expo) infinite}
@keyframes drop{0%{transform:scaleY(0);opacity:0}30%{opacity:1}100%{transform:scaleY(1);opacity:0}}
.rail .right{text-align:right;color:var(--gold-300)}
/* The load moment: site.js adds .is-ready (fonts + photo, 900 ms at most). Rim, then the inscription and
   stars as one clockwise sweep, ellipse, C, D; at 1.6 s the fill rises and the strokes settle to a .22 trace.
   No JS or reduced motion: the finished state, nothing draws. */
.js .stage-img{filter:blur(12px) brightness(.6);transform:scale(1.04)}
.js .scrim--veil{opacity:.9}
.js .seal-fill{opacity:0}
.js .seal-draw{opacity:1}
.js .seal-draw > *{stroke-dashoffset:1}
.js .act--i .reveal{opacity:0;transform:translate3d(0,18px,0)}
.is-ready .stage-img{animation:settle 2.2s var(--out) forwards}
.is-ready .scrim--veil{animation:veil 2.2s cubic-bezier(.4,0,.2,1) forwards}
.is-ready .seal-draw > *{animation:engrave .45s var(--expo) var(--d,0s) forwards}
/* rim: same 0–1.1 s window, in-out curve instead of expo (expo drew 85% by 0.3 s: a flash, not a pen) */
.is-ready .seal-draw > .r{animation-duration:1.1s;animation-timing-function:cubic-bezier(.55,.08,.2,1)}
.is-ready .seal-draw > .e{animation-duration:.6s}
.is-ready .seal-draw > .m{animation-duration:.5s}
.is-ready .seal-draw{animation:trace .8s ease 1.6s forwards}
.is-ready .seal-fill{animation:fill-in .8s ease 1.6s forwards}
.is-ready .act--i .reveal{animation:rise .9s var(--expo) forwards;animation-delay:calc(1.45s + var(--i,0) * 80ms)}
@keyframes settle{to{filter:blur(0) brightness(1);transform:none}}
@keyframes veil{to{opacity:0}}
@keyframes engrave{to{stroke-dashoffset:0}}
@keyframes trace{from{opacity:1}to{opacity:.22}}
@keyframes fill-in{to{opacity:1}}
.js .reveal{opacity:0;transform:translate3d(0,26px,0)}
.js .reveal.in{animation:rise .85s var(--expo) forwards;animation-delay:calc(var(--i,0) * 70ms)}
@keyframes rise{to{opacity:1;transform:none}}
/* every figure in a register, index or date: lining and tabular (ROUND3-BRIEF §2) */
.index-row .n,.fields .fn,.big,.form-row .n,.priorities li::before,.pr-date,.phone,.sheet-meta dd,.doc-number,.chapter-list li::before,.foot-reach > a{font-variant-numeric:lining-nums tabular-nums}
.section{position:relative;padding-block:var(--section-y)}
.split-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.2rem clamp(2rem,6vw,6rem);align-items:end}
.split-head > .sub,.split-head > .prose{margin-bottom:.4rem}
.chapter.split-head{align-items:start}
h2 + .sub{margin-top:clamp(1rem,1.6vw,1.3rem)}
.index{margin-top:clamp(2.4rem,4.4vw,3.8rem);border-top:1px solid var(--ivory-14)}
.index-row{
  display:grid;grid-template-columns:minmax(0,4.5rem) minmax(0,13rem) minmax(0,1fr);
  gap:.5rem clamp(1rem,2.4vw,2.5rem);align-items:baseline;
  padding:clamp(1.1rem,1.8vw,1.55rem) 0;border-bottom:1px solid var(--ivory-14);transition:border-color .3s ease;
}
.index-row .n{grid-column:1;grid-row:1;font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1;color:var(--gold-500)}
.index-row .k{grid-column:2;grid-row:1;display:inline-block;justify-self:start;color:var(--ivory);transition:transform .3s var(--expo)}
.index-row .v{grid-column:3;grid-row:1;color:var(--ivory-64);font-size:.96rem;line-height:1.6;max-width:58ch}
.index-row .src{display:block;margin-top:.4rem;font-size:.66rem;color:var(--gold-300);letter-spacing:.14em}
@media (hover:hover){.index-row:hover{border-bottom-color:rgb(196 165 107 / .42)}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.index-row:hover .k{transform:translateY(-2px)}}
.section--register{padding-top:clamp(4rem,7vw,6.5rem)}
.register .index-row{grid-template-columns:minmax(0,17rem) minmax(0,13rem) minmax(0,1fr);padding-block:clamp(1.3rem,2.2vw,1.9rem)}
.register .n{font-size:clamp(1.9rem,3vw,2.75rem);letter-spacing:.01em;white-space:nowrap}
.register .pre{font-size:.5em;letter-spacing:.14em;margin-right:.45em;color:var(--gold-300);vertical-align:.12em}
.register .sep{color:var(--gold-700);margin-inline:.08em}
.section--fields{background:linear-gradient(to bottom,var(--ink-900),var(--ink-800) 50%,var(--ink-900))}
.fields{
  margin-top:clamp(2.4rem,4.4vw,3.8rem);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,auto);grid-auto-flow:column;
  column-gap:clamp(1.5rem,3vw,3rem);
}
.fields li{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.8rem;align-items:baseline;padding:.95rem 0 1rem;border-bottom:1px solid var(--ivory-14);font-size:.94rem;line-height:1.45;color:var(--ivory-92)}
.fields li:nth-child(6n+1){border-top:1px solid var(--ivory-14)}
.fields .fn{font-family:var(--serif);font-size:1.2rem;line-height:1;color:var(--gold-500)}
.fields .is-key{color:var(--ivory)}
.fields .is-key .fn{color:var(--gold-300)}
.tag{display:block;margin-top:.35rem;font-size:.62rem;letter-spacing:.16em;color:var(--gold-300)}
.member{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.quote{max-width:24ch;font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.1}
@media (min-width:900px){.quote .l1{white-space:nowrap}}
.cite{margin-top:1.4rem;color:var(--ivory-64)}
.thresholds{border-top:1px solid var(--ivory-14)}
.threshold{display:grid;grid-template-columns:minmax(0,7.2rem) minmax(0,1fr);gap:1.4rem;align-items:baseline;padding:clamp(1.2rem,2vw,1.6rem) 0;border-bottom:1px solid var(--ivory-14)}
.big{font-family:var(--serif);font-size:clamp(4rem,6.6vw,6rem);line-height:.8;color:var(--gold-500)}
.threshold p{color:var(--ivory-64);font-size:.95rem;line-height:1.65;max-width:44ch}
.threshold strong{font-weight:500;color:var(--ivory)}
.coop{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);margin-top:clamp(2.4rem,4.4vw,3.8rem);align-items:start}
.form-row{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:0 1rem;align-items:baseline;padding:1rem 0 1.05rem;border-top:1px solid var(--ivory-14)}
.form-row:last-of-type{border-bottom:1px solid var(--ivory-14)}
.form-row .n{font-family:var(--serif);font-size:1.25rem;color:var(--gold-500)}
.fname{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.75rem);line-height:1.15}
.fname abbr{font-size:.62em;letter-spacing:.12em;color:var(--gold-300);margin-left:.3em}
.fnote{grid-column:2;margin-top:.35rem;font-size:.86rem;line-height:1.55;color:var(--ivory-64);max-width:46ch}
.form-more{margin-top:.9rem;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ivory-64)}
.priorities{counter-reset:pr;border-top:1px solid var(--ivory-14)}
.priorities li{counter-increment:pr;display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.6rem;align-items:baseline;padding:.62rem 0;border-bottom:1px solid var(--ivory-14);font-size:.86rem;line-height:1.45;color:var(--ivory-92)}
.priorities li::before{content:counter(pr,decimal-leading-zero);font-family:var(--serif);font-size:1rem;color:var(--gold-500)}
.section--coop .cta-row{gap:1rem 1.6rem}
.act--paper{position:relative;overflow:hidden;isolation:isolate;background:var(--paper);color:var(--ink-900)}
.paper-mark{
  position:absolute;z-index:-1;top:50%;right:-11rem;width:38rem;aspect-ratio:1;transform:translateY(-50%);
  background:var(--ink-900);opacity:.06;
  -webkit-mask:var(--seal-url) center/contain no-repeat;mask:var(--seal-url) center/contain no-repeat;
}
.act--paper .eyebrow{color:var(--gold-on-paper)}
.act--paper .eyebrow::before{background:var(--gold-700)}
.act--paper h2 .l2{color:var(--gold-on-paper)}
.act--paper .sub{color:var(--paper-72)}
.papers{margin-top:clamp(2.4rem,4.4vw,3.8rem);border-top:1px solid var(--paper-20)}
.paper-row a{
  display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr) minmax(0,11rem) minmax(0,9.5rem);grid-template-rows:auto auto;
  gap:.3rem clamp(1rem,2.4vw,2.5rem);align-items:baseline;padding:clamp(1.15rem,1.9vw,1.6rem) 0;
  border-bottom:1px solid var(--paper-20);transition:border-color .3s ease;
}
.pr-cat{grid-column:1;grid-row:1;color:var(--gold-on-paper)}
.pr-title{grid-column:2;grid-row:1;font-family:var(--serif);font-size:clamp(1.55rem,2.3vw,2.05rem);line-height:1.1;transition:transform .3s var(--expo)}
.pr-scope{grid-column:2;grid-row:2;color:var(--paper-72);font-size:.64rem;letter-spacing:.14em}
.pr-date{grid-column:3;grid-row:1;font-family:var(--serif);font-size:1.25rem;color:var(--paper-72)}
.pr-pages{grid-column:4;grid-row:1;justify-self:end;color:var(--paper-72);white-space:nowrap}
@media (hover:hover){
  .paper-row a:hover{border-bottom-color:var(--gold-on-paper)}
  .paper-row a:hover .arr{transform:translate(2px,-2px)}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.paper-row a:hover .pr-title{transform:translateY(-2px)}}
.act--paper .cta-row{margin-top:clamp(2rem,3.4vw,2.8rem)}
.home .site-foot{margin-top:0}
.contact{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.8rem,4vw,3.5rem);align-items:center;
  padding:clamp(1.8rem,4vw,3.4rem);border-radius:3px;border:1px solid rgb(196 165 107 / .22);
  background:linear-gradient(150deg,rgb(52 73 100 / .42) 0%,rgb(25 43 69 / .3) 46%,rgb(16 28 50 / .16) 100%);
  box-shadow:inset 0 1px 0 rgb(226 206 166 / .10),0 30px 70px -44px rgb(0 0 0 / .95);
}
.contact h2{font-size:clamp(1.9rem,3vw,2.7rem)}
.contact .note{margin-top:1rem;color:var(--ivory-64);font-size:.95rem;line-height:1.65;max-width:42ch}
.reach{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;margin-bottom:clamp(1.4rem,2.4vw,2rem)}
.phone{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.1;color:var(--gold-300);transition:color .24s ease}
.phone:hover{color:var(--gold-500)}
.facts{border-top:1px solid var(--ivory-14)}
.facts > div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--ivory-14)}
.facts dt{color:var(--ivory-64)}
.facts dd{font-size:.95rem;color:var(--ivory-92)}
.facts a{border-bottom:1px solid rgb(196 165 107 / .4);transition:color .24s ease}
.page{width:min(var(--col),100% - 2 * var(--pad-x));margin-inline:auto;padding-top:var(--page-top)}
.intro{max-width:62rem}
.intro .lead{max-width:56ch}
.chapter{margin-top:var(--section-y)}
.chapter-head{max-width:46rem}
.band{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(2rem,5vw,5rem);
  margin-top:clamp(2.6rem,5vw,4.4rem);padding:clamp(1.6rem,3.4vw,2.8rem) clamp(1.5rem,3.6vw,3.2rem);
  background:radial-gradient(70% 90% at 90% 100%,rgb(52 73 100 / .32),rgb(52 73 100 / 0) 70%),var(--ink-800);
  border:1px solid var(--hair);border-radius:2px;
}
.band .threshold{border-bottom:0;padding-block:.4rem}
.band-note{grid-column:1 / -1;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--ivory-14);color:var(--ivory-64);font-size:.86rem;line-height:1.7;max-width:80ch}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(2.4rem,4.4vw,3.8rem)}
.list{border-top:1px solid var(--ivory-14)}
.list li{position:relative;padding:.85rem 0 .9rem 1.6rem;border-bottom:1px solid var(--ivory-14);color:var(--ivory-92);font-size:.96rem;line-height:1.55}
.list li::before{content:"";position:absolute;left:0;top:1.55rem;width:.7rem;height:1px;background:var(--gold-500)}
.close{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;margin-top:var(--section-y);padding-top:clamp(2rem,3.6vw,3rem);border-top:1px solid var(--ivory-14)}
.close h2{font-size:clamp(1.8rem,2.8vw,2.5rem)}
.close-line{max-width:46ch;color:var(--ivory-64);font-size:.98rem;line-height:1.65}
.cta-row--close{margin-top:0}
.sheet{
  display:grid;grid-template-columns:minmax(0,11.5rem) minmax(0,1fr);gap:clamp(1.6rem,4vw,3.6rem);align-items:center;
  margin-top:clamp(2.6rem,5vw,4.4rem);padding:clamp(1.6rem,3.4vw,2.8rem) clamp(1.5rem,4vw,3.6rem);
  background:var(--paper);color:var(--ink-900);border-radius:2px;
  box-shadow:0 1px 0 rgb(255 255 255 / .5) inset,0 30px 60px -40px rgb(0 0 0 / .9);
  transition:translate .24s var(--expo);
}
.sheet-cover{width:100%;border:1px solid var(--paper-12);box-shadow:0 14px 26px -16px rgb(8 15 32 / .45)}
.sheet-body{display:flex;flex-direction:column;align-items:flex-start}
.sheet-cat{color:var(--gold-on-paper)}
.sheet-title{margin-top:.7rem;font-family:var(--serif);font-size:clamp(2.1rem,3.4vw,3rem);line-height:1.04}
.sheet-date{margin-top:.35rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.7vw,1.45rem);color:var(--gold-on-paper)}
.sheet-desc{margin-top:1rem;max-width:52ch;color:var(--paper-72);font-size:.95rem;line-height:1.65}
.sheet-facts{margin-top:1rem;color:var(--paper-72)}
.sheet .link{margin-top:1.4rem;color:var(--ink-900);border-bottom-color:rgb(113 92 53 / .6)}
a.sheet:hover .link{border-bottom-color:var(--ink-900)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){a.sheet:hover{translate:0 -3px}}
.sheet-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.4rem}
.sheet-meta div{padding:.8rem 0;border-bottom:1px solid var(--paper-20)}
.sheet-meta dt{color:var(--paper-72);margin-bottom:.3rem}
.sheet-meta dd{font-family:var(--serif);font-size:1.35rem;line-height:1.25}
.sheet--detail{grid-template-columns:minmax(0,13rem) minmax(0,1fr)}
.library-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem}
.library-heading .label{margin:0 0 .5rem}
.library-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:clamp(2rem,3.6vw,3rem);padding-block:.4rem;border-block:1px solid var(--ivory-14)}
.doc-filters{display:flex;flex-wrap:wrap;gap:.2rem 1.6rem}
.doc-filters button{position:relative;padding:.85rem 0;color:var(--ivory-64);transition:color .24s ease}
.doc-filters button span{margin-left:.35rem;color:var(--gold-500)}
.doc-filters button::after{content:"";position:absolute;left:0;right:.18em;bottom:.5rem;height:1px;background:var(--gold-500);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s var(--expo)}
.doc-filters [aria-pressed="true"]{color:var(--gold-300)}
.doc-filters [aria-pressed="true"]::after{transform:scaleX(1)}
.doc-filters button:hover{color:var(--ivory)}
.doc-search{display:flex;align-items:center;gap:.7rem;width:min(17rem,100%);padding-block:.55rem;border-bottom:1px solid var(--ivory-38)}
.doc-search:focus-within{border-bottom-color:var(--gold-300)}
.doc-search svg{width:1rem;flex:none;color:var(--ivory-64)}
.doc-search input{width:100%;min-width:0;border:0;background:none;font-size:.86rem;color:var(--ivory)}
.doc-search input:focus{outline:none}
.doc-search input::placeholder{color:var(--ivory-64);opacity:1}
.doc-search input::-webkit-search-cancel-button{-webkit-appearance:none;width:12px;height:12px;cursor:pointer;background:linear-gradient(45deg,#0000 45%,var(--gold-300) 0 55%,#0000 0),linear-gradient(-45deg,#0000 45%,var(--gold-300) 0 55%,#0000 0)}
.result-status{padding-block:1rem;color:var(--ivory-64);font-size:.8rem}
.document-list{border-top:1px solid var(--ivory-14)}
.doc-row{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:.4rem 1.2rem;align-items:baseline;padding:clamp(1.1rem,1.8vw,1.45rem) 0;border-bottom:1px solid var(--ivory-14);transition:border-color .3s ease}
.doc-number{font-family:var(--serif);font-size:1.3rem;line-height:1;color:var(--gold-500)}
.doc-title h3{font-size:clamp(1.4rem,2vw,1.75rem);line-height:1.15}
.doc-title h3 a{transition:color .24s ease}
.doc-meta{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;margin-top:.45rem;color:var(--ivory-64)}
.doc-meta span:first-child{color:var(--gold-300)}
.doc-status{display:inline-block;margin-top:.55rem;padding:.2rem .55rem;border:1px solid rgb(196 165 107 / .45);border-radius:2px;color:var(--gold-300);font-size:.62rem}
.doc-overview{display:table;margin-top:.8rem}
.doc-download{display:inline-flex;align-items:baseline;gap:.2rem;padding:.4rem 0 .4rem 1rem;color:var(--ivory-64);white-space:nowrap;transition:color .24s ease}
.doc-download .arr{color:var(--gold-300)}
@media (hover:hover){
  .doc-row:hover{border-bottom-color:rgb(196 165 107 / .42)}
  .doc-download:hover{color:var(--gold-300)}
  .doc-download:hover .arr{transform:translate(2px,-2px)}
}
.document-empty{padding:3rem 0;border-bottom:1px solid var(--ivory-14);text-align:center}
.empty-title{font-family:var(--serif);font-size:2rem}
.document-empty p:not(.empty-title){margin:.5rem 0 1.2rem;color:var(--ivory-64);font-size:.9rem}
.library-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 3rem;margin-top:1.6rem;color:var(--ivory-64);font-size:.8rem;line-height:1.75}
.library-note p{max-width:76ch}
.chapter-list{counter-reset:ch;border-top:1px solid var(--ivory-14);align-self:end}
.chapter-list li{counter-increment:ch;display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.6rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--ivory-14);font-size:.96rem;color:var(--ivory-92)}
.chapter-list li::before{content:counter(ch,decimal-leading-zero);font-family:var(--serif);font-size:1.1rem;color:var(--gold-500)}
.status-note{margin-top:var(--section-y);padding:clamp(1.6rem,3vw,2.4rem);border:1px solid var(--hair);border-radius:2px;background:rgb(16 28 50 / .55)}
.status-note p:not(.eyebrow){max-width:92ch;color:var(--ivory-64);font-size:.9rem;line-height:1.7}
.status-note .link{margin-top:1.2rem}
.site-foot{margin-top:var(--section-y);padding:clamp(3rem,5vw,4.2rem) 0 1.8rem;border-top:1px solid var(--hair);background:rgb(4 8 18 / .36)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:2rem 3.5rem;align-items:start}
.foot-brand{display:inline-flex;align-items:center;gap:1rem;justify-self:start}
.foot-seal{width:4rem}
.foot-nav{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:.35rem 2.4rem}
.foot-nav a,.foot-base a{color:var(--ivory-64);font-size:.86rem;transition:color .24s ease}
.foot-nav a{display:inline-flex;align-items:center;min-height:2rem}
.foot-nav a[aria-current]{color:var(--gold-300)}
.foot-reach > a{display:block;width:fit-content;font-family:var(--serif);font-size:1.3rem;line-height:1.45;transition:color .24s ease}
.foot-reach address{margin-top:.8rem;color:var(--ivory-64);font-size:.8rem;line-height:1.75}
.foot-identity{display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;margin-top:2.6rem;padding-block:1.3rem;border-block:1px solid var(--ivory-14);color:var(--ivory-64);font-size:.68rem;letter-spacing:.14em}
.foot-disclaimer{margin-top:1.3rem;max-width:120ch;color:var(--ivory-64);font-size:.75rem;line-height:1.75}
.foot-base{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.8rem;margin-top:1.4rem;color:var(--ivory-64);font-size:.78rem}
.foot-base p{margin-right:auto}
.credit-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--ivory-14)}
.credit{display:inline-flex;align-items:center;min-width:44px;min-height:44px;color:var(--ivory-38);transition:color .3s ease}
.avinii{width:46px;height:auto;display:block}
.credit-row > span{color:var(--ivory-64);font-size:.68rem;letter-spacing:.14em}
@media (hover:hover){.foot-nav a:hover,.foot-base a:hover,.foot-reach > a:hover,.credit:hover,.doc-title h3 a:hover,.facts a:hover{color:var(--gold-300)}}
/* short laptop screens: the fold comes back off the seal (casa §3) */
@media (min-width:900px) and (max-height:860px){
  :root{--head-h:5.5rem}
  .head-seal{width:3rem}
  .hero{padding-block:.6rem}
  .hero-seal{width:clamp(120px,9.5vw,150px);margin-bottom:clamp(1rem,1.6vw,1.6rem)}
  .seal-draw > *{stroke-width:1px}
  .hero .lead{margin-top:clamp(.9rem,1.4vw,1.25rem)}
  .hero .cta-row{margin-top:clamp(1.1rem,1.6vw,1.5rem)}
}
@media (max-width:1100px){
  .register .index-row{grid-template-columns:minmax(0,14rem) minmax(0,11rem) minmax(0,1fr)}
  .paper-row a{grid-template-columns:minmax(0,1fr) minmax(0,10rem) minmax(0,9rem)}
  .pr-cat{grid-column:1 / -1}
  .pr-title{grid-column:1;grid-row:2}
  .pr-scope{grid-column:1;grid-row:3}
  .pr-date{grid-column:2;grid-row:2}
  .pr-pages{grid-column:3;grid-row:2}
}
@media (max-width:899px){
  :root{--head-h:5rem}
  .nav{display:none}
  .head-seal{width:2.8rem}
  .brand-name{font-size:.95rem}
  .split-head,.member,.coop,.contact,.cols,.band{grid-template-columns:minmax(0,1fr)}
  .split-head{align-items:start}
  .fields{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(9,auto)}
  .fields li:nth-child(6n+1){border-top:0}
  .fields li:nth-child(9n+1){border-top:1px solid var(--ivory-14)}
  .index-row,.register .index-row{grid-template-columns:minmax(0,1fr);gap:.4rem}
  .index-row .n,.index-row .k,.index-row .v{grid-column:1;grid-row:auto}
  .index-row .k{order:-1}
  .band .threshold + .threshold{margin-top:1rem}
  .rail{flex-direction:column;align-items:flex-start;gap:1rem}
  .rail .right{text-align:left}
  .foot-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot-brand{grid-column:1 / -1}
  .sheet,.sheet--detail{grid-template-columns:minmax(0,9rem) minmax(0,1fr)}
  .sheet-meta{grid-template-columns:minmax(0,1fr)}
  .close{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  .head-cta{display:none}
  .brand{gap:.7rem}
  .hero-seal{width:120px}
  .fields{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .fields li:nth-child(9n+1){border-top:0}
  .fields li:first-child{border-top:1px solid var(--ivory-14)}
  .threshold{grid-template-columns:minmax(0,1fr);gap:.6rem}
  .paper-row a{grid-template-columns:minmax(0,1fr) auto}
  .pr-title,.pr-scope{grid-column:1 / -1}
  .pr-date{grid-column:1;grid-row:4}
  .pr-pages{grid-column:2;grid-row:4}
  .sheet,.sheet--detail{grid-template-columns:minmax(0,1fr)}
  .sheet-cover,.sheet-cover-link{max-width:11rem}
  .doc-row{grid-template-columns:2.4rem minmax(0,1fr)}
  .doc-download{grid-column:2;padding-left:0}
  .foot-top{grid-template-columns:minmax(0,1fr)}
  .foot-nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .facts > div{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .paper-mark{width:26rem;right:-12rem}
}
/* reduced motion (and the same end state for no-js): nothing draws */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal,.js .act--i .reveal{opacity:1 !important;transform:none !important;animation:none !important}
  .js .stage-img{filter:none;transform:none;animation:none !important}
  .js .scrim--veil{opacity:0;animation:none !important}
  .js .seal-fill{opacity:1;animation:none !important}
  .js .seal-draw{opacity:.22;animation:none !important}
  .js .seal-draw > *{stroke-dashoffset:0;animation:none !important}
  .scroll-cue i{animation:none;opacity:.6;transform:none}
  .menu-list li{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms !important}
}
