/* Fruxd static site. No JavaScript, no external requests. Fonts are self-hosted (SIL OFL 1.1, see /fonts). */
@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/bricolage-grotesque-var-subset.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("/fonts/inter-var-subset.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --lagoon:#12343B; --mangrove:#2F6F62; --shell:#F6F1E9; --coquina:#E3D5BC; --orange:#E2622F; --ink:#1C2326;
  --ink-soft:#3F494C; --line:#E3D5BC; --white:#fff; --danger:#7A1410; --danger-bg:#FBE9E3;
  --head:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --focus:var(--lagoon);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--shell);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,figure,blockquote,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
img{display:block;max-width:100%}
a{color:inherit}
:target{scroll-margin-top:84px}
section[id]{scroll-margin-top:68px}

/* accessibility helpers */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--lagoon);color:var(--shell);padding:12px 18px;border-radius:10px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.on-dark{--focus:var(--shell)}
.form-card{--focus:var(--lagoon)}

.wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--shell);border-bottom:1px solid rgba(18,52,59,.08)}
.nav{max-width:1200px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}
.wordmark{font-family:var(--head);font-weight:700;font-size:28px;line-height:1.1;letter-spacing:-.02em;color:var(--lagoon);text-decoration:none}
.nav-links{display:flex;gap:28px}
.nav-links a{font-size:16px;font-weight:500;line-height:1.3;text-decoration:none;color:var(--ink)}
.nav-links a:hover{color:var(--mangrove);text-decoration:underline}

