/* ------------------------------------------------------------------
   Self-hosted fonts (SIL Open Font Licence). No third-party requests.
   ------------------------------------------------------------------ */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300;font-display:swap;
  src:url('../fonts/space-grotesk-latin-300-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/space-grotesk-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/space-grotesk-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


/* ==========================================================================
   DIMENAI  ·  ONE GRID, ONE SCALE
   Every section, the header and the footer share the same container and the
   same left/right edge. Spacing, radius and type come from fixed scales only.
   ========================================================================== */
:root{
  /* colour */
  --ink:#14120E; --paper:#F2EFE6; --panel:#1C1913; --panel-2:#221E17;
  --vermilion:#FF4D17; --deep-vermilion:#B8340B;
  --teal:#0E6F6B; --bright-teal:#2FBFB4;
  --ink-head:#F2EFE6; --ink-body:#A9A196; --ink-hair:#2A2620; --ink-border:#413B33;
  --pap-head:#14120E; --pap-body:#575147; --pap-hair:#DAD4C6; --pap-border:#C4BDAD; --pap-panel:#E9E4D7;

  /* space scale */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:48px; --s8:64px; --s9:96px;
  --gap:20px;
  --sy:clamp(36px,3.9vw,52px);       /* half the gap between two sections  -> 72 / 104 */
  --g-block:clamp(36px,3.9vw,52px);  /* between two blocks inside a section -> 36 / 52 */
  --g-head:clamp(24px,2.6vw,32px);   /* between a heading and its content   -> 24 / 32 */
  --container:1200px;
  --pad:20px;

  /* radius scale */
  --r-xl:24px; --r-lg:18px; --r-md:12px; --r-sm:8px; --r-pill:999px;

  /* type scale */
  --disp:'Space Grotesk',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,sans-serif;
  --t-d1:clamp(2.3rem,5vw,3.75rem);
  --t-h2:clamp(1.7rem,3.1vw,2.35rem);
  --t-h3:clamp(1.12rem,1.5vw,1.28rem);
  --t-h4:1.0625rem;
  --t-lede:clamp(1.03rem,1.3vw,1.15rem);
  --t-body:1rem;
  --t-sm:.9375rem;
  --t-xs:.8125rem;

  --ease:cubic-bezier(.22,.61,.36,1);
}
@media(min-width:640px){:root{--pad:32px;--gap:24px}}
@media(min-width:1100px){:root{--pad:48px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ink-body);font-family:var(--body);
  font-size:var(--t-body);line-height:1.68;font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);margin:0;color:var(--ink-head);font-weight:400}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd,figure,blockquote,fieldset{margin:0;padding:0}
::selection{background:var(--vermilion);color:#160A04}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- one container, used by header, every section and the footer ---------- */
.wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--pad);width:100%}
.section{padding-block:var(--sy)}
.paper{background:var(--paper);color:var(--pap-body)}
.paper h1,.paper h2,.paper h3{color:var(--pap-head)}

.d1{font-size:var(--t-d1);font-weight:300;line-height:1.06;letter-spacing:-.032em}
.h2{font-size:var(--t-h2);font-weight:400;line-height:1.12;letter-spacing:-.026em}
.h3{font-size:var(--t-h3);font-weight:500;line-height:1.26;letter-spacing:-.014em}
.h4{font-family:var(--body);font-size:var(--t-h4);font-weight:600;line-height:1.4;color:var(--ink-head)}
.lede{font-size:var(--t-lede);line-height:1.6;max-width:58ch}
.sm{font-size:var(--t-sm);line-height:1.62}

/* every section head is built the same way */
.head{display:grid;gap:var(--s4);margin-bottom:var(--g-head)}
.block+.block{margin-top:var(--g-block)}
@media(min-width:900px){
  .head{grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:var(--s7);align-items:end}
  .head--solo{grid-template-columns:minmax(0,1fr)}
}
.head p{max-width:34ch}

.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--vermilion);color:#160A04;
  padding:var(--s3) var(--s5);font-weight:600;border-radius:0 0 var(--r-sm) 0}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--vermilion);outline-offset:3px;border-radius:6px}
.paper :focus-visible{outline-color:var(--deep-vermilion)}

/* ---------- icons ---------- */
.ico{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico--lg{width:22px;height:22px}
.chip{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;flex:none;
  background:rgba(255,77,23,.11);border:1px solid rgba(255,77,23,.26);color:var(--vermilion)}
.paper .chip{background:rgba(184,52,11,.09);border-color:rgba(184,52,11,.22);color:var(--deep-vermilion)}

/* ---------- badge ---------- */
.badge{display:inline-flex;align-items:center;gap:var(--s2);border-radius:var(--r-pill);
  padding:var(--s2) var(--s4);font-size:var(--t-xs);font-weight:500;letter-spacing:.005em;
  background:rgba(28,25,19,.62);border:1px solid rgba(242,239,230,.16);color:#E3DDD1;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  font-family:var(--body);font-size:var(--t-sm);font-weight:500;line-height:1;
  padding:14px var(--s5);border-radius:var(--r-pill);text-decoration:none;cursor:pointer;
  border:1px solid transparent;white-space:nowrap;
  transition:background .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease)}
