/* ==========================================================================
   Pallets Simplified — "Console" design system
   Dark cinematic theme. One accent, set once in :root (--ac and friends).
   ========================================================================== */

:root{
  color-scheme:dark;
  --bg:#06090e; --bg2:#0a0f16; --panel:#0c141d;
  --ink:#e9eef3; --dim:#98a6b2; --faint:#78899a;
  --line:rgba(255,255,255,.08); --line-soft:rgba(255,255,255,.05);
  --ease:cubic-bezier(.16,1,.3,1);
  --ac:#14c229; --ac-ink:#03150a; --ac-soft:rgba(20,194,41,.14); --ac-line:rgba(20,194,41,.4);
  --grade:saturate(.86) hue-rotate(-41deg);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 "Hanken Grotesk",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono{font-family:"IBM Plex Mono",monospace}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:4px}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ac);color:var(--ac-ink);padding:12px 20px;border-radius:0 0 12px 0;font-weight:600}
.skip-link:focus{left:0}

/* film grain, fixed + inert */
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;background:rgba(6,9,14,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:100px;gap:24px}
.nav .brand img{height:60px;width:auto}
.nav-links{display:flex;gap:34px;font-size:14.5px;color:var(--dim)}
.nav-links a{transition:color .35s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a[aria-current="page"]{color:var(--ac)}
.nav-act{display:flex;align-items:center;gap:22px}
.nav-login{font-size:14.5px;color:var(--dim);transition:color .35s var(--ease)}
.nav-login:hover{color:var(--ink)}
.nav-only-m{display:none}
.nav-toggle{display:none;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--ink)}
.nav-toggle .ic-close{display:none}
.nav-toggle[aria-expanded="true"] .ic-open{display:none}
.nav-toggle[aria-expanded="true"] .ic-close{display:block}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:11px;border-radius:999px;padding:14px 15px 14px 24px;font-weight:600;font-size:15px;line-height:1;white-space:nowrap;transition:transform .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease)}
.btn:active{transform:scale(.98)}
.btn .pip{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-size:13px;transition:transform .5s var(--ease)}
.btn:hover .pip{transform:translateX(3px)}
.btn-solid{background:var(--ac);color:var(--ac-ink)}
.btn-solid:hover{transform:translateY(-1px);filter:brightness(1.08)}
.btn-solid .pip{background:rgba(0,0,0,.16)}
.btn-ghost{border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ac-line);color:var(--ac)}
.btn-ghost .pip{background:rgba(255,255,255,.08)}
.btn-sm{padding:10px 12px 10px 20px;font-size:14px}
.btn-sm .pip{width:22px;height:22px;font-size:12px}
.tlink{display:inline-flex;align-items:center;gap:9px;color:var(--ac);font-weight:600;font-size:15px}
.tlink span{transition:transform .5s var(--ease);display:inline-block}
.tlink:hover span{transform:translateX(4px)}

/* ---------- eyebrow ---------- */
.eb{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ac)}

/* ---------- hero (home) ---------- */
.hero{position:relative;min-height:min(100dvh,1080px);display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url("../assets/generated/loading-dock.jpg") center 30%/cover no-repeat;filter:var(--grade);background-image:image-set(url("../assets/generated/loading-dock.avif") type("image/avif"),url("../assets/generated/loading-dock.webp") type("image/webp"),url("../assets/generated/loading-dock.jpg") type("image/jpeg"))}
.hero-scrim{position:absolute;inset:0;background:
  linear-gradient(78deg,rgba(6,9,14,.95) 10%,rgba(6,9,14,.72) 48%,rgba(6,9,14,.34) 80%),
  linear-gradient(to top,var(--bg) 2%,rgba(6,9,14,.3) 30%,rgba(6,9,14,.5) 100%)}
.hero-in{position:relative;width:100%;display:grid;grid-template-columns:1fr 470px;gap:clamp(36px,5vw,72px);align-items:center;padding-top:142px;padding-bottom:clamp(44px,7vh,80px)}
.hero h1{font-size:clamp(2.3rem,4.6vw,4rem);font-weight:800;letter-spacing:-.035em;line-height:1.03;margin:20px 0 20px}
.hero-copy>p{color:var(--dim);font-size:clamp(1rem,1.25vw,1.14rem);max-width:44ch;font-weight:300}
.hero-copy b{color:var(--ink);font-weight:600}

