*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:6rem}
:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-3xl:clamp(2.5rem,1rem + 4vw,5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --color-bg:#F6F1E7;--color-surface:#FBF8F2;--color-surface-2:#EFE7D8;--color-border:#DCD1BD;--color-divider:#E6DCCB;
  --color-text:#1F2A24;--color-text-muted:#56615A;--color-text-faint:#7C857E;
  --color-primary:#2F5D4E;--color-primary-hover:#244A3E;--color-primary-soft:#DCE6DF;
  --color-accent:#A8492A;--color-accent-hover:#8D3B21;--color-accent-soft:#F1DDD2;
  --color-deep:#173229;--color-on-deep:#F3EEE3;
  --radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-full:999px;
  --shadow-sm:0 1px 2px rgb(31 42 36 / .06);--shadow-md:0 6px 20px -8px rgb(31 42 36 / .18);
  --font-display:'Zodiak',Charter,'Iowan Old Style',serif;--font-body:'Satoshi','Helvetica Neue',Arial,sans-serif;
  --wrap:1180px;--ease:cubic-bezier(.16,1,.3,1)
}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
img,svg,audio{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;text-wrap:balance;letter-spacing:-.01em}
p,li{text-wrap:pretty}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
::selection{background:#2F5D4E33}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--color-primary);color:#fff;padding:.5rem 1rem;z-index:99}
.skip:focus{left:1rem;top:1rem}

/* language */
html[lang="es"] [lang="en"]:not(html),html[lang="en"] [lang="es"]:not(html){display:none!important}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgb(246 241 231 / .92);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-divider)}
.nav{display:flex;align-items:center;gap:var(--space-6);height:4.25rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-family:var(--font-display);font-weight:600;line-height:1.05}
.brand svg{width:34px;height:34px;color:var(--color-primary);flex:none}
.brand b{display:block;font-size:1.02rem}
.brand small{display:block;font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.02em}
.nav-links{display:flex;gap:var(--space-1);margin-left:auto;list-style:none}
.nav-links a{display:block;padding:.5rem .7rem;white-space:nowrap;border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);transition:background .2s,color .2s}
.nav-links a:hover{color:var(--color-text);background:var(--color-surface-2)}
.nav-links a[aria-current="page"]{color:var(--color-primary);background:var(--color-primary-soft)}
.lang{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px;flex:none}
.lang button{font-size:var(--text-xs);font-weight:700;padding:.3rem .6rem;border-radius:var(--radius-full);color:var(--color-text-muted);letter-spacing:.04em}
.lang button[aria-pressed="true"]{background:var(--color-primary);color:#fff}
.menu-btn{display:none;width:42px;height:42px;border-radius:var(--radius-md);margin-left:auto}
.menu-btn span{display:block;width:20px;height:2px;background:currentColor;margin:4px auto;transition:transform .25s}
@media (max-width:1120px){
  .menu-btn{display:block}
  .nav-links{display:none;position:absolute;top:4.25rem;left:0;right:0;flex-direction:column;background:var(--color-bg);border-bottom:1px solid var(--color-divider);padding:var(--space-3) 1.25rem var(--space-5)}
  .nav-links.open{display:flex}
  .nav-links a{padding:.8rem .5rem;font-size:var(--text-base)}
  .lang{margin-left:0}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--color-accent);color:#fff}
.btn-primary:hover{background:var(--color-accent-hover)}
.btn-green{background:var(--color-primary);color:#fff}
.btn-green:hover{background:var(--color-primary-hover)}
.btn-ghost{border-color:currentColor}
.btn-ghost:hover{background:rgb(255 255 255 / .1)}
.btn-line{border-color:var(--color-border);background:var(--color-surface)}
.btn-line:hover{border-color:var(--color-primary);color:var(--color-primary)}
.btn-sm{padding:.45rem .85rem;font-size:var(--text-xs)}

/* type helpers */
.eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}
.lede{font-size:var(--text-lg);line-height:1.5;color:var(--color-text-muted);max-width:60ch}
.muted{color:var(--color-text-muted)}
.section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-10)}
.section-head h2{font-size:var(--text-2xl);max-width:20ch;margin-top:var(--space-2)}
.section-head p{max-width:46ch;color:var(--color-text-muted)}