/* buttons and links */
.btn{display:inline-block;background:var(--orange);color:var(--ink);font-family:var(--body);font-weight:700;font-size:17px;line-height:1.2;letter-spacing:-.02em;text-align:center;text-decoration:none;padding:15px 26px;border-radius:12px;border:0;cursor:pointer}
.btn:hover{background:#d4571f}
.btn-small{font-size:16px;padding:10px 18px;border-radius:10px}
.btn-block{display:block;width:100%;padding:17px 24px}
.link-strong{font-size:16px;font-weight:600;color:var(--mangrove);text-decoration:none;line-height:1.4}
.link-strong:hover{text-decoration:underline}
.link-strong-light{font-size:16px;font-weight:600;color:var(--shell);text-decoration:underline;line-height:1.4}

/* type */
h1,h2,h3{font-family:var(--head);color:var(--lagoon);font-weight:700}
h1{font-size:56px;line-height:1.05;letter-spacing:-.02em}
h2{font-size:40px;line-height:1.1;letter-spacing:-.015em}
h3{font-size:24px;line-height:1.2;letter-spacing:-.01em;font-weight:600}
.eyebrow,.label{font-family:var(--body);font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--mangrove)}
.bg-coquina .eyebrow{color:#245449}
.lead{font-size:20px;line-height:1.55}
.micro,.source,.form-note,.small-print{font-size:15px;line-height:1.5}

/* hero */
.hero{background:var(--shell);padding:72px 0 88px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.hero-text{display:flex;flex-direction:column;gap:24px}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.hero-art{height:460px;border-radius:28px;overflow:hidden;background:var(--lagoon)}
.hero-art img{width:100%;height:100%;object-fit:cover}

/* sections */
.section{padding:88px 0}
.section-80{padding:80px 0}
.bg-white{background:var(--white)}.bg-shell{background:var(--shell)}.bg-coquina{background:var(--coquina)}.bg-lagoon{background:var(--lagoon)}
.heading{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}
.grid{display:grid}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gap-24{gap:24px}.gap-20{gap:20px}
.card{border:1px solid var(--line);border-radius:18px;background:var(--shell)}
.service{padding:28px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.chip{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--lagoon);color:var(--shell);flex:none}
.chip-64{width:64px;height:64px}.chip-64 .icon{width:32px;height:32px}
.chip-72{width:72px;height:72px}.chip-72 .icon{width:36px;height:36px}
.icon{display:block;fill:currentColor}
.card-text{font-size:18px;line-height:1.6;color:var(--ink)}
.note-strong{margin-top:40px;font-size:16px;font-weight:600;line-height:1.4}

.steps .step{background:var(--white);padding:28px;display:flex;flex-direction:column;gap:16px}
.step-top{display:flex;align-items:center;gap:14px}
.numeral{font-family:var(--head);font-weight:700;font-size:72px;line-height:1;letter-spacing:-.03em;color:var(--mangrove)}
.numeral.big{font-size:72px}

.case{padding:26px;display:flex;flex-direction:column;gap:12px}
.case-lead{font-size:16px;font-weight:600;line-height:1.4;color:var(--mangrove)}
.quotes{margin-top:20px}
.quote{padding:26px;display:flex;flex-direction:column;gap:14px;justify-content:flex-start}
.quote blockquote p{font-size:18px;line-height:1.6;color:var(--ink)}
.quote figcaption{font-size:16px;font-weight:600;line-height:1.4;color:var(--lagoon)}
.source{margin-top:24px;color:var(--ink)}

.bio{background:var(--white);border:2px solid var(--lagoon);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.bio-label{font-size:16px;font-weight:600;line-height:1.4;color:var(--lagoon)}

.faq{background:var(--white);padding:24px 26px;display:flex;flex-direction:column;gap:10px}
.faq p{font-size:18px;line-height:1.6}

/* CTA + form */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.cta-text{display:flex;flex-direction:column;gap:20px}
.cta-text h2{color:var(--shell)}
.cta-lead{font-size:20px;line-height:1.55;color:var(--shell)}
.cta-sub{font-size:18px;line-height:1.6;color:var(--coquina)}
.form-card{background:var(--white);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:22px;color:var(--ink)}
.form-card form{display:flex;flex-direction:column;gap:22px;position:relative}
fieldset.interest{border:0;min-width:0;display:flex;flex-direction:column;gap:12px}
legend{font-size:16px;font-weight:600;line-height:1.4;color:var(--lagoon);padding:0;margin-bottom:12px}
.option{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:18px;line-height:1.6}
.option:hover{background:var(--shell)}
input[type=radio],input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:none;margin:0;background:var(--white);border:2px solid var(--lagoon);cursor:pointer;display:grid;place-content:center}
input[type=radio]{width:24px;height:24px;border-radius:50%}
input[type=radio]::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--orange);transform:scale(0)}
input[type=radio]:checked::before{transform:scale(1)}
input[type=radio]:checked{border-color:var(--orange)}
input[type=checkbox]{width:26px;height:26px;border-radius:6px}
input[type=checkbox]::before{content:"";width:12px;height:7px;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(-45deg) scale(0);margin-top:-3px}
input[type=checkbox]:checked{background:var(--orange);border-color:var(--orange)}
input[type=checkbox]:checked::before{transform:rotate(-45deg) scale(1)}
.option:has(input:checked){border-color:var(--orange)}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:16px;font-weight:600;line-height:1.4;color:var(--lagoon)}
.hint{font-size:15px;line-height:1.5;color:var(--ink-soft)}
.field input{width:100%;font-family:var(--body);font-size:16px;line-height:1.4;color:var(--ink);background:var(--white);border:2px solid var(--lagoon);border-radius:10px;padding:12px;letter-spacing:-.01em}
.field input::placeholder{color:#6B7478;opacity:1}
.consent{display:flex;gap:12px;align-items:flex-start}
.consent input{margin-top:2px}
.consent label{font-size:15px;line-height:1.5;color:var(--ink)}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-note{color:var(--ink)}
.form-draft{font-size:15px;line-height:1.5;color:var(--danger)}

/* footer */
.site-footer{background:var(--lagoon);color:var(--shell);padding:56px 0 40px}
.site-footer .wrap{display:flex;flex-direction:column;gap:32px}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}
.footer-brand{display:flex;flex-direction:column;gap:10px}
.footer-mark{font-family:var(--head);font-weight:700;font-size:28px;line-height:1.1;letter-spacing:-.02em;color:var(--shell)}
.footer-tag{font-size:16px;font-weight:600;line-height:1.4;color:var(--shell)}
.footer-small{font-size:15px;line-height:1.5;color:var(--coquina)}
.footer-details,.footer-links{font-size:15px;line-height:1.5;color:var(--shell);display:flex;flex-direction:column;gap:6px}
.site-footer a{color:var(--shell);text-decoration:underline}
.footer-rule{border:0;border-top:1px solid var(--mangrove);margin:0;width:100%}
.site-footer .footer-small+.footer-small{margin-top:-8px}
.site-footer .footer-rule+.footer-small{margin-top:0}

