/* CAVRYNT — FIELD EDITION
   Editorial restraint. Useful hierarchy. Motion follows intent, not decoration.
   Keeps existing product functions and shared site contracts intact. */
:root{--cv-paper:#fafaf8;--cv-white:#fff;--cv-ink:#192927;--cv-deep:#192927;--cv-linen:#f0f1ed;--cv-secondary:#52625d;--cv-rule:#c9d1cb;--cv-red:#a24931;--cv-type-body:"Source Sans 3","Segoe UI",sans-serif;--cv-type-display:"Fraunces",Georgia,serif}
html{scroll-padding-top:90px}
body{background:#fafaf8!important;line-height:1.58;overflow-wrap:break-word}
.cv-masthead{background:#fafaf8;position:sticky;top:0;z-index:30;box-shadow:0 1px 0 #dce0dc}
.cv-masthead__inner{max-width:1300px;min-height:74px}
.cv-masthead__brand{letter-spacing:-.085em;font-size:1.55rem}
.cv-masthead__nav{gap:5px 28px;font-size:.87rem}
.cv-masthead__nav a{transition:color .18s ease,border-color .18s ease}
.cv-masthead__nav .cv-masthead__buy{padding:11px 15px;border:1px solid var(--cv-ink);background:var(--cv-ink);color:#fafaf8;min-height:42px}
.cv-masthead__nav .cv-masthead__buy:hover{background:transparent;color:var(--cv-ink);border-color:var(--cv-ink)}
.cv-source-rail{max-width:1300px;padding-top:0;padding-bottom:8px;color:#586760;letter-spacing:.02em;font-size:.63rem}
.cv-context{max-width:1300px}
.cv-context__title{font-weight:540;font-size:clamp(1.65rem,3.2vw,2.8rem)}
.cv-context__aside{max-width:45ch}
.cv-facts{max-width:1300px}
.cv-foot{margin-top:80px;background:#172824}
.cv-foot__inner{max-width:1300px;padding-top:68px;padding-bottom:45px}
.cv-foot h2{letter-spacing:-.055em}
.cv-foot__fine{max-width:1300px}
body:has(.cv-masthead) :where(.hero h1,.workspace-intro h1){font-family:var(--cv-type-display);font-weight:500;letter-spacing:-.062em;line-height:.99;max-width:15ch}
body:has(.cv-masthead) .hero h1 em,body:has(.cv-masthead) .hero h1 i{font-weight:420}
:where(.cv-reframe,.cv-note,.cv-field-note){font-family:var(--cv-type-body)}
.cv-reframe{max-width:1300px;margin:clamp(22px,4vw,52px) auto 0;padding:30px 24px;border-top:1px solid var(--cv-ink);border-bottom:1px solid var(--cv-rule);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);column-gap:clamp(20px,5vw,92px);row-gap:12px;align-items:start}
.cv-reframe__kicker{display:block;font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;font-weight:650;color:#6b756c}
.cv-reframe__title{font-family:var(--cv-type-display);font-size:clamp(1.65rem,3.1vw,3.25rem);font-weight:530;letter-spacing:-.055em;line-height:1.12;margin:0}
.cv-reframe__copy{font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.5;color:var(--cv-ink);max-width:62ch;margin:0 0 12px}
.cv-reframe__actions{display:flex;gap:12px 23px;flex-wrap:wrap;align-items:center}
.cv-reframe__actions a{font-size:.83rem;font-weight:750;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;transition:border-color .18s ease,color .18s ease}
.cv-reframe__actions a:first-child{color:#fff;background:var(--cv-ink);border:1px solid var(--cv-ink);padding:11px 17px}
.cv-reframe__actions a:first-child:hover{background:#315246;color:#fff}
.cv-reframe__actions a:not(:first-child):hover{color:var(--cv-red)}
.cv-proof-note{font-size:.8rem;color:#586760;margin:13px 0 0;max-width:70ch}
.cv-masthead,.cv-foot,.cv-reframe{font-synthesis:none}
:where(.btn,.primary,button[type=submit],.supplier-guide__primary){transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}
:where(.btn,.primary,button[type=submit],.supplier-guide__primary):hover{transform:translateY(-1px)}
:where(.comparison,.sample,.territory-brief,.supplier-guide__chapter) a{transition:color .16s ease}
:where(.eyebrow,.cv-context__label,.v5-kicker){letter-spacing:.045em}
:where(main) :where(h2,h3){text-wrap:balance}
:where(.hero-aside,.data-panel,.callout){border-radius:0!important;box-shadow:none!important}
.cv-foot a:focus-visible,.cv-masthead a:focus-visible,.cv-reframe a:focus-visible{outline:3px solid #b56549;outline-offset:4px}
@media(max-width:800px){.cv-masthead{position:relative}.cv-reframe{grid-template-columns:1fr;padding:25px 18px}.cv-reframe__title{max-width:22ch}}
@media(max-width:570px){.cv-reframe__actions{align-items:stretch}.cv-reframe__actions a{min-height:44px;display:inline-flex;align-items:center}.cv-masthead__nav .cv-masthead__buy{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.cv-masthead__nav a,.cv-reframe__actions a,:where(.btn,.primary,button[type=submit],.supplier-guide__primary){transition:none!important;transform:none!important}}

/* Home first impression: one complete viewport beneath the masthead.
   Scope to the landing hero so product pages and tools retain natural height. */
@media(min-width:861px){
  body:has(.cv-masthead) #main>.cv-underground-hero{
    box-sizing:border-box;
    min-height:calc(100vh - 116px - clamp(18px,3vw,38px));
    min-height:calc(100svh - 116px - clamp(18px,3vw,38px));
    align-items:center;
    padding-block:clamp(56px,7vh,108px);
  }
}
@media(max-width:860px){
  body:has(.cv-masthead) #main>.cv-underground-hero{
    min-height:auto;
    padding-block:clamp(40px,6vw,72px);
  }
}


/* INK AND SPACE REFINEMENT
   Strong text contrast on light surfaces, restrained rules, readable display type.
   Preserve inverse colors inside dark checkout panels and the footer. */
:root{
  --cv-secondary:#192927;
  --dim:#192927;
  --cv-muted:#192927;
}
body:has(.cv-masthead) main :where(.muted,.meta,.helper,.small,.cv-no-data,.cv-context__aside,.cv-proof-note,.cv-reframe__kicker,.cv-project-brief__fine){
  color:var(--cv-ink);
}
.cv-source-rail,.cv-facts,.cv-context__aside,.cv-reframe__kicker,.cv-proof-note{
  color:var(--cv-ink);
}
body:has(.cv-masthead) #main>.cv-underground-hero h1{
  letter-spacing:-.018em;
  word-spacing:.105em;
  line-height:1.065;
  max-width:16ch;
}
body:has(.cv-masthead) #main>.cv-underground-hero h1 i{
  margin-inline-end:.09em;
}
body:has(.cv-masthead) #main>.cv-underground-hero .cv-underground-index{
  border:0;
  background:none;
  box-shadow:none;
  gap:clamp(16px,2.8vw,34px);
  padding-block:0;
  letter-spacing:.025em;
}
body:has(.cv-masthead) #main>.cv-underground-hero .cv-underground-index::before,
body:has(.cv-masthead) #main>.cv-underground-hero .cv-underground-index::after,
body:has(.cv-masthead) #main>.cv-underground-hero .cv-underground-index__mark{
  display:none;
}
body:has(.cv-masthead) #main>.cv-underground-hero .hero-aside{
  border-top-width:2px;
}
body:has(.cv-masthead) #main>.cv-underground-hero .aside-grid{
  border-top:1px solid var(--cv-rule);
}
body:has(.cv-masthead) #main>.cv-underground-hero .aside-grid>div{
  border-bottom:0;
  padding-block:13px;
}
body:has(.cv-masthead) #main>.cv-underground-hero .aside-grid>div+div{
  padding-top:5px;
}
@media(max-width:860px){
  body:has(.cv-masthead) #main>.cv-underground-hero h1{
    letter-spacing:-.022em;
    word-spacing:.07em;
    line-height:1.09;
  }
}
/* Inverse surfaces keep their own accessible light text. */
body:has(.cv-masthead) main .pricepanel :where(.meta,.muted,.helper){
  color:#f4f5f1;
}