/* hero */
.hero{position:relative;min-height:min(86vh,780px);display:grid;align-items:end;color:var(--color-on-deep);isolation:isolate;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(23 50 41 / .25) 0%,rgb(23 50 41 / .55) 45%,rgb(23 50 41 / .94) 100%)}
.hero .wrap{padding-block:var(--space-24) var(--space-16)}
.hero h1{font-size:var(--text-3xl);max-width:15ch;font-weight:500}
.hero h1 em{font-style:italic;color:#F2C9A8}
.hero p{font-size:var(--text-lg);max-width:52ch;margin-top:var(--space-5);color:#E7E1D3}
.hero .actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.tagline{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid rgb(243 238 227 / .25);font-size:var(--text-sm);color:#E7E1D3;list-style:none}
.tagline li::before{content:"✦";color:#F2C9A8;margin-right:.5rem;font-size:.7em}

/* page hero */
.page-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--color-divider)}
.page-hero h1{font-size:var(--text-2xl);max-width:22ch;margin-top:var(--space-3)}
.page-hero .lede{margin-top:var(--space-4)}
.crumbs{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}
.crumbs a{text-decoration:none;font-weight:600}
.crumbs a:hover{color:var(--color-primary)}

/* identity strip */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}
.pillars > div{background:var(--color-surface);padding:var(--space-8) var(--space-6)}
.pillars h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.pillars p{color:var(--color-text-muted);font-size:var(--text-sm)}
.pillars .num{font-family:var(--font-display);color:var(--color-accent);font-size:var(--text-sm);font-weight:700;display:block;margin-bottom:var(--space-3)}

/* ministry cards */
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-5)}
.mcard{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .2s}
.mcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#C9BBA2}
.mcard .ph{aspect-ratio:16/10;overflow:hidden;background:var(--color-surface-2)}
.mcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mcard:hover .ph img{transform:scale(1.04)}
.mcard .body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.mcard h3{font-size:var(--text-lg)}
.mcard p{font-size:var(--text-sm);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mcard .meta{margin-top:auto;padding-top:var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-primary);display:flex;gap:.5rem;align-items:center}
.mcard .meta svg{width:15px;height:15px}