/* accrual counter */
.accrue{margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.accrue .num{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:clamp(1.9rem,3.4vw,2.9rem);letter-spacing:-.03em;line-height:1;margin-top:14px}
.accrue .num em{font-style:normal;color:var(--ac)}
.accrue .cap{font-size:13.5px;color:var(--faint);margin-top:10px;max-width:38ch}

/* ---------- inner-page head ---------- */
.phead{position:relative;overflow:hidden;display:flex;align-items:flex-end}
.phead-bg--dock{background-image:url("../assets/generated/loading-dock.jpg");background-image:image-set(url("../assets/generated/loading-dock.avif") type("image/avif"),url("../assets/generated/loading-dock.webp") type("image/webp"),url("../assets/generated/loading-dock.jpg") type("image/jpeg"))}
.phead-bg--stack{background-image:url("../assets/generated/pallet-stack.jpg");background-image:image-set(url("../assets/generated/pallet-stack.avif") type("image/avif"),url("../assets/generated/pallet-stack.webp") type("image/webp"),url("../assets/generated/pallet-stack.jpg") type("image/jpeg"))}
.phead-bg--docket{background-image:url("../assets/generated/docket-clipboard.jpg");background-image:image-set(url("../assets/generated/docket-clipboard.avif") type("image/avif"),url("../assets/generated/docket-clipboard.webp") type("image/webp"),url("../assets/generated/docket-clipboard.jpg") type("image/jpeg"))}
.phead-bg{position:absolute;inset:0;background-position:center 35%;background-size:cover;background-repeat:no-repeat;filter:var(--grade)}
.phead-scrim{position:absolute;inset:0;background:
  linear-gradient(80deg,rgba(6,9,14,.95) 12%,rgba(6,9,14,.76) 55%,rgba(6,9,14,.42) 92%),
  linear-gradient(to top,var(--bg) 3%,rgba(6,9,14,.35) 40%,rgba(6,9,14,.6) 100%)}
.phead .wrap{position:relative;width:100%;padding-top:192px;padding-bottom:clamp(60px,9vh,104px)}
.phead h1{font-size:clamp(2.15rem,4.4vw,3.7rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:20px 0 22px;max-width:18ch}
.phead .lede{color:var(--dim);font-size:clamp(1rem,1.25vw,1.14rem);max-width:56ch;font-weight:300}

/* ---------- sections ---------- */
.sec{padding:clamp(88px,11vw,140px) 0}
.sec-sm{padding:clamp(58px,7vw,92px) 0}
.sec h2{font-size:clamp(1.85rem,3.3vw,2.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.08;max-width:24ch}
.sub{color:var(--dim);max-width:56ch;margin-top:18px;font-weight:300;font-size:1.05rem}
.tint{background:linear-gradient(to bottom,var(--bg),var(--bg2) 30%,var(--bg));border-block:1px solid var(--line-soft)}

/* ---------- calculator ---------- */
.calc{background:rgba(10,15,22,.72);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,2.6vw,34px);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 50px 120px -40px rgba(0,8,16,.95),inset 0 1px 0 rgba(255,255,255,.07)}
.calc h2{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin-bottom:20px;color:var(--dim);max-width:none}
.field{display:grid;gap:7px;margin-bottom:16px}
.field label,.field .lbl{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.01em}
.field .hint{font-size:12px;color:var(--faint)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:4px}
.seg button{padding:11px 4px 12px;border-radius:11px;font-size:13.5px;font-weight:600;color:var(--dim);line-height:1.15;transition:background .3s var(--ease),color .3s var(--ease)}
.seg button small{display:block;font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:500;letter-spacing:.06em;opacity:.72;margin-top:3px}
.seg button:hover{color:var(--ink)}
.seg button[aria-checked="true"]{background:var(--ac);color:var(--ac-ink)}
.stp{display:grid;grid-template-columns:40px 1fr 40px;align-items:stretch;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:15px;overflow:hidden;transition:border-color .35s var(--ease)}
.stp:focus-within{border-color:var(--ac)}
.stp input{width:100%;min-width:0;background:none;border:0;color:var(--ink);font:600 16px/1.2 "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;text-align:center;padding:13px 2px;-moz-appearance:textfield;appearance:textfield}
.stp input::-webkit-outer-spin-button,.stp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stp input:focus{outline:none}
.stp .sb{display:grid;place-items:center;color:var(--dim);font-size:19px;line-height:1;user-select:none;transition:background .25s var(--ease),color .25s var(--ease)}
.stp .sb:hover{background:var(--ac-soft);color:var(--ac)}
.stp .sb:active{background:var(--ac);color:var(--ac-ink)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-out{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.calc-out .lab{font-size:13px;color:var(--faint)}
.calc-total{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-weight:500;font-size:clamp(2.4rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1.05;color:var(--ac);margin:8px 0 6px;overflow-wrap:anywhere}
.calc-break{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--dim)}
.calc-cap{font-size:12.5px;color:var(--faint);margin-top:14px}
.calc-out .tlink{margin-top:16px}
/* two-column variant used on the cost page */
.sec .calc{margin-top:44px}
.calc-wide{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.4vw,48px);align-items:start}
.calc-wide .calc-out{margin-top:0;padding-top:0;border-top:0}

/* ---------- exposure table ---------- */
.xt{margin-top:52px;border-top:1px solid var(--line)}
.xt-head,.xt-row{display:grid;grid-template-columns:2.2fr 1.1fr 1.1fr 1.1fr 48px;gap:18px;align-items:center}
.xt-head{padding:14px 18px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.xt-item{border-top:1px solid var(--line-soft)}
.xt-row{width:100%;text-align:left;padding:22px 18px;border-radius:14px;transition:background .45s var(--ease)}
.xt-row:hover,.xt-item.open .xt-row{background:linear-gradient(90deg,var(--ac-soft),transparent 75%)}
.xt-row .nm{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600;letter-spacing:-.015em;transition:color .45s var(--ease)}
.xt-row:hover .nm,.xt-item.open .xt-row .nm{color:var(--ac)}
.xt-row .nm small{display:block;font-size:13px;color:var(--faint);font-weight:300;margin-top:3px}
.xt-row .v{font-family:"IBM Plex Mono",monospace;font-size:15px;color:var(--ink)}
.xt-row .chev{width:30px;height:30px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;justify-self:end;color:var(--dim);transition:transform .5s var(--ease),border-color .5s var(--ease)}
.xt-item.open .chev{transform:rotate(45deg);border-color:var(--ac-line);color:var(--ac)}
.xt-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.xt-item.open .xt-detail{grid-template-rows:1fr}
.xt-detail>div{overflow:hidden}
.xt-detail-in{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,56px);padding:8px 18px 34px;align-items:start}
.mini{width:100%;border-collapse:collapse;font-family:"IBM Plex Mono",monospace;font-size:13.5px}
.mini th{text-align:left;font-weight:500;color:var(--faint);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:0 16px 10px 0}
.mini td{padding:9px 16px 9px 0;color:var(--dim);border-top:1px solid var(--line-soft)}
.mini td:first-child{color:var(--ink)}
.mini tr td:last-child{color:var(--ac)}
.xt-note{color:var(--dim);font-size:14.5px;font-weight:300;max-width:40ch}
.xt-note .tlink{margin-top:18px;font-size:14px}
.fineprint{color:var(--faint);font-size:12.5px;margin-top:20px}

/* ---------- app tabs ---------- */
.tabs{display:flex;gap:10px;margin-top:44px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;scroll-snap-align:start;border:1px solid var(--line);border-radius:999px;padding:11px 22px;font-size:14.5px;font-weight:600;color:var(--dim);transition:color .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease)}
.tab:hover{color:var(--ink);border-color:rgba(255,255,255,.22)}
.tab[aria-selected="true"]{background:var(--ac);border-color:var(--ac);color:var(--ac-ink)}
.panel{margin-top:26px}
.panel[hidden]{display:none}
.shell{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:10px;box-shadow:0 60px 140px -40px rgba(0,10,20,.95),inset 0 1px 0 rgba(255,255,255,.08)}
.shell img{border-radius:12px;width:100%}
figcaption{margin-top:18px;color:var(--dim);font-size:15px;font-weight:300}
figcaption b{color:var(--ink);font-weight:600}

/* ---------- services accordion over photography ---------- */
.svcsec{position:relative;overflow:hidden}
.svc-bg{position:absolute;inset:0;background:url("../assets/generated/pallet-stack.jpg") center/cover no-repeat;filter:var(--grade);background-image:image-set(url("../assets/generated/pallet-stack.avif") type("image/avif"),url("../assets/generated/pallet-stack.webp") type("image/webp"),url("../assets/generated/pallet-stack.jpg") type("image/jpeg"))}
.svc-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,var(--bg) 4%,rgba(6,9,14,.9) 30%,rgba(6,9,14,.93) 70%,var(--bg) 98%)}
.svcsec .wrap{position:relative}
.acc{margin-top:52px;border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;padding:26px 6px}
.acc-h{margin:0}
.acc-btn .t{font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:600;letter-spacing:-.02em;transition:color .45s var(--ease)}
.acc-btn:hover .t,.acc-item.open .t{color:var(--ac)}
.acc-btn .chev{flex:0 0 auto;width:32px;height:32px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;color:var(--dim);transition:transform .5s var(--ease),border-color .5s var(--ease)}
.acc-item.open .chev{transform:rotate(45deg);border-color:var(--ac-line);color:var(--ac)}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.acc-item.open .acc-body{grid-template-rows:1fr}
.acc-body>div{overflow:hidden}
.acc-body p{color:var(--dim);font-weight:300;max-width:64ch;padding:0 6px 26px;font-size:15.5px}

/* ---------- final cta ---------- */
.cta{position:relative;overflow:hidden;border-top:1px solid var(--line)}
.cta-bg{position:absolute;inset:0;background:url("../assets/generated/docket-clipboard.jpg") center 40%/cover no-repeat;filter:var(--grade);background-image:image-set(url("../assets/generated/docket-clipboard.avif") type("image/avif"),url("../assets/generated/docket-clipboard.webp") type("image/webp"),url("../assets/generated/docket-clipboard.jpg") type("image/jpeg"))}
.cta-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,9,14,.95) 20%,rgba(6,9,14,.8) 60%,rgba(6,9,14,.55)),linear-gradient(to bottom,var(--bg) 0,rgba(6,9,14,.3) 30%,var(--bg) 100%)}
.cta .wrap{position:relative;display:grid;grid-template-columns:1.3fr auto;gap:48px;align-items:center}
.cta h2{max-width:none}
.cta .sub{margin-top:14px}
.cta-side{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.cta-note{font-size:13px;color:var(--faint)}

/* ---------- brand slogan ---------- */
.slogan{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ac);line-height:1.8;display:flex;align-items:flex-start;gap:13px}
.slogan::before{content:"";flex:none;width:24px;height:1px;background:var(--ac);margin-top:10px;opacity:.8}
.foot .slogan{margin:-2px 0 18px;max-width:46ch}
.cta .slogan{margin-bottom:22px;font-size:12.5px}
.phead .slogan{margin-top:26px;max-width:50ch}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:64px 0 40px;background:var(--bg)}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px}
.foot img{height:48px;width:auto;margin-bottom:20px}
.foot p{color:var(--faint);font-size:14px;max-width:38ch}
.foot h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-weight:600}
.foot ul{list-style:none;display:grid;gap:10px;font-size:14.5px;color:var(--dim)}
.foot ul a:hover{color:var(--ac)}
.legal{display:flex;justify-content:space-between;gap:20px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line-soft);color:var(--faint);font-size:12.5px;flex-wrap:wrap}

