@font-face{font-family:"El Messiri";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/el-messiri-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"El Messiri";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/el-messiri-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/poppins-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/poppins-latin-600-normal.woff2) format("woff2")}
:root{
  --ground:#FFFFFF; --linen:#F2EFE9; --mist:#E4ECE6; --sand:#E1DDD1; --sage:#A9C2B1; --paper:#FFFFFF; --sunk:#F2EFE9;
  --ink:#2F3136; --muted:#58595D; --line:#D1D2D6; --line-soft:#E6E4DE;
  --cedar:#1E5B3A; --cedar-text:#1E5B3A; --cedar-deep:#14402A; --cedar-soft:#3C7D58; --on-cedar:#FFFFFF; --chip2:#2F3136; --chip4-fg:#2F3136; --mark-bg:transparent;
  --brass:#B08A4A; --brass-text:#7A5A22; --brass-light:#E0C48A;
  --link:#1E5B3A; --focus:#1E5B3A; --brand-fg:#1E5B3A; --chip:#1E5B3A; --alert:#8E2C3A; --alert-bg:#F7ECED;
  --hero-from:#E4ECE6; --hero-to:#FFFFFF; --lattice:rgba(30,91,58,.07); --on-sage:#2F3136;
  --shadow:0 1px 2px rgba(47,49,54,.06),0 18px 40px -18px rgba(47,49,54,.28);
  --display:"El Messiri",Georgia,serif;
  --text:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --t1:160ms; --t2:320ms; --t3:720ms;
  --wrap:76rem; --measure:40rem;
}
:root[data-theme="dark"]{
  --ground:#1B1D20; --linen:#222528; --mist:#1F2A24; --sand:#2A2D30; --sage:#2B3B31; --paper:#202326; --sunk:#222528;
  --ink:#ECEAE4; --muted:#B4B6BB; --line:#383B40; --line-soft:#2D3034;
  --cedar:#3C7D58; --cedar-deep:#14402A; --cedar-soft:#4C8F68; --on-cedar:#FFFFFF;
  --link:#A9C2B1; --focus:#E0C48A; --brand-fg:#A9C2B1; --chip:#3C7D58; --alert:#E39AA5; --alert-bg:#2D2022;
  --cedar-text:#A9C2B1; --chip2:#55585D; --chip4-fg:#ECEAE4; --mark-bg:#F2EFE9;
  --brass-text:#E0C48A; --hero-from:#1F2A24; --hero-to:#1B1D20; --lattice:rgba(224,196,138,.08); --on-sage:#ECEAE4;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -18px rgba(0,0,0,.6);color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--cedar-soft) var(--linen);accent-color:var(--cedar)}
body{margin:0;background:var(--ground);color:var(--ink);font:400 1.0625rem/1.65 var(--text);caret-color:var(--cedar);overflow-x:clip;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--sage);color:#2F3136}
img,svg{max-width:100%}
a{color:var(--link);text-underline-offset:.22em;text-decoration-thickness:1px;transition:text-decoration-thickness var(--t1) var(--ease),color var(--t1)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
.ic{width:1em;height:1em;fill:currentColor;flex:none;vertical-align:-.125em}
.skip{position:absolute;left:1rem;top:-5rem;background:var(--cedar);color:#fff;padding:.7rem 1rem;z-index:30;font-weight:600;border-radius:6px}
.skip:focus{top:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(1rem,4vw,2.5rem)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.005em;text-wrap:balance;margin:0}
p,li{text-wrap:pretty}
.eyebrow{font:600 .78rem/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text);margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}
.eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--brass)}
.star-strip{height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23B08A4A' stroke-width='1.6'%3E%3Crect x='11' y='11' width='18' height='18'/%3E%3Crect x='11' y='11' width='18' height='18' transform='rotate(45 20 20)'/%3E%3Cpath d='M0 20h7.3M32.7 20H40M20 0v7.3M20 32.7V40'/%3E%3C/g%3E%3C/svg%3E") repeat-x center/14px 14px}

/* ---------- top: utility line + header ---------- */
.top{background:var(--linen);color:var(--muted);position:relative;z-index:10;border-bottom:1px solid var(--line-soft)}
.util{font-size:.875rem}
.util .wrap{display:flex;justify-content:flex-end;gap:1.25rem;padding-block:.45rem}
.util b{color:var(--cedar-text);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.util .ic{color:var(--brass-text);margin-right:.35rem}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--ground) 94%,transparent);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line-soft);transition:box-shadow var(--t2) var(--ease)}
.site-head.stuck{box-shadow:0 12px 30px -22px rgba(47,49,54,.5)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.brand{min-height:44px;display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--cedar-text)}
.brand .mark{width:2.7rem;height:2.7rem;flex:none;background:var(--mark-bg);box-shadow:0 0 0 3px var(--mark-bg);border-radius:2px;transition:transform var(--t2) var(--ease)}
.brand:hover .mark{transform:translateY(-2px)}
.brand b{display:block;font:600 1.45rem/1 var(--display);white-space:nowrap;color:var(--cedar-text)}
.brand small{display:block;font:600 .55rem/1 var(--display);letter-spacing:.34em;margin-top:.3rem;color:var(--ink)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}
.nav a{position:relative;display:block;white-space:nowrap;padding:.6rem .8rem;text-decoration:none;color:var(--ink);font-weight:400;font-size:.97rem}
.nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:2px;background:var(--brass);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t2) var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{font-weight:500;color:var(--cedar-text)}
.nav li:last-child a{background:var(--cedar);color:#fff;border-radius:4px;margin-left:.5rem;padding-inline:1.1rem;font-weight:500}
.nav li:last-child a::after{display:none}
.nav li:last-child a:hover{background:var(--cedar-deep)}
.nav{margin-left:auto}
.theme-btn{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:.4rem;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:6px;cursor:pointer;transition:background var(--t1),border-color var(--t1)}
.theme-btn:hover{background:var(--mist);border-color:var(--brass)}
.theme-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-btn .moon{display:none}
:root[data-theme="dark"] .theme-btn .sun{display:none}:root[data-theme="dark"] .theme-btn .moon{display:block}
.menu-btn{display:none;font:500 .95rem var(--text);background:transparent;border:1px solid var(--line);color:var(--ink);
  border-radius:6px;padding:.55rem .9rem;cursor:pointer;min-height:44px}
@media (max-width:72rem){
  .menu-btn{display:inline-flex;align-items:center}
  .nav{margin-left:0}.theme-btn{margin-left:auto}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--ground);display:grid;grid-template-rows:0fr;border-bottom:1px solid var(--line-soft);
    transition:grid-template-rows var(--t2) var(--ease)}
  .nav>ul{overflow:hidden;flex-direction:column;padding-inline:clamp(1rem,4vw,2.5rem)}
  .nav.open{grid-template-rows:1fr}
  .nav.open>ul{padding-block:.5rem 1.25rem}
  .nav a{padding:.9rem 0;border-bottom:1px solid var(--line-soft);font-size:1.1rem}
  .nav a::after{left:0;right:auto;width:2.5rem;bottom:.5rem}
  .nav li:last-child a{margin:.9rem 0 0;text-align:center;border-bottom:0}
  .util .wrap{justify-content:flex-start}
}