/* path rows */
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:var(--space-5)}
.path{display:grid;grid-template-columns:140px 1fr;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;transition:border-color .2s,box-shadow .3s}
.path:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.path img{width:100%;height:100%;object-fit:cover}
.path .body{padding:var(--space-5) var(--space-6)}
.path h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.path p{font-size:var(--text-sm);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.path .meta{font-size:var(--text-xs);font-weight:600;color:var(--color-accent);margin-top:var(--space-3);display:block}
@media (max-width:520px){.path{grid-template-columns:1fr}.path img{aspect-ratio:16/8}}

/* deep band */
.band{background:var(--color-deep);color:var(--color-on-deep)}
.band .eyebrow{color:#F2C9A8}
.band .section-head p,.band .muted{color:#C9D3CC}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.split img{border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover;width:100%}
.split h2{font-size:var(--text-2xl);margin:var(--space-2) 0 var(--space-5)}
.split p + p{margin-top:var(--space-4)}

/* anthem */
.anthem{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:860px){.anthem{grid-template-columns:1fr}}
.player{background:rgb(255 255 255 / .06);border:1px solid rgb(243 238 227 / .18);border-radius:var(--radius-lg);padding:var(--space-6);margin-top:var(--space-6)}
.player-row{display:flex;align-items:center;gap:var(--space-4)}
.play{width:56px;height:56px;border-radius:50%;background:var(--color-accent);color:#fff;display:grid;place-items:center;flex:none;transition:background .2s,transform .2s}
.play:hover{background:var(--color-accent-hover);transform:scale(1.04)}
.play svg{width:22px;height:22px}
.bar{flex:1;height:6px;border-radius:3px;background:rgb(243 238 227 / .2);position:relative;cursor:pointer}
.bar i{position:absolute;inset:0 auto 0 0;background:#F2C9A8;border-radius:3px;width:0}
.time{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:#C9D3CC;min-width:5.5ch;text-align:right}
.lyrics{columns:2 240px;column-gap:var(--space-8)}
.lyrics div{break-inside:avoid;margin-bottom:var(--space-6)}
.lyrics h4{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#F2C9A8;margin-bottom:var(--space-2)}
.lyrics p{font-family:var(--font-display);font-size:var(--text-base);line-height:1.55;color:#EDE7DA}

/* CTA */
.cta{background:var(--color-accent-soft);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,3.5rem);display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:space-between;align-items:center}
.cta h2{font-size:var(--text-xl);max-width:24ch}
.cta p{color:var(--color-text-muted);margin-top:var(--space-2);max-width:56ch}

/* ministry detail */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:980px){.detail{grid-template-columns:1fr}}
.m-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.m-hero img{border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover;width:100%}
@media (max-width:860px){.m-hero{grid-template-columns:1fr}.m-hero img{aspect-ratio:16/9}}
.scripture{margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-primary);font-weight:600}
.block{padding-block:var(--space-10);border-top:1px solid var(--color-divider)}
.block:first-child{border-top:0;padding-top:0}
.block h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}
.block > p{color:var(--color-text-muted)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}
.chips li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.4rem .9rem;font-size:var(--text-sm)}
.checks{list-style:none;display:grid;gap:var(--space-3)}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:var(--space-3);align-items:start}
.checks svg{width:20px;height:20px;color:var(--color-primary);margin-top:.15rem}
.units{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3);counter-reset:u}
.units li{counter-increment:u;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm);font-weight:500;display:flex;gap:var(--space-3)}
.units li::before{content:counter(u,decimal-leading-zero);font-family:var(--font-display);color:var(--color-accent);font-weight:700}
.units li span.wk{display:block;font-size:var(--text-xs);color:var(--color-text-faint);font-weight:500}
.flow{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;counter-reset:f}
.flow li{counter-increment:f;font-size:var(--text-sm);padding:.45rem .9rem;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:600}
.flow li::before{content:counter(f) ". "}
.rhythm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3)}
.rhythm div{border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-4)}
.rhythm b{display:block;font-family:var(--font-display);font-size:var(--text-base)}
.rhythm span{font-size:var(--text-sm);color:var(--color-text-muted)}
.steps{list-style:none;counter-reset:s;display:grid;gap:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:var(--space-4);align-items:center;padding:var(--space-3) 0;border-bottom:1px dashed var(--color-border)}
.steps li::before{content:counter(s);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:#fff;font-weight:700;font-size:var(--text-sm)}

/* download panel */
.dl-panel{position:sticky;top:5.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}
@media (max-width:980px){.dl-panel{position:static}}
.dl-panel h2{font-size:var(--text-lg);margin-bottom:var(--space-1)}
.dl-panel > p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.dl-group{margin-top:var(--space-5)}
.dl-group h3{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-faint);margin-bottom:var(--space-2)}
.doc{display:grid;grid-template-columns:36px 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-divider)}
.doc:first-of-type{border-top:0}
.doc .ic{width:36px;height:42px;border-radius:6px;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:.04em}
.doc .ic.pdf{background:var(--color-accent-soft);color:var(--color-accent)}
.doc .t{font-size:var(--text-sm);font-weight:600;line-height:1.35}
.doc .s{font-size:var(--text-xs);color:var(--color-text-muted)}
.doc .acts{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin-top:.35rem}
.doc .acts a{font-size:var(--text-xs);font-weight:700;color:var(--color-primary);text-decoration:none;display:inline-flex;gap:.3rem;align-items:center}
.doc .acts a:hover{text-decoration:underline}
.doc .acts svg{width:14px;height:14px}
.note{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-4)}
.zip{width:100%;justify-content:center;margin-top:var(--space-2)}