/* ==========================================================================
   Inner-page components
   ========================================================================== */

/* numbered / kicker cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.cards-4{grid-template-columns:repeat(4,1fr)}
.card{background:rgba(255,255,255,.028);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,2.4vw,32px);transition:border-color .5s var(--ease),background .5s var(--ease)}
.card:hover{border-color:var(--ac-line);background:rgba(255,255,255,.045)}
.card .k{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ac)}
.card h3{font-size:1.22rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:16px 0 12px}
.card p{color:var(--dim);font-size:14.5px;font-weight:300}

/* lead statement */
.lead{font-size:clamp(1.4rem,2.8vw,2.2rem);font-weight:600;letter-spacing:-.03em;line-height:1.28;max-width:26ch}
.lead em{font-style:normal;color:var(--ac)}

/* founder body copy + pull quote */
.prose{max-width:64ch}
.prose p{color:var(--dim);font-size:clamp(1rem,1.2vw,1.12rem);font-weight:300;margin-bottom:26px}
.quote{border-left:2px solid var(--ac);padding:6px 0 6px 28px;margin:38px 0;font-size:clamp(1.25rem,2.3vw,1.75rem);font-weight:600;letter-spacing:-.025em;line-height:1.32;color:var(--ink)}
.byline{display:grid;gap:3px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.byline .name{font-weight:600;font-size:1.05rem}
.byline .role{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}

/* facts strip */
.facts{border-block:1px solid var(--line-soft);background:var(--bg2);padding:22px 0}
.facts .wrap{display:flex;flex-wrap:wrap;gap:14px 34px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.facts span{display:flex;align-items:center;gap:11px}
.facts span::before{content:"";width:5px;height:5px;border-radius:999px;background:var(--ac);flex:none}

/* service rows (how we help) */
.svc{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,4.6vw,72px);align-items:center;padding:clamp(48px,6vw,80px) 0;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0;padding-top:0}
.svc-alt{direction:rtl}
.svc-alt>*{direction:ltr}
.svc .no{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ac)}
.svc h3{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:700;letter-spacing:-.028em;line-height:1.12;margin:16px 0 16px}
.svc p{color:var(--dim);font-weight:300;font-size:1.02rem;max-width:50ch}
.svc .btn,.svc .tlink{margin-top:24px}