/* ---------- home hero ---------- */
.hero-home{background:linear-gradient(180deg,var(--hero-from),var(--hero-to));position:relative;overflow:hidden;isolation:isolate}
.hero-home::before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%231E5B3A' stroke-width='1' stroke-opacity='.09'%3E%3Crect x='11' y='11' width='18' height='18'/%3E%3Crect x='11' y='11' width='18' height='18' transform='rotate(45 20 20)'/%3E%3Cpath d='M0 20h7.3M32.7 20H40M20 0v7.3M20 32.7V40'/%3E%3C/g%3E%3C/svg%3E");background-size:44px 44px;opacity:1;
  -webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 95%);mask-image:linear-gradient(100deg,transparent 35%,#000 95%)}
.hero-home .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:center;
  padding-block:clamp(3rem,7vw,5.5rem);min-height:min(76vh,43rem)}
.hero-home h1{font-size:clamp(2.5rem,5.2vw,4.3rem);line-height:1.03;letter-spacing:-.015em;color:var(--ink);max-width:12ch}
.hero-home h1 em{font-style:normal;color:var(--cedar-text)}
.hero-home .lede{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--muted);max-width:34rem;margin:1.4rem 0 0}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:2.2rem}
.proof{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:2.4rem 0 0;padding:0;list-style:none;color:var(--muted);font-size:.92rem}
.proof li{margin:0;display:flex;align-items:center;gap:.5rem}
.proof .ic{color:var(--cedar-text)}