/* library */
.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-6)}
.search{flex:1 1 280px;display:flex;align-items:center;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.65rem 1rem}
.search:focus-within{border-color:var(--color-primary)}
.search svg{width:18px;height:18px;color:var(--color-text-faint)}
.search input{border:0;background:none;outline:none;flex:1;min-width:0}
select.sel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.65rem 1rem;max-width:100%}
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}
.lib .doc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}
.lib .doc .home{font-size:var(--text-xs);color:var(--color-accent);font-weight:700;text-decoration:none}
.count{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.empty{padding:var(--space-12);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}

/* reader */
.reader-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;padding-block:var(--space-5);border-bottom:1px solid var(--color-divider)}
.reader-bar h1{font-size:var(--text-xl);max-width:30ch}
.doc-body{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,5vw,4rem);margin-block:var(--space-8) var(--space-16);max-width:860px;margin-inline:auto;box-shadow:var(--shadow-sm);overflow-wrap:anywhere}
.doc-body h1,.doc-body h2{font-size:var(--text-lg);margin:var(--space-8) 0 var(--space-3);color:var(--color-primary)}
.doc-body h3,.doc-body h4{font-size:var(--text-base);margin:var(--space-6) 0 var(--space-2)}
.doc-body p{margin-bottom:var(--space-3);max-width:none}
.doc-body ul,.doc-body ol{padding-left:1.4rem;margin-bottom:var(--space-4)}
.doc-body li{margin-bottom:.35rem}
.doc-body table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:var(--text-sm);display:block;overflow-x:auto}
.doc-body td,.doc-body th{border:1px solid var(--color-border);padding:.5rem .65rem;vertical-align:top;text-align:left}
.doc-body blockquote{border-left:3px solid var(--color-accent);padding-left:1rem;color:var(--color-text-muted);margin:var(--space-4) 0}
.doc-body img{margin:var(--space-4) auto}
.loading{padding:var(--space-16);text-align:center;color:var(--color-text-muted)}

/* guide pages */
.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}
.principles div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}
.principles b{display:block;font-family:var(--font-display);font-size:var(--text-base);margin-bottom:var(--space-1)}
.principles p{font-size:var(--text-sm);color:var(--color-text-muted)}
.verse{border-left:3px solid var(--color-accent);padding:var(--space-2) var(--space-5);font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);margin-top:var(--space-6);max-width:52ch}
.verse cite{display:block;font-style:normal;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;color:var(--color-accent);margin-top:var(--space-2);letter-spacing:.06em}
.checkbox{list-style:none;display:grid;gap:var(--space-2)}
.checkbox label{display:flex;gap:var(--space-3);align-items:flex-start;cursor:pointer;font-size:var(--text-sm)}
.checkbox input{margin-top:.25rem;accent-color:var(--color-primary);width:18px;height:18px;flex:none}
.group-title{font-size:var(--text-lg);margin:var(--space-10) 0 var(--space-4)}

/* about */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}
.facts div{border-top:2px solid var(--color-primary);padding-top:var(--space-3)}
.facts b{display:block;font-family:var(--font-display);font-size:var(--text-lg)}
.facts span{font-size:var(--text-sm);color:var(--color-text-muted)}
.values{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}
.values li{padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);font-family:var(--font-display);font-size:var(--text-base)}
.values li em{color:var(--color-text-faint);font-style:italic}

/* form */
.form{display:grid;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,4vw,2.25rem)}
.form label{display:grid;gap:.35rem;font-size:var(--text-sm);font-weight:600}
.form input,.form select,.form textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.7rem .85rem;background:#fff;font-weight:400;font-size:var(--text-base)}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--color-primary);outline-offset:0;border-color:transparent}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
@media (max-width:600px){.form .row{grid-template-columns:1fr}}
.form-msg{font-size:var(--text-sm);color:var(--color-primary);font-weight:600}