.stack{display:grid;gap:clamp(26px,3vw,40px)}

/* rule list (used inside service 04) */
.rules{display:grid;gap:2px;margin-top:8px}
.rule{display:flex;gap:20px;align-items:flex-start;padding:22px 20px;background:rgba(255,255,255,.028);border:1px solid var(--line);border-radius:16px}
.rule .n{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ac);letter-spacing:.14em;padding-top:3px}
.rule h4{font-size:1.05rem;font-weight:600;letter-spacing:-.015em;margin-bottom:7px}
.rule p{font-size:14.5px;color:var(--dim);font-weight:300;max-width:none}

/* check list */
.pts{list-style:none;display:grid;gap:18px;margin-top:34px}
.pts li{display:grid;grid-template-columns:22px 1fr;gap:15px;align-items:start;color:var(--dim);font-weight:300;font-size:15.5px}
.pts svg{color:var(--ac);margin-top:2px}

/* rate cards (cost page) */
.rates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.rate{background:rgba(255,255,255,.028);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.2vw,28px)}
.rate h3{font-size:1.15rem;font-weight:600;letter-spacing:-.02em}
.rate .rs{font-size:13px;color:var(--faint);margin:7px 0 20px;font-weight:300}
.rate .mini{font-size:13px}
.rate .mini th{font-size:10.5px;letter-spacing:.07em;padding-right:10px}
.rate .mini td{padding-right:10px}
.rate-wrap{overflow-x:auto}