.hero-art{position:relative;width:100%;max-width:30rem;justify-self:center}
.svc{background:var(--ground);box-shadow:var(--shadow);border-top:3px solid var(--cedar);padding:1.4rem 1.5rem .8rem}
.svc h2{font:600 .8rem/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-text);margin:0 0 .6rem}
.svc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.2rem 1rem;align-items:center;padding:1.05rem 0;border-top:1px solid var(--line-soft);text-decoration:none;color:var(--ink)}
.svc-row:first-of-type{border-top:0}
.svc-row .n{font:600 1.05rem/1 var(--display);color:var(--sage-ink,var(--cedar-text));opacity:.75;align-self:start;padding-top:.2rem}
.svc-row .t{display:block;font-size:.88rem;line-height:1.4;color:var(--muted)}
.svc-row .t b{display:block;font:600 1.18rem/1.2 var(--display);color:var(--ink);margin-bottom:.15rem}
.svc-row:hover .t b{color:var(--cedar-text)}
.chip{display:inline-block;white-space:nowrap;font-size:.74rem;font-weight:500;letter-spacing:.03em;padding:.28rem .65rem;border-radius:2rem}
.chip.now{background:var(--cedar);color:#fff}
.chip.soon{border:1px solid var(--brass);color:var(--brass-text);background:transparent}
@media (max-width:30rem){.svc-row{grid-template-columns:auto minmax(0,1fr)}.svc-row .chip{grid-column:2;justify-self:start;margin-top:.4rem}}
.strand{background:var(--linen);border-left:4px solid var(--sage);padding:1.5rem 1.6rem 1.6rem;margin:0 0 1.5rem}
.strand .chip{margin-bottom:.4rem}
.strand h2{margin:0 0 .5rem}
.strand>*:last-child{margin-bottom:0}

/* ---------- inner page hero ---------- */
.hero-page{background:var(--mist);color:var(--ink);position:relative;overflow:hidden;isolation:isolate}
.hero-page::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--cedar) 0 4.5rem,var(--brass) 4.5rem 9rem,transparent 9rem)}
.hero-page .wrap{padding-block:clamp(2.5rem,5.5vw,4.25rem) clamp(2.75rem,6vw,4.75rem)}
.hero-page h1{font-size:clamp(2.1rem,4.4vw,3.4rem);color:var(--ink);max-width:18ch}
.hero-page .lede{font-size:clamp(1.02rem,1.4vw,1.15rem);color:var(--muted);max-width:40rem;margin:1.1rem 0 0}
.crumb{min-height:44px;display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.9rem;text-decoration:none;margin-bottom:1.1rem}
.crumb:hover{color:var(--cedar-text)}
.crumb .ic{transform:rotate(180deg);transition:transform var(--t2) var(--ease)}
.crumb:hover .ic{transform:rotate(180deg) translateX(3px)}
.updated{font-size:.85rem;color:var(--muted);margin-top:1.2rem}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;background:var(--cedar);color:#fff;text-decoration:none;
  font-weight:500;padding:.8rem 1.4rem;border-radius:4px;box-shadow:0 10px 24px -14px rgba(20,64,42,.7);
  transition:transform var(--t1) var(--ease),box-shadow var(--t2) var(--ease),background var(--t2)}
.btn:hover{transform:translateY(-2px);background:var(--cedar-deep)}
.btn:active{transform:translateY(0) scale(.98);transition-duration:80ms}
.btn .ic{transition:transform var(--t2) var(--ease)}
.btn:hover .ic{transform:translateX(4px)}
.textlink{display:inline-flex;align-items:center;gap:.5rem;color:var(--cedar-text);text-decoration:none;font-weight:500;padding-block:.5rem;
  border-bottom:1px solid var(--brass);transition:gap var(--t2) var(--ease)}
.textlink:hover{gap:.8rem}
.more{min-height:44px;display:inline-flex;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;transition:gap var(--t2) var(--ease)}
.more:hover{gap:.8rem}