.btn .ico{width:15px;height:15px;transition:transform .32s var(--ease)}
.btn:hover .ico{transform:translateX(3px)}
.btn--v{background:var(--vermilion);color:#160A04}
.btn--v:hover{background:#FF6534}
.btn--d{background:var(--ink);color:var(--paper)}
.btn--d:hover{background:#2B251D}
.btn--o{background:transparent;color:var(--ink-head);border-color:var(--ink-border)}
.btn--o:hover{background:rgba(242,239,230,.06);border-color:rgba(242,239,230,.45)}

/* ==========================================================================
   HEADER  ·  same edges as every section
   ========================================================================== */
.hdr{position:fixed;top:var(--s3);left:0;right:0;z-index:100;pointer-events:none}
.hdr .wrap{pointer-events:auto}
.bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s5);
  height:62px;padding-left:var(--s5);padding-right:var(--s2);border-radius:var(--r-pill);
  background:rgba(242,239,230,.86);
  -webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);
  border:1px solid rgba(242,239,230,.5);box-shadow:0 8px 30px -16px rgba(0,0,0,.55);
  transition:background .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.hdr.stuck .bar{background:rgba(242,239,230,.97);border-color:rgba(20,18,14,.10);
  box-shadow:0 12px 40px -18px rgba(0,0,0,.6)}
.brand{display:flex;align-items:center;color:var(--ink);text-decoration:none}
.brand svg{width:108px;height:auto;display:block}
.nav{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2vw,28px)}
.nav > li > a{font-size:var(--t-sm);font-weight:500;color:#443E34;text-decoration:none;
  position:relative;padding:var(--s2) 0;white-space:nowrap;transition:color .28s var(--ease)}
.nav > li > a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;
  background:var(--deep-vermilion);transform:scaleX(0);transform-origin:left;
  transition:transform .32s var(--ease)}
.nav > li > a:hover{color:var(--ink)}
.nav > li > a:hover::after{transform:scaleX(1)}
.burger{display:none;background:none;border:0;width:46px;height:46px;border-radius:var(--r-pill);
  cursor:pointer;color:var(--ink);justify-self:end;align-items:center;justify-content:center;
  flex-direction:column;gap:5px}
.burger span{display:block;width:18px;height:1.6px;background:currentColor;
  transition:transform .32s var(--ease),opacity .2s var(--ease)}
.open .burger span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.open .burger span:nth-child(2){opacity:0}
.open .burger span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

.sheet{position:fixed;left:var(--pad);right:var(--pad);top:86px;z-index:99;max-width:var(--container);
  margin-inline:auto;background:rgba(242,239,230,.98);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  border-radius:var(--r-xl);border:1px solid rgba(20,18,14,.10);
  box-shadow:0 24px 56px -24px rgba(0,0,0,.6);padding:var(--s3) var(--s5) var(--s5);
  display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.open .sheet{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.sheet a:not(.btn){font-family:var(--disp);font-weight:400;font-size:1.28rem;letter-spacing:-.018em;
  color:var(--ink);text-decoration:none;padding:var(--s4) 0;border-bottom:1px solid var(--pap-hair)}
.sheet .btn{margin-top:var(--s5);margin-bottom:var(--s2);font-size:var(--t-sm);padding:15px var(--s5)}

/* ---------- dropdown ---------- */
.nav-drop{position:relative}
.nav-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);
  font-size:var(--t-sm);font-weight:500;color:#443E34;background:none;border:0;padding:var(--s2) 0;
  cursor:pointer;white-space:nowrap;position:relative;transition:color .28s var(--ease)}
.nav-btn::after{content:"";position:absolute;left:0;right:16px;bottom:2px;height:1.5px;
  background:var(--deep-vermilion);transform:scaleX(0);transform-origin:left;
  transition:transform .32s var(--ease)}
.nav-btn:hover{color:var(--ink)}
.nav-btn:hover::after,.nav-drop.open .nav-btn::after{transform:scaleX(1)}
.nav-btn .ico{width:13px;height:13px;transition:transform .3s var(--ease)}
.nav-drop.open .nav-btn .ico{transform:rotate(180deg)}

.drop{position:absolute;top:calc(100% + 18px);left:-20px;z-index:5;
  width:min(380px,calc(100vw - 2 * var(--pad)));
  background:rgba(242,239,230,.97);
  -webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);
  border:1px solid rgba(20,18,14,.10);border-radius:var(--r-lg);
  box-shadow:0 26px 60px -26px rgba(0,0,0,.55),0 2px 8px -4px rgba(0,0,0,.2);
  padding:var(--s2);display:grid;gap:1px;
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);pointer-events:none;
  transform-origin:24px top;
  transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s}
.nav-drop.open .drop{opacity:1;visibility:visible;transform:none;pointer-events:auto}

/* one grid shared by every row, so icons and labels sit on two edges only */
.drop__item{display:grid;grid-template-columns:34px minmax(0,1fr);
  column-gap:var(--s3);align-items:center;padding:10px var(--s3);
  border-radius:var(--r-md);text-decoration:none}
.drop__item:hover,.drop__item:focus-visible{background:rgba(20,18,14,.055)}
.drop__ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  background:rgba(184,52,11,.10);border:1px solid rgba(184,52,11,.20);color:var(--deep-vermilion)}
.drop__ico .ico{width:17px;height:17px}
.drop__t{font-family:var(--disp);font-weight:500;font-size:.95rem;line-height:1.35;
  letter-spacing:-.012em;color:var(--pap-head)}
.drop__all{display:block;margin-top:var(--s3);padding:12px var(--s3);text-align:center;
  background:rgba(20,18,14,.05);border:1px solid var(--pap-hair);border-radius:var(--r-md);
  font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;
  color:var(--deep-vermilion);text-decoration:none;
  transition:background .24s var(--ease),border-color .24s var(--ease)}
.drop__all:hover,.drop__all:focus-visible{background:rgba(184,52,11,.09);border-color:rgba(184,52,11,.28)}

/* mobile sheet: the four practices sit indented under Practices */
.sheet__sub{display:grid;gap:0;padding-left:var(--s5);border-left:1px solid var(--pap-hair);
  margin:0 0 var(--s4) 2px}
