/* KynicSourceDepot — shared stylesheet. No framework, no runtime. */
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-latin-var.woff2) format("woff2");font-weight:400 800;font-stretch:85% 100%;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jetbrainsmono-500-latin.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --cream:#F3F1EC;--paper:#FBFAF7;--ink:#171614;--ink-2:#3E3B35;--muted:#5C584F;
  --line:#D9D5CC;--line-strong:#B9B3A7;--accent:#A9461A;--accent-ink:#8E3A15;--accent-on-dark:#F08A4B;
  --dark-text:#C9C4B9;--dark-line:#3A3833;
  --wrap:1360px;--gutter:clamp(20px,3vw,32px);--header-h:64px;
  --sans:"Archivo",Helvetica,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.dark :focus-visible,.band :focus-visible{outline-color:var(--accent-on-dark)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--cream);padding:12px 16px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px;color:var(--cream)}

/* layout */
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(64px,9vw,112px)}
.section--tight{padding-block:clamp(40px,6vw,72px)}
.stack{display:flex;flex-direction:column;gap:var(--gap,20px)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(32px,5vw,64px);align-items:start}
.split--center{align-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--min,300px)),1fr));gap:var(--gap,24px)}
.rule-top{border-top:1px solid var(--ink)}
.dark{background:var(--ink);color:var(--cream)}
.dark a:hover{color:var(--accent-on-dark)}
.band{background:var(--accent);color:#fff}

/* type */
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.dark .eyebrow{color:var(--accent-on-dark)}
.band .eyebrow{color:#fff}
.display{font-size:clamp(40px,7vw,104px);line-height:.94;font-weight:800;letter-spacing:-.035em;font-stretch:85%;text-wrap:balance;max-width:16ch}
.display--wide{max-width:22ch}
.h2{font-size:clamp(32px,4.5vw,60px);line-height:.98;font-weight:800;letter-spacing:-.03em;font-stretch:88%;text-wrap:balance}
.h3{font-size:clamp(22px,2.2vw,28px);line-height:1.1;font-weight:700;letter-spacing:-.015em}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--ink-2);max-width:60ch;text-wrap:pretty}
.dark .lead{color:var(--dark-text)}
.band .lead{color:#fff}
.muted{color:var(--muted)}
.dark .muted{color:var(--dark-text)}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:.04em}
.prose{max-width:72ch}
.prose h2{font-size:clamp(24px,2.6vw,32px);line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:48px 0 12px}
.prose h3{font-size:20px;margin:28px 0 8px}
.prose p,.prose ul,.prose ol{margin:0 0 16px;color:var(--ink-2)}
.prose li{margin-bottom:6px}

/* placeholders: visible on purpose so nothing ships unnoticed */
.ph{background:#FFF1C2;color:#5A4300;padding:0 .25em;border-radius:2px;font-family:var(--mono);font-size:.85em;letter-spacing:0}
.dark .ph,.band .ph{background:#4A3B10;color:#FFE08A}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;font:600 16px/1.2 var(--sans);text-decoration:none;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--ink);color:#fff}
.btn--dark{background:var(--ink);color:var(--cream)}
.btn--dark:hover{background:var(--accent);color:#fff}
.btn--ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:var(--cream)}
.dark .btn--ghost,.band .btn--ghost{border-color:currentColor;color:inherit}
.dark .btn--ghost:hover,.band .btn--ghost:hover{background:var(--cream);color:var(--ink)}
.band .btn--dark:hover{background:var(--cream);color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(243,241,236,.95);border-bottom:1px solid var(--line)}
@supports (backdrop-filter:blur(8px)){.site-header{background:rgba(243,241,236,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}
.site-header__inner{display:flex;align-items:center;gap:24px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink);flex-shrink:0}
.brand:hover{color:var(--ink)}
.brand__word{color:var(--ink)}
.brand__word span{color:var(--accent)}
.brand svg{width:28px;height:28px}
.nav{display:flex;align-items:center;gap:22px;flex:1;min-width:0}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex:1}
.nav a{font-size:15px;font-weight:500;text-decoration:none;padding:6px 0;position:relative;white-space:nowrap}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent)}
.nav .btn{min-height:44px;padding:10px 18px;font-size:14px;white-space:nowrap}
.menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--ink);background:transparent;border-radius:2px;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
.menu-toggle svg{width:22px;height:22px}
.menu-toggle .i-close{display:none}
.menu-toggle[aria-expanded="true"] .i-open{display:none}
.menu-toggle[aria-expanded="true"] .i-close{display:block}
@media (max-width:1023px){
  .js .menu-toggle{display:inline-flex}
  .nav{flex-wrap:wrap}
  .js .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);padding:8px var(--gutter) 24px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - var(--header-h));overflow:auto}
  .js .nav.is-open{display:flex}
  .js .nav ul{flex-direction:column;gap:0}
  .js .nav ul a{display:flex;min-height:54px;align-items:center;border-bottom:1px solid var(--line);font-size:20px;font-weight:600}
  .js .nav a[aria-current="page"]::after{display:none}
  .js .nav a[aria-current="page"]{color:var(--accent)}
  .js .nav .btn{margin-top:16px;min-height:52px;font-size:16px}
  html:not(.js) .site-header__inner{flex-wrap:wrap;padding-block:10px}
  html:not(.js) .nav ul{flex-wrap:wrap;gap:8px 18px}
}