/* ---------- page body ---------- */
main{display:block}
.body{padding-block:clamp(2.5rem,5vw,4rem) clamp(4rem,8vw,6rem)}
.body>*{max-width:var(--measure)}
.body>.duo,.body>.grid4,.body>.steps,.body>.cta,.body>.contacts,.body>.table-wrap,.body>.checks,.body>.band,.body>.close{max-width:none}
.body h2{font-size:clamp(1.55rem,2.6vw,2.1rem);margin:3.25rem 0 1rem}
.body>h2:first-child,.body>section:first-child h2{margin-top:0}
.body h3{font-size:1.2rem;margin:0 0 .45rem}
p,ul,ol{margin:0 0 1.05rem}
li{margin-bottom:.4rem}
strong{font-weight:500}
ul li::marker{color:var(--brass)}

.duo,.grid4{display:grid;gap:clamp(1rem,2.4vw,1.75rem);margin:.5rem 0 1.75rem}
.duo{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:64rem){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:40rem){.duo,.grid4{grid-template-columns:1fr}}
.panel{background:var(--linen);padding:1.35rem 1.4rem 1.4rem;min-width:0;border-top:3px solid var(--sage)}
.panel>*:last-child{margin-bottom:0}
.panel h3{font-size:1.15rem;color:var(--cedar-text)}
.panel p{color:var(--muted)}

.alert{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;background:var(--alert-bg);color:var(--ink);
  padding:1.1rem 1.25rem;border-radius:6px;margin:1.75rem 0}
.alert::before{content:"";width:1.4rem;height:1.4rem;margin-top:.15rem;background:var(--alert);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z'/%3E%3C/svg%3E") center/contain no-repeat}
.alert p:last-child{margin:0}

.steps{list-style:none;padding:0;margin:1.5rem 0 2rem;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:2rem 1.75rem;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:1.2rem;height:2px;background:var(--line)}
.steps li{counter-increment:s;position:relative;padding-top:3.4rem;margin:0;color:var(--muted)}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2.4rem;height:2.4rem;border-radius:2px;
  background:var(--chip);color:#fff;display:grid;place-items:center;font:600 1.05rem var(--display);
  box-shadow:0 0 0 6px var(--linen)}
.steps li:nth-of-type(2)::before{background:var(--chip2)}
.steps li:nth-of-type(4)::before{background:var(--sage);color:var(--chip4-fg)}
.steps li strong{display:block;font:600 1.2rem/1.2 var(--display);color:var(--ink);margin-bottom:.45rem}
.steps .line{position:absolute;left:0;right:0;top:1.2rem;height:2px;background:var(--brass);transform-origin:left;transform:scaleX(1)}
@media (max-width:40rem){
  .steps{grid-template-columns:1fr;gap:1.6rem;padding-left:3.4rem}
  .steps::before,.steps .line{left:1.2rem;right:auto;top:0;bottom:0;width:2px;height:auto;transform-origin:top}
  .steps li{padding-top:.25rem}
  .steps li::before{left:-3.4rem;top:0}
}