.sheet__sub a{font-family:var(--body)!important;font-size:var(--t-sm)!important;font-weight:500!important;
  letter-spacing:0!important;padding:11px 0!important;border-bottom:0!important;color:#4A4438!important}
.sheet__sub a:hover{color:var(--ink)!important}

/* ==========================================================================
   PRACTICE PAGES
   ========================================================================== */
.limits{background:var(--panel);border:1px solid var(--ink-hair);
  border-left:2px solid var(--bright-teal);border-radius:var(--r-lg);
  padding:clamp(24px,3.4vw,40px)}
.limits h2{font-size:var(--t-h3);font-weight:500;margin-bottom:var(--g-head)}
.limits ul{display:grid;gap:var(--s4)}
.limits li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4);align-items:start;
  font-size:var(--t-sm);line-height:1.66}
.limits li .ico{color:var(--bright-teal);margin-top:3px;width:18px;height:18px}
.svc{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:820px){.svc{grid-template-columns:repeat(3,1fr)}}
.svc article{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  padding:var(--s5);transition:transform .4s var(--ease),border-color .4s var(--ease)}
.svc article:hover{transform:translateY(-4px);border-color:var(--ink-border)}
.svc .chip{margin-bottom:var(--s5)}
.svc h3{margin-bottom:var(--s3)}
.svc p{font-size:var(--t-sm);line-height:1.64}
.tags{display:flex;flex-wrap:wrap;gap:var(--s2)}
.tags li{font-size:var(--t-xs);font-weight:500;color:var(--ink-head);background:var(--panel);
  border:1px solid var(--ink-border);border-radius:var(--r-pill);padding:8px var(--s4)}
/* pill variant where the pill itself is the link: the anchor carries the shape
   so the whole pill is the target, and nothing is underlined */
.tags--links li{padding:0;background:none;border:0}
.tags--links a{display:inline-flex;align-items:center;font-size:var(--t-xs);font-weight:500;
  color:var(--ink-head);background:var(--panel);border:1px solid var(--ink-border);
  border-radius:var(--r-pill);padding:9px var(--s4);text-decoration:none;
  transition:color .26s var(--ease),border-color .26s var(--ease),background .26s var(--ease)}
.tags--links a:hover{color:var(--vermilion);border-color:rgba(255,77,23,.5);background:var(--panel-2)}
.trigger{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4);align-items:start;
  background:var(--panel-2);border:1px solid var(--ink-hair);border-left:2px solid var(--vermilion);
  border-radius:var(--r-md);padding:var(--s5);font-size:var(--t-sm);line-height:1.66}
.trigger .ico{color:var(--vermilion);margin-top:2px}
.prose p+p{margin-top:var(--s4)}
.tags-h{margin-bottom:var(--g-head)}
.note.note--dark{border-left-color:var(--ink-border);color:var(--ink-body)}
.p-hero{padding-top:clamp(120px,14vh,160px)}
.p-hero h1{max-width:18ch}
.p-hero .lede{margin-top:var(--s5)}
.p-hero .btn{margin-top:var(--g-block)}
.pcard-lg{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:820px){.pcard-lg{grid-template-columns:repeat(2,1fr)}}
/* every card shares the parent's row tracks, so chip, title, blurb, services and
   the Explore link line up across a row whatever the copy length does */
@supports(grid-template-rows:subgrid){
  @media(min-width:820px){
    .pcard-lg{grid-template-rows:repeat(10,auto)}
    .pcard-lg a{grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
    .pcard-lg .go{margin-top:0;align-self:end}
  }
}
.pcard-lg a{display:grid;align-content:start;background:var(--panel);border:1px solid var(--ink-hair);
  border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);text-decoration:none;
  transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.pcard-lg a:hover{transform:translateY(-4px);border-color:var(--ink-border);
  box-shadow:0 26px 52px -36px rgba(0,0,0,.9)}
.pcard-lg .chip{margin-bottom:var(--s5)}
.pcard-lg h2{font-size:var(--t-h3);font-weight:500;margin-bottom:var(--s3)}
.pcard-lg p{font-size:var(--t-sm);line-height:1.64;margin-bottom:var(--s5)}
.pcard-lg ul{display:grid;gap:var(--s2);margin-bottom:var(--s5)}
.pcard-lg ul li{position:relative;padding-left:var(--s4);font-size:var(--t-xs);color:var(--ink-body)}
.pcard-lg ul li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:1.5px;
  background:var(--vermilion)}
.pcard-lg .go{margin-top:auto;display:inline-flex;align-items:center;gap:var(--s2);
  font-size:var(--t-xs);font-weight:600;color:var(--vermilion)}
.pcard-lg .go .ico{width:14px;height:14px;transition:transform .3s var(--ease)}
.pcard-lg a:hover .go .ico{transform:translateX(4px)}

/* ==========================================================================
   INDUSTRIES
   ========================================================================== */
.sectors{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:880px){
  .sectors{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto)}
}
@supports(grid-template-rows:subgrid){
  @media(min-width:880px){
    .sectors{grid-template-rows:repeat(15,auto)}
    .sector{grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
  }
}
.sector{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  padding:var(--s5);display:grid;align-content:start;
  transition:border-color .4s var(--ease)}
.sector:hover{border-color:var(--ink-border)}
.sector .chip{margin-bottom:var(--s5)}
.sector h3{margin-bottom:var(--s3)}
.sector>p{font-size:var(--t-sm);line-height:1.66}
.sector__live{margin-top:var(--s5);padding:var(--s4);border-radius:var(--r-md);
  background:var(--panel-2);border-left:2px solid var(--bright-teal)}
.sector__live b{display:block;font-family:var(--body);font-size:var(--t-xs);font-weight:600;
  color:var(--bright-teal);margin-bottom:var(--s2)}
.sector__live span{display:block;font-size:var(--t-xs);line-height:1.6;color:var(--ink-body)}
.sector__go{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--ink-hair);
  display:flex;flex-wrap:wrap;gap:var(--s2);align-self:start}
