@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&display=swap');
:root{--red:#b73e32;--red-dark:#872d27;--cream:#f5f0e8;--paper:#fffdf9;--ink:#241e1b;--muted:#675d58;--line:#ddd0c2;--rose:#ead7ce;--sage:#e4e8df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2,.serif{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(2.9rem,5.7vw,5.7rem);letter-spacing:-.035em}h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.03em}h3{font-size:1.35rem}p{color:var(--muted)}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:104px 0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:700;color:var(--red);margin-bottom:18px}.lede{font-size:1.2rem;max-width:680px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 23px;border-radius:999px;background:var(--red);color:white;text-decoration:none;font-weight:700;border:1px solid var(--red);transition:background .2s,transform .2s}.button:hover{background:var(--red-dark);transform:translateY(-2px)}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{background:var(--ink);color:white}.link-arrow{font-weight:700;color:var(--red);text-decoration:none}.link-arrow:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:rgba(245,240,232,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;flex:none}.brand img{width:108px;max-height:61px;object-fit:contain}.nav-list{display:flex;align-items:center;gap:30px}.nav-list a{font-size:.83rem;font-weight:700;text-decoration:none}.nav-list a:hover,.footer a:hover{color:var(--red)}.nav-list .button{color:white}.menu-button{display:none;background:none;border:0;font-size:1.9rem;line-height:1}.mega{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);border-bottom:1px solid var(--line);padding:28px 0}.nav-item:hover .mega,.nav-item:focus-within .mega{display:block}.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.mega h3{font:700 .75rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--red);margin-bottom:12px}.mega a{display:block;padding:5px 0;font-size:.88rem;font-weight:500}.mobile-nav{display:none}.hero{padding:90px 0 100px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}.hero h1{margin-bottom:24px}.hero h1 em,.accent{color:var(--red);font-style:normal}.hero .lede{margin-bottom:28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.store-row{display:flex;gap:12px;align-items:center;margin-top:30px;flex-wrap:wrap}.store-row img{height:44px;width:auto;max-width:160px;object-fit:contain}.hero-visual{background:var(--rose);border-radius:180px 180px 20px 20px;padding:38px 32px 0;min-height:600px;display:flex;align-items:end;position:relative}.hero-visual img{width:100%;max-height:620px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 18px rgba(36,30,27,.12))}.hero-note{position:absolute;left:-30px;top:70px;background:var(--paper);border:1px solid var(--line);padding:18px 22px;border-radius:14px;font-size:.8rem;box-shadow:0 8px 30px rgba(36,30,27,.08)}.hero-note strong{display:block;font-size:1.3rem;color:var(--ink)}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0}.trust-strip .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;color:var(--muted)}.section-head{max-width:790px;margin-bottom:52px}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.feature-card,.value-card,.condition-card,.resource-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;text-decoration:none;transition:transform .2s,border-color .2s}.feature-card:hover,.condition-card:hover,.resource-card:hover{transform:translateY(-4px);border-color:var(--red)}.card-num{color:var(--red);font-size:.75rem;font-weight:700;letter-spacing:.16em;margin-bottom:38px}.feature-card p,.value-card p,.condition-card p,.resource-card p{font-size:.93rem}.feature-card h3,.condition-card h3{font-family:'Playfair Display',Georgia,serif}.feature-card--wide{grid-column:span 2;background:var(--sage)}.feature-card--red{background:var(--red);color:white}.feature-card--red p,.feature-card--red .card-num{color:#ffe9df}.personalization{background:var(--ink);color:white}.personalization p{color:#d4c8c1}.personalization .eyebrow{color:#f3a99d}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.tag-grid{display:flex;flex-wrap:wrap;gap:10px}.tag{padding:10px 16px;border:1px solid #695852;border-radius:100px;color:#f8ece6;font-size:.83rem}.tag.more{background:var(--red);border-color:var(--red)}.light{background:var(--paper)}.value-card{background:transparent;min-height:250px}.value-card b{font-size:.72rem;color:var(--red);letter-spacing:.13em}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.comparison>div{background:var(--paper);padding:38px}.comparison ul{padding-left:20px}.comparison li{margin:12px 0}.comparison .redbird-side{background:#f6e8df}.gallery{background:var(--sage)}.gallery img{border-radius:20px;border:1px solid var(--line);width:100%}.review{border-top:1px solid var(--line);padding:24px 0}.review blockquote{font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;margin:0 0 12px}.review cite{font-style:normal;color:var(--muted);font-size:.85rem}.privacy-band{background:var(--red);color:white}.privacy-band p{color:#f5ded8}.privacy-band a{color:white}.founder{background:var(--rose)}.founder-copy{max-width:750px}.faq-list{max-width:800px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{font-weight:700;cursor:pointer;list-style:none}.faq-list summary::after{content:'+';float:right;color:var(--red);font-size:1.5rem;line-height:1}.faq-list details[open] summary::after{content:'−'}.faq-list details p{margin:14px 0 4px}.final-cta{text-align:center;background:var(--ink);color:white}.final-cta p{color:#d8cbc3;margin-left:auto;margin-right:auto}.final-cta .store-row{justify-content:center}.footer{background:#1d1917;color:white;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:24px}.footer h3{font:700 .72rem 'DM Sans',sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#eab2a7}.footer a{display:block;color:#ddd2cc;text-decoration:none;font-size:.82rem;margin:10px 0}.footer p{color:#a99b94;font-size:.8rem}.footer-brand img{width:130px;filter:brightness(0) invert(1)}.footer-bottom{border-top:1px solid #4c423e;margin-top:46px;padding-top:20px;font-size:.74rem;color:#a99b94}.page-hero{background:var(--rose);padding:90px 0 70px}.page-hero h1{font-size:clamp(2.7rem,5vw,4.7rem);max-width:900px}.page-hero p{max-width:750px;font-size:1.18rem}.breadcrumbs{font-size:.75rem;margin-bottom:28px;color:var(--muted)}.breadcrumbs a{text-decoration:none}.content{max-width:790px;margin:auto}.content h2{font-size:2rem;margin-top:50px}.content h3{font-size:1.3rem;margin-top:30px}.content p,.content li{line-height:1.8}.content aside{background:var(--sage);padding:24px;border-radius:14px;margin:36px 0}.content .source{font-size:.8rem}.related{background:var(--paper)}.legal-page{display:none}.legal-page:target{display:block}.route-privacy .home-shell,.route-terms .home-shell,body:has(.legal-page:target) .home-shell{display:none}.route-privacy #privacy-page,.route-terms #terms-page{display:block}.legal-page .policy-content{max-width:790px;margin:auto;padding:70px 20px}.legal-page .policy-section{border-bottom:1px solid var(--line);padding:24px 0}.legal-page .policy-list{padding-left:20px}.legal-page .section-num{color:var(--red);font-size:.75rem;margin-right:12px}.legal-page h2{font-size:1.65rem}.legal-page .policy-contact{background:var(--sage);padding:22px;border-radius:14px}.legal-page .terms-warning{background:#f5e7e3;padding:22px;border-radius:14px}.legal-page .terms-warning-icon{display:none}.skip-link{position:absolute;top:-100px;left:12px;background:white;padding:8px;z-index:200}.skip-link:focus{top:8px}:focus-visible{outline:3px solid #1b5f7e;outline-offset:3px}@media(max-width:1000px){.nav-list{display:none}.menu-button{display:block}.mobile-nav.open{display:block;border-top:1px solid var(--line);padding:18px 20px 28px;max-height:calc(100vh - 78px);overflow:auto}.mobile-nav a,.mobile-nav summary{display:block;padding:8px 0;text-decoration:none;font-weight:700}.mobile-nav details a{padding-left:16px;font-weight:400}.hero-grid,.split{gap:30px}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.section{padding:70px 0}.hero{padding:52px 0 72px}.hero-grid,.split,.grid-3,.grid-4,.comparison{grid-template-columns:1fr}.hero-visual{min-height:0;padding:22px 24px 0;border-radius:130px 130px 18px 18px}.hero-note{left:4px;top:20px}.feature-card--wide{grid-column:auto}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:span 2}.page-hero{padding:58px 0}.store-row img{height:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Small editorial labels need a darker tone on the warm rose background. */
.page-hero .eyebrow,.founder .eyebrow{color:var(--red-dark)}

/* RedBird brand layer: derived from the live site's palette and editorial details. */
:root {
  --red: #C0392B;
  --red-dark: #A93226;
  --cream: #E9E4DA;
  --paper: #ECE7DD;
  --ink: #1E1916;
  --muted: #6A5A54;
  --line: #D5C9B8;
  --rose: #E9E4DA;
  --sage: #ECE7DD;
}
body { background: var(--cream); }
h1,h2,h3 { font-family: 'Playfair Display', Georgia, serif; }
h1 { font-weight: 900; }
h2 { font-weight: 700; }
p { line-height: 1.8; }
.eyebrow { color: var(--red); font-size: 11px; letter-spacing: .22em; }
.site-header { background: rgba(233,228,218,.97); }
.header-inner { height: 72px; }
.nav-identity { display:flex; align-items:center; gap:18px; flex:none; }
.brand img { width: 58px; height: 57px; max-height: 57px; object-fit: contain; }
.nav-divider { width:1px; height:32px; background:var(--line); }
.nav-tagline { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.24em; white-space:nowrap; }
.nav-list { gap: 26px; }
.nav-list > .nav-item > a { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.14em; font-weight:600; }
.nav-list > .nav-item > a:hover { color:var(--red); }
.nav-list .button { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.mega { top:72px; background:#E9E4DA; border-color:var(--line); box-shadow:0 14px 30px rgba(30,25,22,.08); }
.nav-list { align-self:stretch; }
.nav-list > .nav-item { display:flex; align-items:center; align-self:stretch; }
.mega { top:100%; }
.mega { max-height:calc(100vh - 72px); overflow-y:auto; }
.mega-grid { gap:25px; }
.mega a { color:var(--muted); }
.menu-button { color:var(--ink); }
.button { border-radius:50px; background:var(--red); border-color:var(--red); box-shadow:none; font-size:14px; }
.button-outline { background:transparent; color:var(--red); border:1.5px solid var(--red); }
.button-outline:hover { background:var(--red); color:white; }
.hero { background:var(--cream); padding:82px 0 92px; }
.hero-grid { grid-template-columns:1.12fr .88fr; gap:48px; }
.hero h1 { font-size:clamp(3.15rem,5.15vw,5.1rem); line-height:1.08; letter-spacing:-.035em; }
.hero h1 em { color:var(--red); font-style:italic; font-weight:700; }
.hero .lede { color:var(--muted); font-size:1.14rem; }
.hero-visual { background:transparent; min-height:560px; padding:0; border-radius:0; display:flex; justify-content:center; align-items:center; }
.hero-visual img { display:block; width:auto; max-width:100%; max-height:640px; object-fit:contain; filter:drop-shadow(0 22px 24px rgba(30,25,22,.14)); }
.hero-note { left:-8px; top:65px; background:var(--cream); color:var(--mid); border:1px solid var(--line); border-radius:14px; box-shadow:0 6px 22px rgba(30,25,22,.06); }
.hero-note strong { font-family:'Playfair Display',Georgia,serif; color:var(--red); }
.hero-note { display:none; }
.store-row { gap:12px; }
.store-row img { height:44px; }
.trust-strip { background:var(--red); border:0; }
.trust-strip .container { color:rgba(255,255,255,.88); }
.section { padding:100px 0; }
.section-head { margin-bottom:52px; }
.section-head h2 { line-height:1.13; }
.light { background:#ECE7DD; }
.feature-card,.value-card,.condition-card,.resource-card {
  background:#ECE7DD; border:1px solid var(--line); border-radius:20px;
  box-shadow:0 3px 12px rgba(30,25,22,.025);
}
.feature-card:hover,.condition-card:hover,.resource-card:hover { box-shadow:0 12px 28px rgba(30,25,22,.07); }
.feature-card { position:relative; overflow:hidden; min-height:255px; }
.feature-card h3,.condition-card h3,.resource-card h3 { font-size:1.37rem; }
.card-num { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; background:var(--red); color:white; margin-bottom:28px; font-size:12px; letter-spacing:.1em; }
.feature-card--wide { background:#E6DED2; }
.feature-card--red { background:var(--red); border-color:var(--red); }
.feature-card--red { grid-column:span 2; }
.feature-card--red .card-num { background:rgba(255,255,255,.18); color:white; }
.personalization { background:var(--ink); }
.personalization h2 { max-width:550px; }
.personalization .button { margin-top:14px; }
.tag { border:1px solid #786861; }
.value-card { background:var(--cream); min-height:275px; }
.value-card h3 { font-size:1.23rem; }
.comparison { border-color:var(--line); background:var(--line); }
.comparison > div { background:var(--paper); }
.comparison .redbird-side { background:#E6DED2; }
.condition-card { background:var(--cream); }
.gallery { background:#ECE7DD; }
.gallery img { border:0; border-radius:0; }
#testimonials .container { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
#testimonials .section-head { grid-column:1/-1; }
.review { background:#ECE7DD; border:1px solid var(--line); border-radius:20px; padding:28px; }
.review::before { content:'★★★★★'; color:var(--red); display:block; font-size:15px; letter-spacing:.13em; margin-bottom:20px; }
.review blockquote { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.24rem; font-style:italic; line-height:1.43; }
.review cite { display:block; border-top:1px solid var(--line); padding-top:14px; margin-top:22px; font-size:.76rem; }
.privacy-band { background:var(--red); }
.privacy-band .button-outline { border-color:white; color:white; }
.founder { background:var(--cream); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.founder-copy { max-width:1020px; }
.founder .eyebrow { display:flex; align-items:center; gap:22px; margin-bottom:46px; }
.founder .eyebrow::before,.founder .eyebrow::after { content:''; height:1px; background:var(--line); flex:1; }
.founder h2 { max-width:780px; margin-bottom:45px; }
.founder .lede { border-top:1px solid var(--line); padding-top:42px; font-family:'Cormorant Garamond',Georgia,serif; font-size:1.75rem; line-height:1.5; color:var(--ink); }
.founder .lede::first-letter { float:left; font-family:'Playfair Display',Georgia,serif; color:var(--red); font-size:4.3rem; line-height:.9; padding-right:10px; }
.founder strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.5rem; font-style:italic; }
.faq-list details { padding:21px 4px; border-color:var(--line); }
.faq-list summary { font-size:1.04rem; color:var(--ink); }
.faq-list details[open] { background:rgba(236,231,221,.52); padding-left:16px; padding-right:16px; border-radius:10px; }
.final-cta { background:var(--red); }
.final-cta .button-outline { border-color:white; color:white; }
.final-cta .button-outline:hover { background:white; color:var(--red)!important; }
.footer { background:#1E1916; }
.footer-brand img { width:100px; height:auto; }
.footer h3 { color:#e8c5bb; }
.page-hero { background:var(--cream); border-bottom:1px solid var(--line); }
.page-hero h1 { font-size:clamp(2.7rem,4.8vw,4.7rem); }
.page-hero .eyebrow,.founder .eyebrow { color:var(--red-dark); }
.content aside { background:#ECE7DD; border:1px solid var(--line); }
.related { background:#ECE7DD; }
.legal-page .policy-contact { background:#ECE7DD; border:1px solid var(--line); }
.legal-page .terms-warning { background:#fff5f5; border:1px solid var(--red); }
.content h2 { border-top:1px solid var(--line); padding-top:32px; }
.content ul { padding-left:24px; }
.content a { color:var(--red-dark); overflow-wrap:anywhere; }
.content a.button:not(.button-outline) { color:#fff; }
.content a.button:not(.button-outline):hover { color:#fff; }
.legal-page .policy-content { overflow-wrap:anywhere; }
@media(max-width:1100px) { .nav-tagline { display:none; } .nav-divider { display:none; } }
@media(max-width:1000px) { .nav-tagline,.nav-divider { display:block; } .nav-divider { display:block; } .nav-list { display:none; } .menu-button { display:block; } .mobile-nav.open { background:var(--cream); } }
@media(max-width:700px) {
  .nav-tagline { display:none; } .nav-divider { display:none; }
  .hero-grid,.split,.grid-3,.grid-4,.comparison { grid-template-columns:1fr; }
  .hero { padding:34px 0 70px; } .hero-grid { gap:24px; }
  .hero h1 { font-size:clamp(2.65rem,10vw,3.9rem); }
  .hero-visual { order:-1; min-height:390px; }
  .hero-visual img { height:390px; width:auto; }
  .hero-note { left:0; top:20px; font-size:.7rem; padding:11px 14px; }
  .hero-note strong { font-size:1.15rem; }
  .feature-card--red { grid-column:auto; }
  .section { padding:72px 0; }
  .legal-page .policy-content { padding:44px 20px; }
  .content h2 { font-size:1.65rem; }
  #testimonials .container { grid-template-columns:1fr; }
  .founder .lede { font-size:1.45rem; }
  .store-row img { height:40px; }
}
@media(min-width:701px) and (max-width:1000px) { #testimonials .container { grid-template-columns:repeat(2,1fr); } }

/* Feature overview: even cards with one concise closing panel. */
#features { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
#features .feature-card { min-height:250px; padding:32px; }
#features .feature-card--wide { grid-column:auto; }
#features .feature-card--red {
  grid-column:1/-1;
  min-height:190px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:30px;
}
#features .feature-card--red .card-num { margin:0; }
#features .feature-card--red h3 { font-size:clamp(1.55rem,2.3vw,2.2rem); margin:0; }
#features .feature-card--red p { margin:0; max-width:38ch; }
@media(max-width:950px) {
  #features { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  #features { grid-template-columns:1fr; }
  #features .feature-card { min-height:0; padding:28px; }
  #features .feature-card--red { grid-column:auto; display:block; }
  #features .feature-card--red .card-num { margin-bottom:24px; }
  #features .feature-card--red h3 { margin-bottom:16px; }
}

/* Fair, sourced feature comparison. */
.compare-panel { background:#F9F5EE; border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:0 8px 28px rgba(30,25,22,.035); }
.compare-scroll { overflow-x:auto; }
.compare-scroll:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }
.compare-table { width:100%; min-width:880px; table-layout:fixed; border-collapse:separate; border-spacing:0; }
.compare-caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.compare-table th,.compare-table td { padding:23px 21px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); vertical-align:middle; line-height:1.48; }
.compare-table tr > :last-child { border-right:0; }
.compare-table tbody tr:last-child > * { border-bottom:0; }
.compare-table thead th { background:#EBE3D7; color:var(--ink); text-align:center; font:700 1.52rem/1.2 'Playfair Display',Georgia,serif; }
.compare-table thead th:first-child { text-align:left; font:700 .73rem/1.3 'DM Sans',Arial,sans-serif; text-transform:uppercase; letter-spacing:.16em; color:var(--muted); }
.compare-table thead .redbird-head { background:var(--red); color:white; }
.compare-table tbody th { width:22%; background:#F7F1E8; color:var(--ink); font-size:.87rem; font-weight:700; text-align:left; }
.compare-table td { width:26%; background:#FBF8F3; color:#4C403B; font-size:.89rem; text-align:center; }
.compare-table .redbird-cell { background:#F1E2D7; color:var(--ink); font-weight:600; }
.compare-check { display:block; width:26px; height:26px; margin:0 auto 8px; border-radius:50%; background:var(--red); color:white; font:700 16px/26px Arial,sans-serif; }
.compare-table .compare-unlisted { color:#756B65; font-style:italic; font-size:.84rem; }
.compare-note { margin:0; padding:18px 24px; border-top:1px solid var(--line); color:var(--muted); font-size:.76rem; line-height:1.7; }
.compare-note a { color:var(--red-dark); text-underline-offset:2px; }
.compare-hint { display:none; }
.compare-disclosure { margin-top:-22px; }
.compare-disclosure summary { display:inline-flex; align-items:center; gap:9px; list-style:none; cursor:pointer; color:var(--red-dark); font-weight:700; border-bottom:1px solid currentColor; padding:0 0 3px; }
.compare-disclosure summary::-webkit-details-marker { display:none; }
.compare-disclosure summary:hover { color:var(--red); }
.compare-disclosure summary:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
.compare-disclosure .compare-less { display:none; }
.compare-disclosure[open] .compare-more { display:none; }
.compare-disclosure[open] .compare-less { display:inline; }
.compare-chevron { display:inline-block; font-size:1.3rem; line-height:.8; transition:transform .2s ease; }
.compare-disclosure[open] .compare-chevron { transform:rotate(180deg); }
.compare-expanded { margin-top:34px; }
@media(max-width:700px) {
  .compare-panel { border-radius:16px; }
  .compare-hint { display:block; margin:0; padding:11px 16px; background:#EBE3D7; color:var(--red-dark); font-size:.74rem; font-weight:700; letter-spacing:.03em; }
  .compare-table { min-width:760px; }
  .compare-table th,.compare-table td { padding:18px 14px; }
  .compare-table thead th { font-size:1.2rem; }
  .compare-table tbody th { position:sticky; left:0; z-index:1; width:160px; box-shadow:4px 0 10px rgba(30,25,22,.05); }
  .compare-table thead th:first-child { position:sticky; left:0; z-index:2; }
  .compare-note { padding:16px; }
}

/* Homepage comparison, reviews, and download refinements. */
.compare-table { min-width:660px; }
.compare-table thead th:first-child,.compare-table tbody th { width:56%; }
.compare-table thead th:nth-child(2),.compare-table thead th:nth-child(3),.compare-table td { width:22%; }
.compare-table td { font-weight:600; }
.compare-check { margin:0 auto; }
.compare-after { max-width:760px; margin:50px auto 0; text-align:center; }
.compare-after h3 { font:700 clamp(1.7rem,3vw,2.5rem)/1.15 'Playfair Display',Georgia,serif; }
.compare-after p { font-size:1.1rem; }
.compare-after strong { color:var(--ink); }
.comparison-section { background:var(--red); color:#fff; }
.comparison-section .section-head .eyebrow { color:#ffe4dc; }
.comparison-section .section-head p { color:#f9e5df; }
.comparison-section .compare-disclosure summary,
.comparison-section .compare-disclosure summary:hover { color:#fff; }
.comparison-section .compare-disclosure summary:focus-visible { outline-color:#fff; }
.comparison-section .compare-after p,
.comparison-section .compare-after strong { color:#fff; }
.feature-more { margin:28px 0 0; }
#features .feature-card:nth-child(5) { grid-column:span 2; }
.features-lead { max-width:790px; margin-bottom:40px; }
.features-lead h2 { font-size:clamp(2rem,3vw,3rem); }
.feature-detail { background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:36px; margin:0 0 20px; }
.feature-detail h2 { font-size:clamp(1.7rem,2.6vw,2.4rem); margin-bottom:16px; }
.feature-detail > p { max-width:780px; }
.feature-bullets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 30px; padding-left:22px; margin:22px 0; }
.feature-bullets li { padding-left:2px; }
.feature-detail a { color:var(--red-dark); font-weight:700; }
@media(max-width:700px){#features .feature-card:nth-child(5){grid-column:auto}.feature-detail{padding:24px}.feature-bullets{grid-template-columns:1fr}}
.gallery .split > img { display:block; width:auto; max-width:100%; max-height:650px; object-fit:contain; justify-self:center; margin:auto; filter:drop-shadow(0 18px 28px rgba(36,30,27,.13)); }
#testimonials .section-head { margin-bottom:32px; }
#testimonials .review { display:flex; flex-direction:column; min-width:0; }
#testimonials .review::before { display:none; }
#testimonials .review h3 { font:700 1.26rem/1.25 'Playfair Display',Georgia,serif; margin-bottom:10px; }
#testimonials .review-meta { display:flex; justify-content:space-between; gap:12px; color:#8a7b72; font-size:.72rem; }
#testimonials .review-name { text-transform:uppercase; letter-spacing:.16em; font-weight:700; }
#testimonials .review time { white-space:nowrap; }
#testimonials .review-stars { color:var(--red); letter-spacing:.12em; margin:10px 0 16px; }
#testimonials .review details { display:flex; flex-direction:column; }
#testimonials .review details:not([open]) { display:block; }
#testimonials .review details:not([open]) .read-less,#testimonials .review details[open] .read-more { display:none; }
#testimonials .review details:not([open]) .read-more { display:inline; }
#testimonials .review blockquote { order:1; margin:0 0 12px; }
#testimonials .review summary { order:2; cursor:pointer; list-style:none; color:var(--red); text-transform:uppercase; letter-spacing:.1em; font-size:.73rem; font-weight:700; }
#testimonials .review summary::-webkit-details-marker { display:none; }
#testimonials .review details:not([open]) summary { order:0; }
.founder-copy > p:not(.eyebrow):not(.lede) { max-width:810px; font-size:1.06rem; line-height:1.8; }
.founder-copy a { color:var(--red-dark); }
.founder-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr); gap:58px; align-items:start; }
.founder-layout .founder-copy { min-width:0; }
.founder-photo { width:100%; max-width:365px; aspect-ratio:1; justify-self:end; margin:78px 0 0; border-radius:50%; overflow:hidden; background:#e8dcd0; border:1px solid var(--line); box-shadow:0 22px 40px rgba(36,30,27,.09); }
.founder-photo img { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:900px) {
  .founder-layout { grid-template-columns:minmax(0,1fr) 260px; gap:32px; }
  .founder-photo { margin-top:72px; }
}
.final-cta .store-row { gap:16px; margin-top:36px; }
.final-cta .store-row a { display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; border-radius:9px; padding:0; line-height:0; transition:filter .2s ease; }
.final-cta .store-row a:hover { filter:drop-shadow(0 3px 5px rgba(65,16,12,.22)); }
.final-cta .store-row a:focus-visible { outline:3px solid white; outline-offset:5px; }
.final-cta .store-row img { display:block; width:auto; height:50px; max-width:none; mix-blend-mode:normal; }
.nav-list > .button:hover,.mobile-nav > .button:hover { color:#f5e7d6; }
.footer-social { border-top:1px solid #51443e; margin-top:40px; padding-top:28px; }
.footer-social h3 { margin:0 0 16px; }
.social-links { display:flex; flex-wrap:wrap; gap:12px; }
.footer .social-link { display:inline-flex; align-items:center; gap:10px; margin:0; padding:10px 15px; border:1px solid #715e55; border-radius:999px; color:#f5e7d6; font-size:.85rem; line-height:1; text-decoration:none; transition:background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.footer .social-link:hover { color:#fff; background:#392b26; border-color:#dfa79a; box-shadow:0 4px 12px rgba(0,0,0,.16); }
.footer .social-link:focus-visible { outline:2px solid #f5e7d6; outline-offset:3px; }
.social-link svg { display:block; width:20px; height:20px; flex:none; }
.footer-social + .footer-bottom { margin-top:30px; }
.conditions-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.conditions-grid .condition-card { min-height:240px; }
.conditions-phone { grid-column:3; grid-row:1/span 3; display:flex; align-items:center; justify-content:center; margin:0; min-width:0; }
.conditions-phone img { display:block; width:100%; max-width:380px; max-height:760px; object-fit:contain; filter:drop-shadow(0 16px 22px rgba(36,30,27,.13)); }
@media(max-width:1000px) {
  .conditions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .conditions-phone { grid-column:1/-1; grid-row:auto; }
  .conditions-phone img { max-width:300px; max-height:590px; }
}
@media(max-width:700px) {
  .compare-table { min-width:590px; }
  .compare-table thead th:first-child,.compare-table tbody th { width:56%; }
  .gallery .split > img { max-height:520px; }
  #testimonials .review-meta { flex-wrap:wrap; }
  .final-cta .store-row { justify-content:center; gap:12px; }
  .final-cta .store-row img { height:40px; }
  .conditions-grid { grid-template-columns:1fr; }
  .conditions-grid .condition-card { min-height:0; }
  .conditions-phone img { max-width:270px; max-height:540px; }
  .founder-layout { grid-template-columns:1fr; }
  .founder-photo { justify-self:center; width:min(290px,80vw); margin:18px auto 0; }
}

.video-section { padding:clamp(48px,6vw,82px) 0 24px; background:var(--cream); }
.video-section .container { max-width:1000px; }
.video-frame { aspect-ratio:16/9; width:100%; overflow:hidden; border-radius:20px; background:var(--ink); box-shadow:0 18px 42px rgba(36,30,27,.16); }
.video-frame iframe { display:block; width:100%; height:100%; border:0; }
.video-fallback { margin:14px 0 0; text-align:right; font-size:.85rem; }
.video-fallback a { color:var(--red-dark); font-weight:700; text-underline-offset:3px; }
@media(max-width:700px) { .video-section { padding:42px 0 10px; } .video-frame { border-radius:12px; } }
.hero-brand-line { font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.35rem,2.2vw,2rem); color:var(--red); margin:-8px 0 24px; line-height:1.25; }
.hero .hero-brand-line { color:var(--ink); font-weight:700; }
.page-hero .hero-brand-line { font-size:clamp(1.15rem,1.8vw,1.5rem); margin:-4px 0 20px; }

.resource-group-title { margin:0 0 20px; font:700 .75rem 'DM Sans',sans-serif; letter-spacing:.15em; text-transform:uppercase; color:var(--red-dark); }
.resource-group-title--guides { margin-top:48px; }
.resource-source { margin-bottom:12px; color:var(--red-dark); font-size:.72rem!important; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.resource-link-label { color:var(--red-dark); font-size:.8rem; font-weight:700; }
.resource-disclaimer { max-width:850px; margin:34px 0 0; padding-top:20px; border-top:1px solid var(--line); font-size:.82rem; color:var(--muted); }
@media(max-width:1000px) { .mobile-nav > .button { display:inline-flex; width:auto; min-height:46px; margin-top:8px; padding:10px 17px; } }

.hub-overview { margin-bottom:72px; }
.hub-section { border-top:1px solid var(--line); }
.hub-card { display:flex; flex-direction:column; min-height:245px; padding:28px; background:var(--paper); border:1px solid var(--line); border-radius:20px; transition:transform .2s,border-color .2s,box-shadow .2s; }
.hub-card:hover { transform:translateY(-3px); border-color:var(--red); box-shadow:0 12px 30px rgba(36,30,27,.07); }
.hub-card h3 { font-family:'Playfair Display',Georgia,serif; }
.hub-card p { font-size:.92rem; }
.hub-card .link-arrow { margin-top:auto; }
.hub-note,.external-note { max-width:850px; margin:30px 0; padding-top:18px; border-top:1px solid var(--line); font-size:.84rem; color:var(--muted); }
.resource-index-grid,.reference-grid { margin-bottom:48px; }
@media(max-width:1000px) { .resource-index-grid,.reference-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:700px) { .hub-card { min-height:0; } .resource-index-grid,.reference-grid { grid-template-columns:1fr; } }