.checks ul,.ticks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 2.5rem}
@media (max-width:44rem){.checks ul,.ticks{grid-template-columns:1fr}}
.checks li,.ticks li{position:relative;padding:.55rem 0 .55rem 2.1rem;margin:0;border-bottom:1px solid var(--line-soft)}
.checks li::before,.ticks li::before{content:"";position:absolute;left:0;top:.8rem;width:1.3rem;height:1.3rem;background:var(--brand-fg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") center/contain no-repeat}

.name-story{font:600 clamp(1.25rem,2.2vw,1.6rem)/1.35 var(--display);color:var(--brand-fg);max-width:36rem;margin:1rem 0 2rem}
.name-story p{margin:0}

.cta{background:var(--mist);color:var(--ink);padding:clamp(1.75rem,4vw,2.75rem);margin-top:3.5rem;position:relative;overflow:hidden;isolation:isolate;border-top:3px solid var(--cedar)}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%231E5B3A' stroke-width='1' stroke-opacity='.09'%3E%3Crect x='11' y='11' width='18' height='18'/%3E%3Crect x='11' y='11' width='18' height='18' transform='rotate(45 20 20)'/%3E%3Cpath d='M0 20h7.3M32.7 20H40M20 0v7.3M20 32.7V40'/%3E%3C/g%3E%3C/svg%3E");background-size:44px 44px;
  -webkit-mask-image:linear-gradient(270deg,#000,transparent 65%);mask-image:linear-gradient(270deg,#000,transparent 65%)}
.cta h2,.cta h3{color:var(--ink);margin:0 0 .8rem;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.cta p{color:var(--muted);max-width:38rem}
.cta strong{color:var(--ink)}

.table-wrap{overflow-x:auto;margin:.5rem 0 1.75rem;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}
table{border-collapse:collapse;width:100%;font-size:.97rem;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.8rem 1.1rem;border-bottom:1px solid var(--line-soft);vertical-align:top}
tr:last-child td{border-bottom:0}
th{font-weight:500;color:var(--cedar-text);background:var(--mist)}
thead:not(:has(th:not(:empty))){display:none}

.contacts{display:grid;grid-template-columns:1fr;margin:.5rem 0 2rem;border-top:2px solid var(--cedar)}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.4rem 1.5rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--line-soft)}
@media (max-width:40rem){.contact{grid-template-columns:1fr}}
.contact .k{color:var(--muted);font-size:.95rem}
.contact a{display:inline-block;padding-block:.45rem;font-weight:500;overflow-wrap:anywhere;text-decoration:none;font-size:1.05rem}
.contact a:hover{text-decoration:underline}

details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.05rem 0;font-weight:500;font-size:1.05rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:1.1rem;height:1.1rem;background:var(--brand-fg);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23000' d='M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform var(--t2) var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);margin:0 0 1.1rem}
details[open]>*:not(summary){animation:fold var(--t2) var(--ease)}
@keyframes fold{from{opacity:0;transform:translateY(-4px)}}

.doc .body{font-size:1.02rem}
.doc .body h2{font-size:1.4rem;margin-top:2.6rem}

/* ---------- home bands: full-bleed tinted bands ---------- */
.band{padding-block:clamp(3.5rem,7vw,6rem);position:relative;isolation:isolate}
.band::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:var(--band,var(--ground))}
.band h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.home .body{padding-block:0}
.audiences{--band:var(--ground)}
.journey{--band:var(--linen)}
.standard{--band:var(--ground)}
.story{--band:var(--mist)}
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr) auto;gap:.5rem 2rem;align-items:center;padding:clamp(1.25rem,2.6vw,1.9rem) .5rem;
  border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);position:relative;isolation:isolate}
.row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--mist);transform:scaleY(0);transform-origin:bottom;transition:transform var(--t2) var(--ease)}
.row:hover::before{transform:scaleY(1)}
.row-t{font:600 clamp(1.7rem,3.4vw,2.6rem)/1 var(--display);color:var(--cedar-text);transition:transform var(--t2) var(--ease)}
.row-d{color:var(--muted);max-width:46ch}
.row .ic-arrow{width:1.6rem;height:1.6rem;color:var(--brass-text);transition:transform var(--t2) var(--ease)}
.row:hover .row-t{transform:translateX(.5rem)}
.row:hover .ic-arrow{transform:translateX(.4rem)}
@media (max-width:44rem){.row{grid-template-columns:1fr auto}.row-d{grid-column:1;grid-row:2}.row .ic-arrow{grid-row:1/3;grid-column:2}}