.sector__go a{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:500;
  color:var(--ink-head);text-decoration:none;background:var(--panel-2);
  border:1px solid var(--ink-border);border-radius:var(--r-pill);padding:7px 14px;
  transition:all .26s var(--ease)}
.sector__go a:hover{color:#160A04;background:var(--vermilion);border-color:var(--vermilion)}

/* ==========================================================================
   ABOUT
   ========================================================================== */
.orgs{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:620px){.orgs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.orgs{grid-template-columns:repeat(3,1fr)}}
.orgs article{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-md);
  padding:var(--s5);display:grid;align-content:start;transition:border-color .4s var(--ease)}
/* share the parent's row tracks so a wrapped company name cannot push its
   neighbour's description out of line */
@supports(grid-template-rows:subgrid){
  @media(min-width:620px){
    .orgs{grid-template-rows:repeat(10,auto)}
    .orgs article{grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
  }
}
.orgs article:hover{border-color:var(--ink-border)}
.orgs article.is-self{border-color:rgba(255,77,23,.45);background:var(--panel-2)}
.orgs b{display:block;font-family:var(--disp);font-weight:500;font-size:1rem;
  letter-spacing:-.012em;color:var(--ink-head)}
.orgs .is-self b{color:var(--vermilion)}
.orgs span{display:block;margin-top:var(--s2);font-size:var(--t-xs);line-height:1.56;
  color:var(--ink-body)}
.orgs__foot{margin-top:var(--g-block);font-size:var(--t-sm);line-height:1.66;
  color:var(--ink-body);max-width:70ch;padding-left:var(--s4);
  border-left:2px solid var(--ink-border)}
.find{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:700px){.find{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.find{grid-template-columns:repeat(4,1fr)}}
.find article{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-md);
  padding:var(--s5)}
.find .ico{color:var(--vermilion);margin-bottom:var(--s4)}
.find b{display:block;font-family:var(--body);font-size:var(--t-xs);font-weight:600;
  color:var(--ink-head);margin-bottom:var(--s2)}
.find span{display:block;font-size:var(--t-sm);line-height:1.6}
.find a{color:var(--ink-head);text-decoration:none;transition:color .26s var(--ease)}
.find a:hover{color:var(--vermilion)}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact{display:grid;gap:var(--gap);grid-template-columns:1fr;align-items:start}
@media(min-width:960px){
  .contact{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:var(--s7)}
}
.contact__form{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  padding:clamp(24px,3.2vw,40px)}
.contact__form h2{font-size:var(--t-h3);font-weight:500;margin-bottom:var(--s3)}
.contact__form .form{max-width:none;margin-top:var(--g-head)}
.contact__intro{font-size:var(--t-sm);line-height:1.66}
.contact__side{display:grid;gap:var(--gap);align-content:start}
.side{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  padding:var(--s5)}
.side h2{font-family:var(--body);font-size:var(--t-xs);font-weight:600;letter-spacing:.01em;
  color:var(--ink-head);margin-bottom:var(--s5)}
.side ul{display:grid;gap:var(--s4)}
.side li{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:var(--s4);
  align-items:start;font-size:var(--t-sm);line-height:1.6}
.side li .ico{width:18px;height:18px;color:var(--vermilion);margin-top:2px}
.side a{color:var(--ink-head);text-decoration:none;transition:color .26s var(--ease)}
.side a:hover{color:var(--vermilion)}
.side--teal{border-left:2px solid var(--bright-teal)}
.side--teal p{font-size:var(--t-sm);line-height:1.66}
.steps{display:grid;gap:var(--s4);counter-reset:cs}
.steps li{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:var(--s4);
  align-items:start;font-size:var(--t-sm);line-height:1.6}
.steps li::before{counter-increment:cs;content:counter(cs,decimal-leading-zero);
  font-family:var(--disp);font-weight:300;font-size:.9rem;color:var(--vermilion);line-height:1.7}

/* ==========================================================================
   THANK YOU
   ========================================================================== */
.ty{text-align:center;max-width:46rem;margin-inline:auto}
.ty__mark{width:64px;height:64px;margin:0 auto var(--g-block);border-radius:50%;
  display:grid;place-items:center;background:rgba(255,77,23,.12);
  border:1px solid rgba(255,77,23,.3);color:var(--vermilion)}
.ty__mark .ico{width:28px;height:28px;stroke-width:1.6}
.ty .lede{margin:var(--s5) auto 0}
.ty__next{margin-top:var(--g-block);display:inline-grid;gap:var(--s3);text-align:left;
  justify-items:start}
.ty__next li{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:var(--s3);
  align-items:start;font-size:var(--t-sm);line-height:1.6;color:var(--ink-body)}
.ty__next .ico{width:16px;height:16px;color:var(--vermilion);margin-top:3px}
.ty__cta{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;margin-top:var(--g-block)}
.pullquote{background:var(--paper);border-radius:var(--r-xl);
  padding:clamp(32px,5vw,64px) clamp(24px,4vw,56px);text-align:center}
.pullquote blockquote{margin:0}
.pullquote q{quotes:none}
.pullquote q::before,.pullquote q::after{content:""}
.pullquote__t{display:block;font-family:var(--disp);font-weight:300;
  font-size:clamp(1.35rem,2.9vw,2.05rem);line-height:1.35;letter-spacing:-.022em;
  color:var(--pap-head);max-width:22ch;margin-inline:auto}
.pullquote figcaption{margin-top:var(--s5);font-size:var(--t-xs);color:var(--pap-body)}

/* ==========================================================================
   HOW WE WORK
   ========================================================================== */
/* three principles, each carrying the price it costs you */
.prin{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:900px){
  .prin{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,auto)}
  .prin article{grid-row:span 4;display:grid;grid-template-rows:subgrid;row-gap:0}
}
.prin article{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  padding:var(--s5);display:grid;align-content:start;
  transition:border-color .4s var(--ease)}