/* callout note */
.note{display:flex;gap:16px;align-items:flex-start;margin-top:38px;padding:20px 22px;background:var(--ac-soft);border:1px solid var(--ac-line);border-radius:16px}
.note svg{color:var(--ac);flex:none;margin-top:2px}
.note p{font-size:14px;color:var(--dim);font-weight:300;max-width:88ch}

/* ---------- contact ---------- */
.reach{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.reach a{display:grid;gap:6px;padding:clamp(24px,2.6vw,32px);background:rgba(255,255,255,.028);border:1px solid var(--line);border-radius:18px;transition:border-color .5s var(--ease),background .5s var(--ease)}
.reach a:hover{border-color:var(--ac-line);background:rgba(255,255,255,.05)}
.reach .ic{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:var(--ac-soft);color:var(--ac);margin-bottom:10px}
.reach .t{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.reach .v{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere}

.cgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,4vw,64px);align-items:start;margin-top:clamp(40px,5vw,68px)}
.cnote{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--line)}
.cnote:first-child{border-top:0;padding-top:0}
.cnote svg{color:var(--ac);flex:none;margin-top:3px}
.cnote h3{font-size:1rem;font-weight:600;margin-bottom:7px}
.cnote p{font-size:14.5px;color:var(--dim);font-weight:300}