/* legal + thanks */
.legal{padding:64px 32px 88px}
.legal-inner{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.draft-banner{background:var(--danger-bg);border:1.5px solid var(--danger);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.draft-banner p{font-size:15px;line-height:1.5;color:var(--danger)}
.draft-banner .draft-title{font-size:16px;font-weight:600;line-height:1.4}
.legal-intro{font-size:18px;line-height:1.6}
.legal-sec{display:flex;flex-direction:column;gap:8px}
.legal-sec p{font-size:18px;line-height:1.6}
.legal-sec h2{font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.thanks-steps{display:flex;flex-direction:column;gap:16px}
.thanks-steps li{display:flex;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.thanks-steps .num{flex:none;width:40px;height:40px;border-radius:50%;background:var(--lagoon);color:var(--shell);font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center}
.thanks-steps p{font-size:18px;line-height:1.6}
.variants{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.variant{background:var(--white);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.variant h2{font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.variant p{font-size:18px;line-height:1.6}

/* tablet */
@media (max-width:1099px){
  .nav{padding:14px 28px}
  .wrap{padding:0 28px}
  .hero{padding:48px 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-art{width:100%;max-width:600px;height:420px}
  h1{font-size:50px}
  h2{font-size:36px}
  .section{padding:72px 0}.section-80{padding:72px 0}
  .grid-3.gap-24{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3.gap-20{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .numeral.big{font-size:64px}
  .cta-grid{grid-template-columns:1fr;gap:32px}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3.gap-24>:last-child,.grid-3.gap-20:not(.steps)>:last-child{grid-column:1/-1}
}
@media (max-width:899px){.nav-links{display:none}}
/* phone */
@media (max-width:699px){
  body{font-size:17px}
  .nav{padding:14px 20px}
  .nav-links{display:none}
  .wrap{padding:0 20px}
  .hero{padding:36px 0 48px}
  .hero-grid{gap:32px}
  .hero-art{height:300px;max-width:none}
  h1{font-size:34px;line-height:1.05}
  h2{font-size:28px}
  .lead{font-size:18px}
  .section,.section-80{padding:56px 0}
  .heading{margin-bottom:28px}
  .grid-3.gap-24,.grid-3.gap-20,.quotes,.grid-2,.steps.grid-3{grid-template-columns:1fr}
  .numeral.big{font-size:52px}
  .numeral{font-size:56px}
  .step-top .chip-72{width:64px;height:64px}
  .cta-grid{gap:32px}
  .cta-lead{font-size:18px}
  .form-card{padding:24px 20px}
  .footer-cols{grid-template-columns:1fr}
  .legal{padding:40px 20px 64px}
  h1{overflow-wrap:anywhere}
  .variants{grid-template-columns:1fr}
  .hero-ctas .btn{width:100%}
  h3,.legal-sec h2,.variant h2{font-size:22px}
  .card-text,.faq p,.quote blockquote p,.legal-sec p,.legal-intro,.thanks-steps p,.variant p,.cta-sub,.option{font-size:17px}
  .form-card form,.form-card{gap:20px}
}
@media (max-width:699px){.legal h1{font-size:40px}}
@media print{.site-header,.skip-link{display:none}}

/* ---- blog / posts ---- */
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:15px;line-height:1.5;color:var(--ink-soft)}
.breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--ink-soft)}
.breadcrumb a{color:var(--mangrove)}
.post-head{display:flex;flex-direction:column;gap:12px}
.post-article{display:flex;flex-direction:column;gap:28px}
.post-body{overflow-wrap:anywhere}
.post-meta{font-size:15px;line-height:1.5;color:var(--ink-soft)}
.post-meta a{color:var(--mangrove)}
.short-answer{background:var(--white);border:2px solid var(--lagoon);border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;gap:6px}
.short-answer-label{font-size:15px;font-weight:600;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:var(--lagoon)}
.short-answer p:last-child{font-size:19px;line-height:1.55}
.post-body{display:flex;flex-direction:column;gap:16px}
.post-body h2{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.01em;margin-top:12px}
.post-body p,.post-body li,.faq-item p{font-size:18px;line-height:1.6}
.post-body ul,.post-body ol{padding-left:26px;display:flex;flex-direction:column;gap:8px}
.post-body a,.author-box a,.post-item a,.legal-inner > p > a{color:var(--mangrove);text-underline-offset:3px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.post-body table{border-collapse:collapse;width:100%;min-width:420px;font-size:17px;line-height:1.5}
.post-body th,.post-body td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.post-body th{background:var(--coquina);color:var(--ink);font-weight:600}
.post-body tr:last-child td{border-bottom:0}
.faq-section{display:flex;flex-direction:column;gap:12px}
.faq-section h2{font-size:28px;line-height:1.2;font-weight:600}
.faq-item{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:12px}
.faq-item h3{font-size:21px;line-height:1.3}
.author-box{background:var(--coquina);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.author-box h2{font-size:20px;line-height:1.3;font-weight:600}
.author-box p{font-size:17px;line-height:1.55}
.author-box a{color:#245449}
.post-list{list-style:none;display:flex;flex-direction:column;gap:20px}
.post-item{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:16px}
.post-item h2{font-size:26px;line-height:1.2;font-weight:600}
.post-item p{font-size:18px;line-height:1.55}
.draft-tag{font-size:13px;font-weight:600;color:var(--danger);border:1px solid var(--danger);border-radius:6px;padding:1px 6px;vertical-align:middle;font-family:var(--body,inherit)}
@media (max-width:699px){.post-body h2{font-size:24px}.post-item h2{font-size:22px}.short-answer p:last-child{font-size:18px}}
.post-body ul{list-style:disc}.post-body ol{list-style:decimal}.post-body li::marker{color:var(--mangrove);font-weight:600}