.standard{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.standard-head{position:sticky;top:6.5rem}
.standard-head p{color:var(--muted)}
.standard .ticks{grid-template-columns:1fr;font-size:1.08rem}
@media (max-width:52rem){.standard{grid-template-columns:1fr}.standard-head{position:static}}

.story::after{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%231E5B3A' stroke-width='1' stroke-opacity='.09'%3E%3Crect x='11' y='11' width='18' height='18'/%3E%3Crect x='11' y='11' width='18' height='18' transform='rotate(45 20 20)'/%3E%3Cpath d='M0 20h7.3M32.7 20H40M20 0v7.3M20 32.7V40'/%3E%3C/g%3E%3C/svg%3E");background-size:44px 44px;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,transparent 40%,#000);mask-image:linear-gradient(90deg,transparent 40%,#000)}
.story-line{font:600 clamp(1.5rem,3.1vw,2.35rem)/1.25 var(--display);color:var(--ink);max-width:44rem;margin:0 0 1.5rem;letter-spacing:-.005em}
.story-note{color:var(--muted);max-width:36rem;margin:0}

.close{background:var(--sage);color:var(--on-sage);padding:clamp(2rem,5vw,3.5rem);margin:clamp(3.5rem,7vw,6rem) 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.5rem 3rem;align-items:start;position:relative;overflow:hidden;isolation:isolate}
.close h2{color:var(--on-sage);font-size:clamp(2rem,4vw,3rem);margin:0}
.close .lines{margin:0;display:grid;gap:.9rem}
.close .lines div{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;align-items:baseline;border-bottom:1px solid rgba(47,49,54,.25);padding-bottom:.8rem}
.close dt{color:var(--on-sage);font-size:.92rem}
.close dd{margin:0;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.close a{color:inherit}
.close .btn{grid-column:2;justify-self:start;color:#fff}
@media (max-width:52rem){.close{grid-template-columns:1fr}.close .btn{grid-column:1}.close .lines div{grid-template-columns:1fr;gap:.15rem}}

/* ---------- footer ---------- */
.site-foot{background:var(--linen);color:var(--ink);font-size:.93rem;margin-top:0}
.site-foot .wrap{padding-block:3.25rem 2.25rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem}
@media (max-width:52rem){.site-foot .wrap{grid-template-columns:1fr 1fr}.foot-id{grid-column:1/-1}}
@media (max-width:30rem){.site-foot .wrap{grid-template-columns:1fr}}
.site-foot a{color:var(--ink);text-decoration:none}
.site-foot a:hover{color:var(--cedar-text);text-decoration:underline}
.site-foot h2{font:600 .78rem/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text);margin:0 0 1.1rem}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:0}.site-foot li a{display:inline-block;padding-block:.6rem}
.site-foot .brand{margin-bottom:1.25rem}
.legal-line{color:var(--muted);margin:0 0 .45rem;max-width:30rem}
.emerg{display:flex;gap:.9rem;align-items:center;margin-top:1.4rem;padding:1rem 1.1rem;background:var(--ground);box-shadow:inset 0 0 0 1px var(--line-soft)}
.emerg .ic{width:1.6rem;height:1.6rem;color:var(--cedar-text)}
.emerg b{display:block;font-size:1.25rem;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--cedar-text)}
.emerg span{color:var(--muted);font-size:.86rem}
.foot-base{background:var(--sand)}
.foot-base .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-block:1.1rem;color:var(--ink);font-size:.84rem}
.foot-base .wrap{display:flex}

/* ---------- motion: quiet reveals ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .hero-copy>*{animation:rise var(--t3) var(--ease) both}
  .js .hero-copy>:nth-child(2){animation-delay:80ms}
  .js .hero-copy>:nth-child(3){animation-delay:160ms}
  .js .hero-copy>:nth-child(4){animation-delay:240ms}
  .js .hero-art{animation:rise 900ms var(--ease) 200ms both}
  .js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity var(--t3) var(--ease),transform var(--t3) var(--ease)}
  .js [data-reveal].in{opacity:1;transform:none}
  .js .steps .line{transform:scaleX(0);transition:transform 1200ms var(--ease) 200ms}
  .js .in .steps .line{transform:scaleX(1)}
  .js .steps li{opacity:0;transform:translateY(12px);transition:opacity var(--t3) var(--ease),transform var(--t3) var(--ease)}
  .js .in .steps li{opacity:1;transform:none}
  .js .in .steps li:nth-child(2){transition-delay:120ms}.js .in .steps li:nth-child(3){transition-delay:240ms}.js .in .steps li:nth-child(4){transition-delay:360ms}
  @media (max-width:40rem){.js .steps .line{transform:scaleY(0)}.js .in .steps .line{transform:scaleY(1)}}
}
@keyframes rise{from{opacity:0;transform:translateY(20px)}}

@media (max-width:48rem){
  .hero-home .wrap{grid-template-columns:1fr;min-height:0;gap:2.5rem;padding-block:2.5rem 3rem}
  .hero-home h1{font-size:clamp(2.1rem,9vw,2.6rem);max-width:none}
  .hero-art{max-width:22rem}
}
@media (max-width:30rem){.brand b{font-size:1.15rem}.brand{gap:.55rem}.brand .mark{width:2.4rem;height:2.4rem}.theme-btn{margin-left:auto}.menu-btn{padding-inline:.7rem}.head-row{gap:.5rem}}
@media print{.top,.site-foot,.skip,.menu-btn,.hero-art{display:none}.hero-home,.hero-page{background:none}}