.form{background:rgba(10,15,22,.72);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,38px);box-shadow:0 50px 120px -40px rgba(0,8,16,.95),inset 0 1px 0 rgba(255,255,255,.07)}
.form h2{font-size:1.3rem;font-weight:600;letter-spacing:-.02em;margin-bottom:26px;max-width:none}
.form-grid{display:grid;gap:16px}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ff{display:grid;gap:7px}
.ff label{font-size:13px;font-weight:600;color:var(--ink)}
.ff input,.ff textarea{width:100%;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:14px;color:var(--ink);font:400 15px/1.5 "Hanken Grotesk",sans-serif;padding:13px 15px;transition:border-color .35s var(--ease),background .35s var(--ease)}
.ff textarea{resize:vertical;min-height:140px}
.ff input:focus,.ff textarea:focus{outline:none;border-color:var(--ac);background:rgba(255,255,255,.06)}
.ff input::placeholder,.ff textarea::placeholder{color:var(--faint)}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .cf-turnstile{min-height:65px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.cf-status{font-size:14px;font-weight:500}
.cf-status.is-ok{color:var(--ac)}
.cf-status.is-err{color:#ff8080}
#cf-submit[disabled]{opacity:.55;cursor:progress}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(26px);filter:blur(5px);transition:opacity .95s var(--ease),transform .95s var(--ease),filter .95s var(--ease);transition-delay:var(--d,0s)}
  .rv.in{opacity:1;transform:none;filter:none}
  .hero-bg{animation:kb 16s var(--ease) forwards}
  @keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
  .h-an{opacity:0;transform:translateY(30px);animation:up 1.1s var(--ease) forwards;animation-delay:var(--d,0s)}
  @keyframes up{to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  .xt-detail,.acc-body,.chev,.tab,.btn,.xt-row{transition:none}
  html{scroll-behavior:auto}
}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .hero-in{grid-template-columns:1fr;padding-top:150px}
  .accrue{margin-top:36px}
  .xt-detail-in{grid-template-columns:1fr}
  .calc-wide{grid-template-columns:1fr}
  .cards,.rates{grid-template-columns:1fr 1fr}
  .cards-4{grid-template-columns:1fr 1fr}
  .svc,.cgrid{grid-template-columns:1fr}
  .svc-alt{direction:ltr}
}
@media (max-width:900px){
  .nav-links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;gap:0;
    background:rgba(6,9,14,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);padding:6px clamp(20px,4vw,48px) 22px;
    max-height:calc(100dvh - 82px);overflow-y:auto}
  .nav-links.is-open{display:flex}
  .nav-links a{padding:17px 2px;border-bottom:1px solid var(--line-soft);font-size:16px;font-weight:500}
  .nav-links a:last-child{border-bottom:0}
  .nav-only-m{display:block}
  .nav-only-d{display:none}
  .nav-toggle{display:grid}
}
@media (max-width:820px){
  .nav-in{height:82px}
  .nav .brand img{height:44px}
  .foot img{height:42px}
  .xt-head{display:none}
  .xt-row{grid-template-columns:1fr auto 40px;gap:12px}
  .xt-row .v30,.xt-row .vrate{display:none}
  .cta .wrap{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr;row-gap:44px}
  .foot>div:first-child{grid-column:1/-1}
  .phead .wrap{padding-top:148px}
}
@media (max-width:640px){
  .field-row,.two-up,.cards,.cards-4,.rates,.reach{grid-template-columns:1fr}
  .calc,.form{padding:22px 18px}
  .nav-act .pip{display:none}
  .nav-act .btn-sm{padding:10px 18px}
  .nav-act{gap:14px}
  .quote{padding-left:20px}
}
@media (max-width:520px){
  .slogan{font-size:10.5px;letter-spacing:.1em;gap:10px}
  .slogan::before{width:16px}
  .rule{flex-direction:column;gap:10px}
}
