/* Editorial New (Pangram Pangram) — display serif */
@font-face{font-family:"Editorial New";src:url("fonts/PPEditorialOld-Ultralight.otf") format("opentype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:"Editorial New";src:url("fonts/PPEditorialOld-UltralightItalic.otf") format("opentype");font-weight:200;font-style:italic;font-display:swap}
@font-face{font-family:"Editorial New";src:url("fonts/PPEditorialOld-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Editorial New";src:url("fonts/PPEditorialOld-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Editorial New";src:url("fonts/PPEditorialOld-Ultrabold.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Editorial New";src:url("fonts/PPEditorialOld-UltraboldItalic.otf") format("opentype");font-weight:800;font-style:italic;font-display:swap}

/* Neue Montreal (Pangram Pangram) — workhorse sans */
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-Hairline.otf") format("opentype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-HairlineItalic.otf") format("opentype");font-weight:100;font-style:italic;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-LightItalic.otf") format("opentype");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-Semibold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-SemiboldItalic.otf") format("opentype");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-Extrabold.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:url("fonts/PPNeueMontreal-ExtraboldItalic.otf") format("opentype");font-weight:800;font-style:italic;font-display:swap}

/* Neue Montreal Text — optical text cut, for long-form body copy */
@font-face{font-family:"Neue Montreal Text";src:url("fonts/PPNeueMontrealText-Book.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal Text";src:url("fonts/PPNeueMontrealText-BookItalic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}

:root{
  /* Pacific Natural — base ramp, lightest to darkest */
  --linen:#F5F1E8;
  --canvas:#E9E1D1;
  --sand:#C6B79A;
  --wood:#8A6B4B;
  --walnut:#3F2E20;

  /* tints derived from the ramp (no new hues) */
  --linen-warm:#FBF9F4;   /* paper highlight, hover on linen */
  --canvas-deep:#DCD2BE;  /* pressed canvas, alt band */
  --wood-deep:#6E5339;    /* hover/press on wood */
  --walnut-soft:#5C4732;  /* secondary text */
  --walnut-mute:#8C7A66;  /* captions, meta */

  /* semantic surfaces */
  --surface-page:var(--linen);
  --surface-raised:var(--linen-warm);
  --surface-card:var(--canvas);
  --surface-inverse:var(--walnut);
  --surface-accent:var(--walnut);
  --surface-accent-hover:var(--walnut-soft);
  --accent-warm:var(--wood);
  --surface-sunken:var(--canvas-deep);

  /* semantic text */
  --text-display:var(--walnut);
  --text-body:var(--walnut-soft);
  --text-muted:var(--walnut-mute);
  --text-on-dark:var(--linen);
  --text-on-accent:#FBF9F4;
  --text-link:var(--walnut);
  --text-link-hover:var(--wood);

  /* lines */
  --line-hairline:rgba(63,46,32,.12);
  --line-soft:var(--sand);
  --line-strong:var(--walnut);
  --line-inverse:rgba(245,241,232,.24);

  /* status — desaturated to sit inside the palette */
  --status-positive:#6B7A55;
  --status-caution:#B08442;
  --status-critical:#9A5A43;
  --status-info:var(--walnut);

  /* overlays */
  --overlay-scrim:rgba(63,46,32,.44);
  --overlay-veil:rgba(245,241,232,.72);
}

:root{
  --font-display:"Editorial New","Times New Roman",Georgia,serif;
  --font-sans:"Neue Montreal","Helvetica Neue",Arial,sans-serif;
  --font-text:"Neue Montreal Text","Neue Montreal",Arial,sans-serif;

  --weight-hairline:100;
  --weight-ultralight:200;
  --weight-light:300;
  --weight-regular:400;
  --weight-semibold:600;
  --weight-extrabold:800;

  /* size scale — 1.25-ish, tuned for editorial layouts */
  --text-2xs:11px;
  --text-xs:12px;
  --text-sm:14px;
  --text-base:16px;
  --text-md:18px;
  --text-lg:21px;
  --text-xl:26px;
  --text-2xl:34px;
  --text-3xl:44px;
  --text-4xl:60px;
  --text-5xl:82px;
  --text-6xl:112px;

  --leading-tight:1.02;
  --leading-snug:1.14;
  --leading-normal:1.35;
  --leading-relaxed:1.62;
  --leading-loose:1.8;

  --tracking-tight:-0.02em;
  --tracking-snug:-0.01em;
  --tracking-normal:0;
  --tracking-wide:0.06em;
  --tracking-wider:0.14em;
  --tracking-widest:0.22em;

  --measure-prose:64ch;
  --measure-narrow:44ch;

  /* role composites */
  --type-title-font:var(--font-display);
  --type-title-weight:var(--weight-ultralight);
  --type-quote-font:var(--font-display);
  --type-eyebrow-tracking:var(--tracking-widest);
  --type-body-font:var(--font-text);
  --type-ui-font:var(--font-sans);
}

:root{
  --space-0:0px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --space-10:128px;
  --space-11:180px;

  --gutter-page:24px;
  --gutter-page-lg:64px;
  --container-max:1240px;
  --container-prose:720px;
  --section-y:var(--space-9);
  --section-y-sm:var(--space-7);
  --stack-tight:var(--space-2);
  --stack:var(--space-4);
  --stack-loose:var(--space-6);
}

:root{
  --radius-none:0px;
  --radius-xs:2px;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:14px;
  --radius-pill:999px;
  --radius-card:var(--radius-sm);

  --border-hairline:1px solid var(--line-hairline);
  --border-soft:1px solid var(--line-soft);
  --border-strong:1px solid var(--line-strong);

  /* shadows are near-invisible by design; depth comes from tone, not lift */
  --shadow-none:none;
  --shadow-soft:0 1px 2px rgba(63,46,32,.05);
  --shadow-lift:0 8px 24px -12px rgba(63,46,32,.16);
  --shadow-inset-hairline:inset 0 0 0 1px var(--line-hairline);
  --focus-ring:0 0 0 2px var(--linen),0 0 0 4px var(--walnut);
}

:root{
  --ease-out:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --ease-in-out:cubic-bezier(.4,0,.2,1); /* @kind other */
  --duration-fast:120ms; /* @kind other */
  --duration-base:240ms; /* @kind other */
  --duration-slow:420ms; /* @kind other */
  --duration-reveal:720ms; /* @kind other */
  --transition-ui:color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out);
}
@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms; /* @kind other */
--duration-base:0ms; /* @kind other */
--duration-slow:0ms; /* @kind other */
--duration-reveal:0ms /* @kind other */}}

:root{color-scheme:light}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-text);font-size:var(--text-base);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--text-display);font-family:var(--font-display);font-weight:var(--weight-ultralight);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:0}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--line-soft);transition:var(--transition-ui)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--wood)}
::selection{background:var(--sand);color:var(--walnut)}
.cp-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted)}