/* footer */
.site-footer{background:var(--color-deep);color:#C9D3CC;padding-block:var(--space-16) var(--space-8);margin-top:var(--space-16)}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-10)}
@media (max-width:760px){.site-footer .cols{grid-template-columns:1fr}}
.site-footer .brand{color:var(--color-on-deep)}
.site-footer .brand svg{color:#F2C9A8}
.site-footer .brand small{color:#A9B6AE}
.site-footer h4{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#F2C9A8;margin-bottom:var(--space-3)}
.site-footer ul{list-style:none;display:grid;gap:.4rem;font-size:var(--text-sm)}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .fine{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid rgb(243 238 227 / .15);font-size:var(--text-xs);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}
.site-footer p{font-size:var(--text-sm);margin-top:var(--space-4);max-width:42ch}
.detail > *{min-width:0}
.form input,.form select,.form textarea{width:100%;min-width:0}
.filters > label:not(.search){flex:1 1 220px;min-width:0}
select.sel{width:100%}
.lib{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}

/* soft hero */
.hero-soft{padding-block:clamp(2.5rem,6vw,5rem) clamp(2rem,5vw,4rem);background:linear-gradient(180deg,#F3EBDD 0%,var(--color-bg) 100%)}
.hero-soft .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media (max-width:900px){.hero-soft .wrap{grid-template-columns:1fr}}
.hero-soft h1{font-size:var(--text-3xl);font-weight:500;max-width:14ch;margin-top:var(--space-4)}
.hero-soft h1 em{font-style:italic;color:var(--color-accent)}
.hero-soft .lede{margin-top:var(--space-5);max-width:50ch}
.hero-soft .actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero-soft .pic{position:relative}
.hero-soft .pic img{border-radius:28px 28px 28px 120px;aspect-ratio:4/3.4;object-fit:cover;width:100%;box-shadow:0 30px 60px -30px rgb(31 42 36 / .35)}
.hero-soft .pic::before{content:"";position:absolute;inset:auto -14px -14px auto;width:60%;height:60%;border-radius:20px 20px 20px 90px;background:var(--color-accent-soft);z-index:-1}
.hero-soft .tagline{color:var(--color-text-muted);border-top-color:var(--color-border)}
.hero-soft .tagline li::before{color:var(--color-accent)}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media (max-width:760px){.mv{grid-template-columns:1fr}}
.mv div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow:hidden}
.mv div::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--color-primary-soft);opacity:.7}
.mv div:nth-child(2)::after{background:var(--color-accent-soft)}
.mv h3{font-size:var(--text-xs);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}
.mv p{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.45;position:relative;max-width:none}
.offer{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
@media (max-width:900px){.offer{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.offer{grid-template-columns:1fr}}
.offer a,.offer div{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);text-decoration:none;transition:border-color .2s,transform .3s var(--ease)}
.offer a:hover{border-color:var(--color-primary);transform:translateY(-2px)}
.offer b{display:block;font-family:var(--font-display);font-size:var(--text-base);margin-bottom:var(--space-1)}
.offer p{font-size:var(--text-sm);color:var(--color-text-muted)}
.offer .ic{width:40px;height:40px;border-radius:12px;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;margin-bottom:var(--space-3)}
.offer .ic svg{width:20px;height:20px}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:860px){.story{grid-template-columns:1fr}}
.story img{border-radius:var(--radius-lg);width:100%;aspect-ratio:4/3;object-fit:cover}
.story p+p{margin-top:var(--space-4)}
.quote{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:1.3;color:var(--color-primary);max-width:28ch}
.timeline{list-style:none;display:grid;gap:var(--space-4);border-left:2px solid var(--color-border);padding-left:var(--space-6);margin-left:.5rem}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;left:calc(-1.5rem - 7px);top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--color-accent)}
.timeline b{display:block;font-family:var(--font-display);font-size:var(--text-base)}
.timeline span{font-size:var(--text-sm);color:var(--color-text-muted)}
.res{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-3)}
.res a{display:block;position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);padding-right:2.6rem;text-decoration:none;transition:border-color .2s}
.res a:hover{border-color:var(--color-primary)}
.res b{display:block;font-size:var(--text-base);font-weight:600}
.res small{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-top:.2rem}
.res .tel{display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-accent);font-weight:700;white-space:nowrap;margin-top:var(--space-3)}
.res svg{position:absolute;top:1.1rem;right:1.1rem;width:18px;height:18px;color:var(--color-text-faint)}
.alert{background:var(--color-accent-soft);border-radius:var(--radius-lg);padding:var(--space-6);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center}
.alert .big{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-accent);font-weight:700;line-height:1}
.alert p{font-size:var(--text-sm);color:var(--color-text)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.card-lg{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}
.card-lg img{aspect-ratio:16/9;object-fit:cover;width:100%}
.card-lg .body{padding:clamp(1.25rem,3vw,2rem)}
.card-lg h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}
.card-lg p{color:var(--color-text-muted)}
.card-lg ul{margin:var(--space-4) 0;padding-left:1.2rem;color:var(--color-text);font-size:var(--text-sm);display:grid;gap:.35rem}