.prin article:hover{border-color:var(--ink-border)}
.prin .chip{margin-bottom:var(--s5)}
.prin h3{margin-bottom:var(--s3)}
.prin p{font-size:var(--t-sm);line-height:1.66}
.prin__cost{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--ink-hair);
  align-self:start}
.prin__cost b{display:block;font-family:var(--body);font-size:var(--t-xs);font-weight:600;
  letter-spacing:.01em;color:var(--bright-teal);margin-bottom:var(--s2)}
.prin__cost span{display:block;font-size:var(--t-xs);line-height:1.6;color:var(--ink-body)}

/* engagement stages: editorial rows rather than cards */
.stages{border-top:1px solid var(--ink-hair)}
.stage{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s4);row-gap:var(--s3);
  padding:var(--s5) 0;border-bottom:1px solid var(--ink-hair)}
@media(min-width:900px){
  .stage{grid-template-columns:2.5rem minmax(0,18rem) minmax(0,1fr);
    column-gap:var(--s7);row-gap:0;align-items:start;padding:var(--s6) 0}
}
.stage__n{font-family:var(--disp);font-weight:300;font-size:1.35rem;line-height:1.35;
  color:var(--vermilion);letter-spacing:-.02em}
.stage h3{font-size:var(--t-h3);font-weight:500;line-height:1.3}
.stage p{font-size:var(--t-sm);line-height:1.68;grid-column:2/-1}
@media(min-width:900px){.stage p{grid-column:3}}

/* what we build on: a plain definition table */
.deflist{border-top:1px solid var(--ink-hair)}
.deflist>div{display:grid;grid-template-columns:1fr;gap:var(--s2);
  padding:var(--s5) 0;border-bottom:1px solid var(--ink-hair)}
@media(min-width:820px){
  .deflist>div{grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:var(--s7);
    align-items:start;padding:var(--s5) 0}
}
.deflist dt{font-family:var(--body);font-size:var(--t-h4);font-weight:600;color:var(--ink-head)}
.deflist dd{margin:0;font-size:var(--t-sm);line-height:1.68}

/* ==========================================================================
   HERO  ·  text first on Ink, picture below (DFarms pattern)
   ========================================================================== */
.hero-sec{padding-top:clamp(120px,14vh,160px);position:relative;overflow:hidden}
.hero-sec::before{content:"";position:absolute;left:50%;top:0;width:min(1000px,100%);height:560px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(52% 62% at 50% 22%,rgba(255,77,23,.10),rgba(20,18,14,0) 72%)}
.hero-sec .wrap{position:relative;z-index:1}
.hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-copy h1{margin-top:var(--s5);max-width:17ch}
.hero-copy .lede{margin-top:var(--s5);max-width:56ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;margin-top:var(--s6)}

.showcase{margin:0;position:relative;border-radius:var(--r-xl);overflow:hidden;
  background:var(--panel);border:1px solid var(--ink-hair)}
.showcase img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 50%;display:block}
@media(max-width:700px){.showcase img{aspect-ratio:4/3}}
.showcase figcaption span{display:flex;align-items:center;gap:var(--s2)}
.showcase figcaption{position:absolute;left:0;right:0;bottom:0;
  display:flex;flex-wrap:wrap;gap:var(--s3) var(--s7);justify-content:center;
  padding:var(--s4) var(--s5);font-size:var(--t-xs);color:#D9D2C5;letter-spacing:.01em;
  background:rgba(14,11,9,.86);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border-top:1px solid rgba(242,239,230,.12)}
.showcase figcaption span{display:flex;align-items:center;gap:var(--s2)}
.showcase figcaption .ico{width:15px;height:15px;color:var(--vermilion)}
@media(max-width:700px){
  .showcase figcaption{position:static;flex-direction:column;align-items:stretch;gap:var(--s4);
    padding:var(--s5);background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;
    border-top:1px solid var(--ink-hair)}
  .showcase figcaption span{justify-content:flex-start}
}

/* ==========================================================================
   STATEMENT
   ========================================================================== */
.statement .grid{display:grid;gap:var(--s5)}
@media(min-width:900px){.statement .grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--s7);align-items:start}}
.statement h2{max-width:19ch}
.statement p+p{margin-top:var(--s4)}

/* ---------- pillar cards ---------- */
.pillars{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:700px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pil{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.pil:hover{transform:translateY(-4px);border-color:var(--ink-border);
  box-shadow:0 26px 52px -36px rgba(0,0,0,.9)}
.pil__pic{position:relative;aspect-ratio:16/9;overflow:hidden}
.pil__pic img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pil:hover .pil__pic img{transform:scale(1.04)}
.pil__pic::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(20,18,14,.18) 0%,rgba(28,25,19,.55) 62%,var(--panel) 100%)}
.pil__n{position:absolute;top:var(--s4);left:var(--s5);z-index:1;font-family:var(--disp);
  font-weight:300;font-size:1.6rem;line-height:1;color:#F0EAE0;letter-spacing:-.02em;
  text-shadow:0 2px 14px rgba(0,0,0,.6)}