/* hero */
.hero{padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px)}
.hero__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(32px,5vw,56px);align-items:end}
.hero__art{position:relative;aspect-ratio:4/4.4;max-height:620px;width:100%;overflow:hidden;border:1px solid var(--line)}
.hatch{background:repeating-linear-gradient(135deg,#E8E4DB 0 10px,#E0DBD0 10px 20px)}
.dark .hatch,.hatch--dark{background:repeating-linear-gradient(135deg,#24221F 0 10px,#1E1C1A 10px 20px)}
.hero__art svg{position:absolute;inset:0;width:100%;height:100%}
.tag{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--ink);padding:4px 8px}
.page-hero{padding-block:clamp(48px,8vw,96px) clamp(32px,5vw,56px)}

/* value strip */
.strip{border-block:1px solid var(--line)}
.strip ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.strip li{padding:22px 24px 22px 0;display:flex;flex-direction:column;gap:6px}
.strip li+li{padding-left:24px;border-left:1px solid var(--line)}
@media (max-width:600px){.strip li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.strip strong{font-size:17px;font-weight:600}

/* category tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tile{background:var(--cream);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink)}
a.tile:hover{background:var(--paper);color:var(--ink)}
.tile__icon{width:56px;height:56px;color:var(--accent)}
.tile h3{font-size:22px;font-weight:700;letter-spacing:-.01em}
.tile p{font-size:15px;line-height:1.5;color:var(--muted)}
.tile__code{font-family:var(--mono);font-size:12px;color:var(--muted)}
.tile__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px}
.step{border-top:2px solid currentColor;padding-top:20px;display:flex;flex-direction:column;gap:12px}
.step__n{font-family:var(--mono);font-size:13px;color:var(--accent)}
.dark .step__n{color:var(--accent-on-dark)}
.step h3{font-size:22px;font-weight:700}
.step p{font-size:15px;color:var(--muted)}
.dark .step p{color:var(--dark-text)}
.step-row{border-top:1px solid var(--ink);padding-block:clamp(32px,5vw,56px);display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px)}
.step-row__n{font-size:clamp(56px,8vw,104px);line-height:.85;font-weight:800;letter-spacing:-.04em;font-stretch:85%;color:var(--accent)}
@media (max-width:860px){.step-row{grid-template-columns:1fr}}

/* lists */
.plus-list li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.plus-list li::before{content:"+";font-family:var(--mono);color:var(--accent)}
.dark .plus-list li{border-color:var(--dark-line)}
.dark .plus-list li::before{color:var(--accent-on-dark)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line-strong);padding:7px 12px;font-size:14px;border-radius:2px;text-decoration:none;background:transparent}
a.chip:hover{border-color:var(--ink);color:var(--ink);background:var(--paper)}
.toc{position:sticky;top:var(--header-h);z-index:10;background:var(--cream);border-block:1px solid var(--line)}
.toc ul{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:thin;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.toc a{white-space:nowrap}

/* rows (packages/segments) */
.row-link{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none}
.row-link__n{font-family:var(--mono);font-size:13px;color:var(--muted);width:64px}
.row-link__name{font-size:clamp(22px,2.4vw,32px);font-weight:700;letter-spacing:-.02em;flex:1 1 260px}
.row-link__desc{font-size:15px;color:var(--muted);flex:2 1 320px}
.block{border-top:1px solid var(--ink);padding-block:clamp(40px,6vw,72px)}
.block .split>div{display:flex;flex-direction:column;gap:20px}
.panel{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,3vw,32px)}
.dl-row{display:flex;gap:16px;padding:14px 0;border-block:1px solid var(--line);font-size:15px}
.dl-row dt{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:2px;flex-shrink:0;min-width:84px}

/* category sections (products) */
.cat{border-top:1px solid var(--ink);padding-block:clamp(40px,6vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,56px)}
@media (max-width:860px){.cat{grid-template-columns:1fr}}
.cat__head{display:flex;flex-direction:column;gap:16px}
.cat__icon{width:72px;height:72px;color:var(--accent)}
.cat__lines{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:0 24px}

/* FAQ */
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:19px;font-weight:600;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--accent);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details>div{padding:0 48px 24px 0;color:var(--ink-2)}
.faq details>div p+p{margin-top:12px}

/* forms */
.form{display:flex;flex-direction:column;gap:20px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.fieldset legend{font-weight:600;font-size:15px}
.req{color:var(--accent);margin-left:2px}
.hint{font-size:14px;color:var(--muted)}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #8E887C;border-radius:2px;padding:12px 14px;min-height:50px;width:100%}
textarea{min-height:120px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--ink)}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#B3261E;border-width:2px}
.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:8px}
.check{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line-strong);background:#fff;padding:8px 12px;border-radius:2px;cursor:pointer;font-size:15px}
.check input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--accent);flex-shrink:0}
.check:has(input:checked){border-color:var(--accent);background:#FBEFE8}
.check:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
input[type=file]{padding:10px;background:var(--paper);border-style:dashed;cursor:pointer}
input[type=file]::file-selector-button{font:600 15px var(--sans);background:var(--ink);color:var(--cream);border:0;border-radius:2px;padding:10px 14px;margin-right:12px;cursor:pointer}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{padding:16px;border-left:4px solid var(--accent);background:#fff;font-weight:500}
.form-status[hidden]{display:none}
.form-status--error{border-color:#B3261E;color:#8C1D18}
.form-status--ok{border-color:#2E6B3A;color:#1F4D29}
.field-error{color:#8C1D18;font-size:14px;font-weight:500}
.turnstile-slot{min-height:65px}

/* contact cards */
.contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.contact-list>div{background:var(--cream);padding:24px;display:flex;flex-direction:column;gap:8px}

/* footer */
.site-footer{background:var(--ink);color:var(--dark-text)}
.site-footer a{color:var(--dark-text);text-decoration:none}
.site-footer a:hover{color:var(--accent-on-dark)}
.footer-grid{display:flex;flex-wrap:wrap;gap:40px;padding-block:64px 32px}
.footer-grid>div{flex:1 1 160px;display:flex;flex-direction:column;gap:10px;font-size:15px}
.footer-grid>div:first-child{flex:2 1 300px}
.footer-brand{font-weight:800;font-size:28px;color:var(--cream);letter-spacing:-.01em}
.footer-brand span{color:var(--accent-on-dark)}
.footer-head{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-on-dark)}
.footer-grid ul{display:flex;flex-direction:column;gap:8px}
.footer-grid li a{display:inline-block;padding:2px 0}
.footer-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--dark-line);padding-block:24px 32px;font-family:var(--mono);font-size:12px}

/* mobile action bar */
.action-bar{display:none}
@media (max-width:767px){
  .action-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);border-top:1px solid var(--dark-line);padding:8px;gap:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .action-bar a{min-height:48px;display:flex;align-items:center;justify-content:center;font-weight:600;text-decoration:none;border-radius:2px;font-size:16px}
  .action-bar .call{color:var(--cream);border:1px solid #6B675E}
  .action-bar .quote{background:var(--accent);color:#fff}
  body{padding-bottom:72px}
}

/* 404 */
.notfound{min-height:60vh;display:flex;align-items:center}
@media print{.site-header,.action-bar,.site-footer{display:none}}
.footer-about{max-width:380px}
.break{word-break:break-all}
.site-footer .footer-cta{color:var(--accent-on-dark)}
.brand svg rect:last-child{fill:#E0703A}
/* utilities (replace former inline styles) */
.btn,.link-arrow{align-self:flex-start}
.split>.link-arrow{justify-self:start}
.gap-0{--gap:0}.gap-8{--gap:8px}.gap-24{--gap:24px}.gap-28{--gap:28px}.gap-40{--gap:40px}.gap-48{--gap:48px}
.band{padding:clamp(28px,5vw,64px)}
.block--sm{padding-block:24px}
.pb-section{padding-bottom:clamp(56px,8vw,96px)}
.pt-0{padding-top:0}
.mb-32{margin-bottom:32px}.mb-40{margin-bottom:40px}.mt-32{margin-top:32px}
.mt-section{margin-top:clamp(56px,8vw,96px)}
.prose--wide{max-width:900px}
.grid--4{--min:260px;--gap:32px}