/* ---- layout ---- */
*{box-sizing:border-box}
img{max-width:100%}
.wrap{max-width:var(--container-max);margin:0 auto;padding-left:clamp(24px,5vw,64px);padding-right:clamp(24px,5vw,64px)}
/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:400;letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:1;border-radius:var(--radius-xs);border:1px solid;cursor:pointer;text-decoration:none;transition:var(--transition-ui)}
.btn-full{display:flex;width:100%}
.btn-sm{padding:8px 16px;font-size:var(--text-xs)}
.btn-md{padding:13px 26px;font-size:var(--text-sm)}
.btn-lg{padding:17px 34px;font-size:var(--text-base)}
.btn-primary{background:var(--surface-accent);color:var(--text-on-accent);border-color:var(--surface-accent)}
.btn-primary:hover{background:var(--walnut-soft);border-color:var(--walnut-soft);color:var(--text-on-accent)}
.btn-secondary{background:transparent;color:var(--walnut);border-color:var(--line-soft)}
.btn-secondary:hover{background:var(--canvas);border-color:var(--sand);color:var(--walnut)}
.btn-inverse{background:var(--linen);color:var(--walnut);border-color:var(--linen)}
.btn-inverse:hover{background:var(--linen-warm);border-color:var(--linen-warm);color:var(--walnut)}
/* ---- figure ---- */
.fig{margin:0}
.fig-box{border-radius:var(--radius-sm);overflow:hidden;background:var(--canvas-deep);border:var(--border-hairline);display:flex;align-items:center;justify-content:center}
.fig-box img{width:100%;height:100%;object-fit:cover;display:block}
.fig-label{font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--walnut-mute);text-align:center;padding:var(--space-4)}
.fig figcaption{margin-top:var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-muted)}
/* ---- cards ---- */
.card{display:block;border-radius:var(--radius-card);text-decoration:none;border:1px solid transparent;transition:var(--transition-ui),box-shadow var(--duration-base) var(--ease-out)}
.card-canvas{background:var(--surface-card);color:var(--text-body)}
.card-outline{background:transparent;border:var(--border-soft);color:var(--text-body)}
.card-paper{background:var(--surface-raised);border:var(--border-hairline);color:var(--text-body)}
a.card:hover,.card-interactive:hover{box-shadow:var(--shadow-lift)}
a.card-outline:hover{border-color:var(--sand)}
/* ---- section header ---- */
.sh{max-width:none}
.sh-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-4)}
.sh-rule{height:1px;background:var(--line-soft);margin-bottom:var(--space-5)}
.sh h2{margin:0;font-family:var(--font-display);font-weight:200;font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-display)}
.sh p{margin:var(--space-4) 0 0;font-family:var(--font-text);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-body);max-width:var(--measure-prose);text-wrap:pretty}
.on-dark .sh-eyebrow{color:var(--sand)}
.on-dark .sh-rule{background:var(--wood)}
.on-dark .sh h2{color:var(--linen)}
.on-dark .sh p{color:var(--sand)}
/* ---- pullquote ---- */
.pq{margin:0;max-width:var(--measure-narrow)}
.pq p{margin:0;font-family:var(--font-display);font-style:italic;font-weight:200;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-display);text-wrap:pretty}
.pq-lg p{font-size:var(--text-3xl)}
.pq-md p{font-size:var(--text-2xl)}
.pq-sm p{font-size:var(--text-xl)}
.pq-center{text-align:center;margin-inline:auto}
/* ---- forms ---- */
.field{display:block}
.field>span.lbl{display:block;margin-bottom:var(--space-2);font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted)}
.field input,.field textarea,.field select{width:100%;box-sizing:border-box;padding:13px 14px;font-family:var(--font-text);font-size:var(--text-base);color:var(--walnut);background:var(--surface-raised);border-radius:var(--radius-xs);border:1px solid var(--line-soft);outline:none;transition:var(--transition-ui)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--line-strong)}
.field>span.hint{display:block;margin-top:var(--space-2);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--text-muted)}
.chk{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--walnut);cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--walnut);margin:0}
/* ---- chrome ---- */
.site-header{background:var(--surface-page);border-bottom:1px solid var(--line-hairline);position:sticky;top:0;z-index:20}
.site-header .inner{max-width:var(--container-max);margin:0 auto;padding:20px clamp(24px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}
.wordmark{font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:var(--tracking-snug);line-height:1;white-space:nowrap;display:inline-block}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);flex-wrap:wrap}
.nav a{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--walnut);border-bottom:1px solid transparent;padding-bottom:3px;text-decoration:none}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--sand);color:var(--walnut)}
.site-footer{background:var(--surface-inverse);border-top:1px solid var(--line-inverse)}
.site-footer .cols{max-width:var(--container-max);margin:0 auto;padding:var(--space-8) clamp(24px,5vw,64px) var(--space-6);display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-7)}
.site-footer .head{font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--sand);margin-bottom:var(--space-3)}
.site-footer .links{display:flex;flex-direction:column;gap:var(--space-3)}
.site-footer .links a{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--linen);text-decoration:none;border-bottom:1px solid transparent}
.site-footer .links a:hover{border-bottom-color:var(--wood);color:var(--linen)}
.site-footer .legal{border-top:1px solid var(--line-inverse)}
.site-footer .legal .inner{max-width:var(--container-max);margin:0 auto;padding:var(--space-4) clamp(24px,5vw,64px);display:flex;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;font-family:var(--font-sans);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);color:var(--sand)}
.site-footer .legal a{color:var(--sand);text-decoration:none;border-bottom:0}
.site-footer .legal a:hover{color:var(--linen)}
/* ---- sections ---- */
section{position:relative}
.band-linen{background:var(--surface-page)}
.band-canvas{background:var(--surface-card)}
.band-walnut{background:var(--surface-inverse)}
.pad-lg{padding-top:clamp(40px,7vw,96px);padding-bottom:clamp(40px,7vw,96px)}
.pad-md{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,64px);align-items:center}
@media print{.site-header{position:static}}