.pil__b{padding:0 var(--s5) var(--s6);margin-top:calc(var(--s5) * -1);position:relative;z-index:1}
.pil__b .chip{margin-bottom:var(--s4)}
.pil__b h3{margin-bottom:var(--s3)}
.pil__b p{font-size:var(--t-sm);line-height:1.64}

/* ==========================================================================
   PRACTICES  (paper)
   ========================================================================== */
.cards{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:760px){.cards{grid-template-columns:repeat(2,1fr)}}
.card{display:flex;flex-direction:column;text-decoration:none;background:var(--pap-panel);
  border:1px solid var(--pap-hair);border-radius:var(--r-lg);padding:var(--s6);
  transition:transform .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease)}
.card:hover{transform:translateY(-4px);border-color:var(--pap-border);background:#E4DFD0;
  box-shadow:0 24px 48px -34px rgba(20,18,14,.5)}
.card .chip{margin-bottom:var(--s5)}
.card h3{color:var(--pap-head);margin-bottom:var(--s3)}
.card__svc{font-size:var(--t-sm);color:var(--pap-body)}
.card__go{display:inline-flex;align-items:center;gap:var(--s2);margin-top:var(--s5);
  font-size:var(--t-xs);font-weight:600;color:var(--deep-vermilion)}
.card__go .ico{width:14px;height:14px;transition:transform .32s var(--ease)}
.card:hover .card__go .ico{transform:translateX(4px)}
.note{font-size:var(--t-sm);color:var(--pap-body);max-width:74ch;
  padding-left:var(--s4);border-left:2px solid var(--pap-border)}

/* ==========================================================================
   MECHANISM  ·  the flow
   ========================================================================== */
.flow{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:760px){.flow{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.flow{grid-template-columns:repeat(5,1fr);gap:var(--s4)}}
.step{position:relative;background:var(--panel);border:1px solid var(--ink-hair);
  border-radius:var(--r-md);padding:var(--s5);transition:border-color .4s var(--ease)}
.step:hover{border-color:var(--ink-border)}
.step .ico{color:var(--vermilion);margin-bottom:var(--s4)}
.step b{display:block;font-family:var(--disp);font-weight:500;font-size:1rem;
  color:var(--ink-head);letter-spacing:-.01em}
.step span{display:block;margin-top:var(--s2);font-size:var(--t-xs);line-height:1.55;color:var(--ink-body)}
@media(max-width:759px){
  .step{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;
    column-gap:var(--s4);row-gap:var(--s2);align-items:start;padding:var(--s4) var(--s5)}
  .step .ico{margin-bottom:0;margin-top:3px;grid-row:1/3;grid-column:1}
  .step b{grid-column:2;grid-row:1}
  .step span{grid-column:2;grid-row:2;margin-top:0}
}
@media(min-width:1080px){
  .step:not(:last-child)::after{content:"";position:absolute;top:36px;right:calc(var(--s4) * -1);
    width:var(--s4);height:1px;background:var(--ink-border)}
}
.loop{margin-top:var(--gap);display:flex;align-items:flex-start;gap:var(--s4);
  background:var(--panel-2);border:1px solid var(--ink-hair);border-left:2px solid var(--vermilion);
  border-radius:var(--r-md);padding:var(--s5)}
.loop .ico{color:var(--vermilion);margin-top:2px}
.loop p{font-size:var(--t-sm)}
.loop b{color:var(--ink-head);font-weight:600}

/* ---------- metrics ---------- */
.metrics{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:440px){.metrics{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.metrics{grid-template-columns:repeat(4,1fr)}}
.metric{background:var(--panel);border:1px solid var(--ink-hair);border-radius:var(--r-md);
  padding:var(--s5);transition:border-color .4s var(--ease)}
.metric:hover{border-color:var(--ink-border)}
.metric .ico{color:var(--vermilion);margin-bottom:var(--s4)}
.metric b{display:block;font-family:var(--disp);font-weight:500;font-size:1.05rem;
  color:var(--ink-head);letter-spacing:-.012em}
.metric span{display:block;margin-top:var(--s2);font-size:var(--t-xs);line-height:1.56;color:var(--ink-body)}

/* ==========================================================================
   WHY US
   ========================================================================== */
.why{background:var(--panel);border:1px solid var(--ink-border);border-radius:var(--r-xl);
  padding:clamp(28px,4vw,56px);display:grid;gap:var(--s5);grid-template-columns:1fr}
@media(min-width:940px){.why{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--s7);align-items:start}}
.why h2{max-width:14ch}
.why p+p{margin-top:var(--s4)}
.why strong{color:var(--ink-head);font-weight:500}

/* ==========================================================================
   FOUNDER
   ========================================================================== */
.founder{position:relative;overflow:hidden}
.founder__glow{position:absolute;left:50%;top:10%;width:min(940px,100%);height:80%;
  transform:translateX(-50%);z-index:0;pointer-events:none;
  background:radial-gradient(54% 58% at 50% 46%,rgba(255,77,23,.14),rgba(20,18,14,0) 70%)}
.founder .wrap{position:relative;z-index:1}
.fq{margin:0;background:rgba(28,25,19,.66);
  -webkit-backdrop-filter:blur(26px) saturate(1.15);backdrop-filter:blur(26px) saturate(1.15);
  border:1px solid rgba(242,239,230,.12);border-radius:var(--r-xl);
  box-shadow:0 40px 88px -58px rgba(0,0,0,.92);padding:clamp(28px,4vw,56px);
  display:grid;gap:var(--s6);grid-template-columns:1fr;align-items:center}
@media(min-width:820px){.fq{grid-template-columns:auto minmax(0,1fr);gap:var(--s7)}}
.fq__pic{width:clamp(128px,17vw,168px);border-radius:var(--r-lg);overflow:hidden;
  border:1px solid rgba(242,239,230,.20);box-shadow:0 18px 40px -22px rgba(0,0,0,.8);justify-self:start}
.fq__pic img{width:100%;display:block}
.fq q{quotes:none}.fq q::before,.fq q::after{content:""}
.fq__t{display:block;font-family:var(--disp);font-weight:300;
  font-size:clamp(1.22rem,2.3vw,1.7rem);line-height:1.4;letter-spacing:-.018em;color:var(--ink-head)}
.fq figcaption{margin-top:var(--s5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);
  font-size:var(--t-sm);color:var(--ink-body)}
.fq figcaption b{color:var(--ink-head);font-weight:600}
.fq figcaption em{font-style:normal;color:var(--ink-border)}

/* ==========================================================================
   CLOSING
   ========================================================================== */
.close{border-radius:var(--r-xl);background:var(--panel);border:1px solid var(--ink-hair);
  text-align:center;padding:clamp(48px,6.5vw,88px) var(--s5);position:relative;overflow:hidden}
.close::before{content:"";position:absolute;left:50%;bottom:-46%;width:min(720px,100%);height:100%;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(255,77,23,.17),rgba(28,25,19,0) 70%)}
.close>*{position:relative}
.close .lede{margin:var(--s4) auto 0}
.close .btn{margin-top:var(--s6)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ftr{border-top:1px solid var(--ink-hair);padding-block:var(--sy) 0}
.ftr__grid{display:grid;gap:var(--s7) var(--gap);grid-template-columns:1fr}
@media(min-width:600px){.ftr__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.ftr__grid{grid-template-columns:1.6fr 1fr .9fr 1.1fr;gap:var(--s7) var(--gap)}}
.ftr__brand{grid-column:1/-1}
@media(min-width:1000px){.ftr__brand{grid-column:auto}}
.ftr__brand svg{width:134px;height:auto;color:var(--paper)}
.ftr__brand p{margin-top:var(--s4);font-size:var(--t-sm);line-height:1.6;color:var(--ink-body);max-width:30ch}
.ftr__h{margin:0 0 var(--s5);font-family:var(--body);font-size:var(--t-xs);font-weight:600;
  letter-spacing:.02em;line-height:1.4;color:var(--ink-head)}
.ftr__col ul{display:flex;flex-direction:column;gap:var(--s4)}
.ftr__col a,.ftr__col button{font-family:var(--body);font-size:var(--t-sm);line-height:1.5;
  color:var(--ink-body);text-decoration:none;background:none;border:0;padding:0;text-align:left;
  cursor:pointer;transition:color .26s var(--ease);display:block}
.ftr__col a:hover,.ftr__col button:hover{color:var(--vermilion)}
.social{display:flex;gap:var(--s2);margin-top:var(--s5)}
.social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--ink-border);
  border-radius:var(--r-pill);color:var(--ink-body);transition:all .28s var(--ease)}
.social a:hover{color:#160A04;background:var(--vermilion);border-color:var(--vermilion)}
.social svg{width:16px;height:16px;fill:currentColor;stroke:none}
.ftr__bar{margin-top:var(--g-block);border-top:1px solid var(--ink-hair);padding-block:var(--s5) var(--s7);
  display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:center;justify-content:space-between;
  font-size:var(--t-xs);color:var(--ink-body)}
.ftr__bar a{color:var(--ink-head);text-decoration:none;transition:color .26s var(--ease)}
.ftr__bar a:hover{color:var(--vermilion)}

/* ==========================================================================
   COOKIE
   ========================================================================== */
.cookie{position:fixed;left:var(--pad);right:var(--pad);bottom:var(--s5);z-index:120;max-width:620px;
  margin-inline:auto;background:rgba(28,25,19,.88);
  -webkit-backdrop-filter:blur(26px) saturate(1.2);backdrop-filter:blur(26px) saturate(1.2);
  border:1px solid rgba(242,239,230,.14);border-radius:var(--r-lg);
  box-shadow:0 30px 64px -36px rgba(0,0,0,.92);padding:var(--s5);
  display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;justify-content:space-between;
  transform:translateY(180%);transition:transform .55s var(--ease)}
.cookie.show{transform:none}
.cookie p{font-size:var(--t-xs);line-height:1.6;color:var(--ink-body);flex:1 1 240px}
.cookie p a{color:var(--ink-head);text-underline-offset:3px}
.cookie__act{display:flex;gap:var(--s2)}
.cookie button{font-family:var(--body);font-size:var(--t-xs);font-weight:500;padding:11px var(--s5);
  border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--ink-border);
  background:transparent;color:var(--ink-head);transition:all .26s var(--ease)}