iframe{max-width:100%}
.card{display:flex;flex-direction:column}
.grid-stretch{align-items:stretch}
/* nav button keeps button colors */
.nav a.btn-primary{color:var(--text-on-accent);border-bottom:1px solid var(--surface-accent);padding-bottom:8px}
.nav a.btn-primary:hover{color:var(--text-on-accent);border-bottom-color:var(--walnut-soft)}
/* ---- sign-up band ---- */
.signup-band{display:grid;grid-template-columns:1fr;gap:var(--space-6)}
@media (min-width:1040px){.signup-band{grid-template-columns:minmax(240px,0.85fr) minmax(560px,1.5fr);gap:clamp(32px,4vw,64px);align-items:start}}
/* ---- Flodesk inline forms: single row ---- */
[id^="fd-form-"] [class*="__container"]{max-width:none !important;padding:0 !important}
[id^="fd-form-"] [class*="__title"],[id^="fd-form-"] [class*="__subtitle"]{display:none !important}
[id^="fd-form-"] [class*="__form"]{text-align:left !important}
[id^="fd-form-"] .fd-form-content{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:flex-start !important;gap:10px !important}
[id^="fd-form-"] [class*="__fields"]{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;flex:1 1 300px !important;gap:10px !important;margin:0 !important}
[id^="fd-form-"] .fd-form-group{flex:1 1 132px !important;margin:0 !important;min-width:0 !important}
[id^="fd-form-"] [class*="__footer"]{flex:0 0 auto !important;margin:0 !important;padding:0 !important}
[id^="fd-form-"] [class*="__button"]{white-space:nowrap !important}
[id^="fd-form-"] .fd-form-control{width:100% !important}
/* ---- hover states ---- */
.hv1:hover{border-bottom-color: var(--sand)}
.hv2:hover{border-bottom-color: var(--sand)}
.hv3:hover{border-bottom-color: var(--sand)}
.hv4:hover{border-bottom-color: var(--sand)}
.hv5:hover{border-bottom-color: var(--sand)}
.hv6:hover{border-bottom-color: var(--sand)}
.hv7:hover{border-bottom-color: var(--wood)}
.hv8:hover{border-bottom-color: var(--wood)}
.hv9:hover{border-bottom-color: var(--wood)}
.hv10:hover{border-bottom-color: var(--wood)}
.hv11:hover{border-bottom-color: var(--wood)}
.hv12:hover{border-bottom-color: var(--wood)}
.hv13:hover{border-bottom-color: var(--wood)}
.hv14:hover{border-bottom-color: var(--wood)}
.hv15:hover{border-bottom-color: var(--wood)}
.hv16:hover{border-bottom-color: var(--wood)}
.hv17:hover{color: var(--linen)}
.hv18:hover{color: var(--linen)}
.hv19:hover{color: var(--linen)}