.cookie button:hover{border-color:var(--paper)}
.cookie button.acc{background:var(--vermilion);color:#160A04;border-color:var(--vermilion)}
.cookie button.acc:hover{background:#FF6534}

/* ==========================================================================
   MOTION
   ========================================================================== */
.rv{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.rv.in{opacity:1;transform:none}
.r1{transition-delay:.07s}.r2{transition-delay:.14s}.r3{transition-delay:.21s}.r4{transition-delay:.28s}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}html{scroll-behavior:auto}}

@media(max-width:1023px){
  .hdr{top:0}
  .hdr .wrap{padding-inline:0}
  .bar{grid-template-columns:auto 1fr;height:60px;border-radius:0;
    border-left:0;border-right:0;border-top:0;box-shadow:none;
    padding-left:var(--pad);padding-right:6px}
  .hdr.stuck .bar{box-shadow:0 8px 26px -18px rgba(0,0,0,.55)}
  .bar>nav,.bar>.btn{display:none}
  .burger{display:flex;width:44px;height:44px}
  .sheet{top:60px;left:0;right:0;border-radius:0 0 var(--r-xl) var(--r-xl);
    border-left:0;border-right:0;padding-inline:var(--pad)}
  .hero-sec{padding-top:88px}
}
@media(min-width:1024px){.sheet{display:none}}
@media(max-width:560px){
  .cookie{padding:var(--s4)}
  .cookie__act{width:100%}.cookie button{flex:1}
  .hero__meta{gap:var(--s2) var(--s5)}
}

/* ==========================================================================
   LEGAL DOCUMENTS  ·  Paper card on the Ink page, for long-form reading
   ========================================================================== */
.doc-head{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:baseline;
  margin-top:var(--s5)}
.doc-head .stamp{font-size:var(--t-xs);color:var(--ink-body)}
.doc{background:var(--paper);color:var(--pap-body);border-radius:var(--r-xl);
  padding:clamp(28px,4.4vw,64px);margin-top:var(--g-block)}
.doc>*{max-width:68ch}
.doc h2{font-family:var(--disp);font-weight:500;font-size:clamp(1.16rem,1.9vw,1.4rem);
  line-height:1.3;letter-spacing:-.014em;color:var(--pap-head);margin:var(--g-block) 0 var(--s4)}
.doc>h2:first-child{margin-top:0}
.doc h3{font-family:var(--body);font-weight:600;font-size:var(--t-h4);color:var(--pap-head);
  margin:var(--s6) 0 var(--s3)}
.doc p{font-size:var(--t-body);line-height:1.72;margin-bottom:var(--s4)}
.doc p:last-child{margin-bottom:0}
.doc strong{color:var(--pap-head);font-weight:600}
.doc a{color:var(--deep-vermilion);text-underline-offset:3px}
.doc a:hover{text-decoration-thickness:2px}
.doc ul{margin:0 0 var(--s4);padding:0;list-style:none;display:grid;gap:var(--s3)}
.doc ul li{position:relative;padding-left:var(--s5);font-size:var(--t-body);line-height:1.7}
.doc ul li::before{content:"";position:absolute;left:2px;top:.68em;width:6px;height:1.5px;
  background:var(--deep-vermilion)}
.doc code,.doc kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;
  background:#E4DFD0;border:1px solid var(--pap-hair);border-radius:5px;padding:1px 6px;
  color:var(--pap-head)}
.doc table{width:100%;max-width:100%;border-collapse:collapse;margin:0 0 var(--s4);
  font-size:var(--t-sm);display:block;overflow-x:auto}
.doc thead th{text-align:left;font-weight:600;color:var(--pap-head);
  border-bottom:1.5px solid var(--pap-border);padding:0 var(--s4) var(--s3) 0;white-space:nowrap}
.doc tbody td{vertical-align:top;padding:var(--s3) var(--s4) var(--s3) 0;
  border-bottom:1px solid var(--pap-hair);line-height:1.6}
.doc tbody tr:last-child td{border-bottom:0}

/* jump list */
.toc{margin-top:var(--g-block);border:1px solid var(--ink-hair);border-radius:var(--r-lg);
  padding:var(--s5);background:var(--panel)}
.toc h2{font-family:var(--body);font-size:var(--t-xs);font-weight:600;color:var(--ink-head);
  margin:0 0 var(--s4)}
.toc ol{list-style:none;display:grid;gap:var(--s3);counter-reset:t}
@media(min-width:720px){.toc ol{grid-template-columns:repeat(2,1fr);gap:var(--s3) var(--s6)}}
.toc a{font-size:var(--t-sm);color:var(--ink-body);text-decoration:none;display:block;
  transition:color .26s var(--ease)}
.toc a:hover{color:var(--vermilion)}

/* ==========================================================================
   FORMS  ·  used by /contact/ and posted to /sendlead.php
   ========================================================================== */
.form{display:grid;gap:var(--s5);max-width:34rem}
.field{display:grid;gap:var(--s2)}
.field label{font-size:var(--t-xs);font-weight:600;color:var(--ink-head);letter-spacing:.01em}
.field label .req{color:var(--vermilion)}
.field input,.field textarea{
  font-family:var(--body);font-size:var(--t-body);line-height:1.5;color:var(--ink-head);
  background:var(--panel);border:1px solid var(--ink-border);border-radius:var(--r-md);
  padding:13px var(--s4);width:100%;max-width:100%;
  transition:border-color .26s var(--ease),background .26s var(--ease)}
.field textarea{min-height:9rem;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted)}
.field input:hover,.field textarea:hover{border-color:#5A5248}
.field input:focus,.field textarea:focus{outline:2px solid var(--vermilion);outline-offset:2px;
  border-color:var(--vermilion);background:var(--panel-2)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form .btn{justify-self:start}
.form-note{font-size:var(--t-xs);color:var(--ink-body);max-width:44ch}
.alert{border:1px solid var(--ink-border);border-left:2px solid var(--vermilion);
  border-radius:var(--r-md);background:var(--panel);padding:var(--s4) var(--s5);
  font-size:var(--t-sm);color:var(--ink-head);margin-bottom:var(--s5);max-width:34rem}

/* ==========================================================================
   SIMPLE PAGE  ·  stubs, thank-you, 404
   ========================================================================== */
.page{padding-top:clamp(120px,14vh,160px)}
.page h1{max-width:20ch}
.page .lede{margin-top:var(--s5)}
.page .btn{margin-top:var(--g-block)}
.page__mark{font-family:var(--disp);font-weight:300;font-size:clamp(3rem,9vw,5rem);
  line-height:1;letter-spacing:-.03em;color:var(--vermilion);margin-bottom:var(--s5)}
