@import "tailwindcss";

:root { --cream:#f8f3ec; --paper:#fffdf9; --ink:#321e2e; --plum:#552640; --terracotta:#c96f58; --rose:#e8b5a6; --muted:#75646e; --line:rgba(84,37,64,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--cream); color:var(--ink); font-family:Inter,"Helvetica Neue",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
img { display:block; width:100%; }
.shell { width:min(1400px,calc(100% - 96px)); margin-inline:auto; }
.site-header { height:108px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-size:21px; font-weight:700; letter-spacing:-.5px; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:55% 45% 51% 49%; background:var(--terracotta); color:var(--paper); font:italic 600 20px Georgia,serif; transform:rotate(-7deg); }
nav { display:flex; align-items:center; gap:38px; color:#6f5b68; font-size:14px; }
nav a { transition:color .2s ease; } nav a:hover { color:var(--plum); }
.nav-cta { padding:12px 22px; border-radius:999px; background:var(--plum); color:white; font-weight:700; box-shadow:0 8px 22px rgba(84,37,64,.16); }
.hero { min-height:790px; display:grid; grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr); gap:90px; align-items:center; padding-block:86px 108px; }
.hero-copy { max-width:610px; }
.eyebrow { display:flex; align-items:center; gap:13px; margin:0; color:var(--terracotta); font-size:11px; font-weight:800; letter-spacing:2.25px; text-transform:uppercase; }
.eyebrow::before { content:""; flex:0 0 36px; height:2px; background:currentColor; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; }
h1 { margin:30px 0 30px; font-size:clamp(58px,5.2vw,86px); line-height:1.02; letter-spacing:-4px; }
.hero-intro { max-width:575px; margin:0 0 42px; color:var(--muted); font-size:18px; line-height:1.9; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:58px; padding:0 30px; border:0; border-radius:999px; font-weight:700; cursor:pointer; transition:transform .25s ease,box-shadow .25s ease; }
.button:hover { transform:translateY(-3px); }
.button-primary { position:relative; overflow:hidden; background:var(--plum); color:white; box-shadow:0 15px 34px rgba(84,37,64,.2); }
.button-primary::after { content:""; position:absolute; top:0; left:-35%; width:24%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent); transform:skewX(-20deg); transition:left .5s ease; }
.button-primary:hover::after { left:115%; }
.microcopy { color:#877580; font-size:13px; line-height:1.55; } .microcopy strong { display:block; color:var(--ink); }
.intent-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:46px; }
.intent-row span { padding:9px 14px; border:1px solid var(--line); border-radius:999px; color:#725f6b; font-size:12px; }
.hero-visual { position:relative; margin:0; isolation:isolate; }
.hero-pattern { position:absolute; z-index:-1; right:-64px; top:-58px; width:230px; height:230px; border:1px solid rgba(201,111,88,.35); border-radius:50%; }
.hero-pattern::before,.hero-pattern::after,.hero-pattern i { content:""; position:absolute; border-radius:50%; border:1px solid rgba(201,111,88,.24); }
.hero-pattern::before { inset:28px; } .hero-pattern::after { inset:58px; }
.hero-pattern i:nth-child(1) { width:12px; height:12px; left:24px; top:48px; background:var(--terracotta); border:0; }
.hero-pattern i:nth-child(2) { width:8px; height:8px; right:38px; bottom:34px; background:var(--plum); border:0; }
.hero-pattern i:nth-child(3) { width:20px; height:20px; right:22px; top:18px; border-color:var(--terracotta); }
.hero-visual img { height:620px; object-fit:cover; object-position:center; border-radius:220px 220px 30px 30px; box-shadow:0 35px 80px rgba(79,44,54,.17); }
.hero-visual figcaption { position:absolute; right:-24px; bottom:32px; width:270px; padding:28px; border-radius:22px; background:var(--paper); box-shadow:0 22px 55px rgba(53,27,47,.16); }
.quote-mark { color:var(--terracotta); font:44px Georgia,serif; line-height:.5; }
.hero-visual figcaption p { margin:12px 0 14px; font:500 19px/1.5 Georgia,serif; }
.hero-visual figcaption small { color:#8b727f; }
.match-stamp { position:absolute; left:-38px; top:42px; width:145px; height:145px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(85,38,64,.92); color:white; text-align:center; box-shadow:0 18px 45px rgba(53,27,47,.2); backdrop-filter:blur(7px); }
.match-stamp span { color:var(--rose); font-size:22px; } .match-stamp strong { font:500 14px/1.35 Georgia,serif; }
.promise-strip { border-block:1px solid var(--line); background:var(--paper); }
.promise-grid { min-height:170px; display:grid; grid-template-columns:1.35fr repeat(3,1fr); align-items:center; }
.promise-grid>p { max-width:360px; color:#66535f; line-height:1.85; }
.promise-grid>div { min-height:72px; display:flex; flex-direction:column; justify-content:center; gap:9px; padding-left:42px; border-left:1px solid var(--line); }
.promise-grid strong { color:var(--plum); font:500 24px Georgia,serif; }
.promise-grid span { color:#806d77; font-size:13px; }
.approach { position:relative; display:grid; grid-template-columns:.85fr 1.15fr; gap:110px; padding-block:150px; }
.approach::before { content:""; position:absolute; z-index:-1; left:-12%; top:95px; width:280px; height:280px; opacity:.45; background:radial-gradient(circle,var(--rose) 1.5px,transparent 1.7px); background-size:18px 18px; mask-image:linear-gradient(135deg,#000,transparent 75%); }
.section-intro { max-width:510px; }
.section-intro h2,.story-copy h2 { margin:28px 0 30px; font-size:clamp(46px,4.2vw,68px); line-height:1.08; letter-spacing:-2.5px; }
.section-intro>p:last-child,.story-copy>p { color:var(--muted); font-size:17px; line-height:1.9; }
.steps { display:grid; gap:18px; }
.benefit { display:grid; grid-template-columns:78px 1fr; gap:25px; align-items:start; padding:28px 30px; border:1px solid var(--line); border-radius:22px; background:rgba(255,253,249,.72); box-shadow:0 12px 35px rgba(84,37,64,.045); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.benefit:hover { transform:translateX(6px); border-color:rgba(201,111,88,.35); box-shadow:0 20px 45px rgba(84,37,64,.08); }
.benefit-icon { position:relative; width:64px; height:64px; border-radius:19px; background:#f1dfd5; overflow:hidden; }
.benefit-icon::before,.benefit-icon::after,.benefit-icon i { content:""; position:absolute; display:block; }
.icon-values::before { width:27px; height:27px; left:18px; top:18px; border:2px solid var(--plum); border-radius:50%; }
.icon-values::after { width:8px; height:8px; left:28px; top:28px; border-radius:50%; background:var(--terracotta); }
.icon-values i { width:38px; height:1px; left:13px; top:32px; background:var(--plum); transform:rotate(45deg); }
.icon-match::before,.icon-match::after { width:27px; height:34px; top:15px; border:2px solid var(--plum); border-radius:50%; }
.icon-match::before { left:12px; } .icon-match::after { right:12px; border-color:var(--terracotta); }
.icon-match i { width:9px; height:9px; left:28px; top:28px; border-radius:50%; background:var(--paper); box-shadow:0 0 0 2px var(--plum); }
.icon-grow::before { width:2px; height:35px; left:31px; top:18px; background:var(--plum); transform:rotate(4deg); }
.icon-grow::after { width:21px; height:14px; left:31px; top:20px; border:2px solid var(--terracotta); border-left:0; border-bottom:0; border-radius:0 18px 0 18px; transform:rotate(-17deg); }
.icon-grow i { width:19px; height:13px; left:14px; top:32px; border:2px solid var(--plum); border-right:0; border-bottom:0; border-radius:18px 0 18px 0; transform:rotate(18deg); }
.benefit-number { display:block; margin-bottom:8px; color:var(--terracotta); font:italic 13px Georgia,serif; }
.benefit h3 { margin:0 0 11px; font-size:21px; }
.benefit p { max-width:550px; margin:0; color:var(--muted); line-height:1.75; }
.approach-cta { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; margin-top:4px; padding:25px 30px; border-radius:20px; background:var(--plum); color:white; box-shadow:0 20px 50px rgba(84,37,64,.14); }
.approach-cta .accent-star { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:var(--terracotta); color:white; font-size:20px; }
.approach-cta p { margin:0; color:#dbcbd5; line-height:1.55; } .approach-cta strong { color:white; }
.approach-cta a { display:inline-flex; align-items:center; gap:12px; padding:13px 19px; border-radius:999px; background:var(--cream); color:var(--plum); font-size:13px; font-weight:800; }
.story { display:grid; grid-template-columns:1.08fr .92fr; gap:110px; align-items:center; padding-bottom:150px; }
.story-image { position:relative; padding:0 0 45px 45px; }
.story-image::before { content:""; position:absolute; left:0; bottom:0; width:68%; height:72%; border-radius:28px; background:#e8d5ca; }
.story-image img { position:relative; z-index:1; height:650px; object-fit:cover; border-radius:26px 160px 26px 26px; box-shadow:0 28px 65px rgba(61,38,46,.15); }
.story-copy { max-width:520px; }
.text-link { display:inline-flex; gap:14px; margin-top:18px; padding-bottom:8px; border-bottom:1px solid var(--terracotta); color:var(--plum); font-weight:700; }
.editorial-break { position:relative; height:650px; overflow:hidden; }
.editorial-break img { height:100%; object-fit:cover; object-position:center 45%; }
.editorial-break::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(35,19,29,.7) 0%,rgba(35,19,29,.14) 56%,transparent 78%); }
.editorial-overlay { position:absolute; z-index:1; left:max(48px,calc((100vw - 1400px)/2)); top:50%; color:white; transform:translateY(-50%); }
.editorial-overlay p { margin:0 0 22px; font:500 clamp(48px,5vw,76px)/1.08 Georgia,serif; letter-spacing:-2.5px; }
.editorial-overlay span { color:#eadde5; font-size:16px; }
.download { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:center; margin-block:140px 110px; padding:88px 92px; border-radius:36px; background:var(--plum); color:white; overflow:hidden; position:relative; }
.download::after { content:""; position:absolute; width:420px; height:420px; right:-150px; top:-230px; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.eyebrow.light { color:var(--rose); }
.download h2 { margin:26px 0 22px; font-size:clamp(44px,4.3vw,66px); line-height:1.1; letter-spacing:-2.5px; }
.download-copy>p:last-child { color:#d9c7d3; line-height:1.75; }
.signup-benefits { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:28px; color:#eadde5; font-size:13px; }
.signup-benefits span { display:flex; align-items:center; gap:8px; } .signup-benefits b { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:rgba(232,181,166,.18); color:var(--rose); font-size:11px; }
.signup-card { position:relative; z-index:1; padding:40px; border:1px solid rgba(255,255,255,.19); border-radius:25px; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
form { display:grid; gap:14px; } label { font-size:13px; font-weight:700; }
.form-kicker { display:flex; align-items:center; gap:10px; margin-bottom:8px; color:white; font:500 18px Georgia,serif; }
.form-kicker span { color:var(--rose); }
input { width:100%; height:58px; padding:0 18px; border:1px solid rgba(255,255,255,.28); border-radius:13px; outline:none; background:rgba(255,255,255,.1); color:white; }
input::placeholder { color:#cdbac7; } input:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(232,181,166,.15); }
.button-cream { width:100%; margin-top:3px; background:var(--cream); color:var(--plum); }
.form-note { margin:3px 0 0; color:#cdbac7; font-size:11px; line-height:1.65; }
.signup-link-card { display:grid; gap:18px; }
.signup-link-card h3 { margin:2px 0 0; color:var(--plum); font:600 30px/1.15 Georgia,serif; }
.signup-link-card>p:not(.form-note) { margin:0; color:#6f5a68; line-height:1.7; }
.success { text-align:center; } .success>span { width:48px; height:48px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:var(--terracotta); font-size:21px; }
.success h3 { margin:0 0 13px; font:500 28px Georgia,serif; } .success p { color:#dac9d4; line-height:1.75; overflow-wrap:anywhere; }
.text-button { border:0; background:none; color:var(--rose); text-decoration:underline; cursor:pointer; }
.footer { min-height:132px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); color:#725f6b; font-size:13px; }
.footer .brand { color:var(--ink); } .footer>div { display:flex; gap:25px; }

/* Journal preview on the home page */
.home-journal { padding-block:140px 20px; }
.journal-heading,.related-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:54px; }
.journal-heading h2,.related-heading h2 { margin:25px 0 0; font-size:clamp(44px,4vw,64px); line-height:1.08; letter-spacing:-2px; }
.journal-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:24px; }
.journal-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--paper); transition:transform .25s ease,box-shadow .25s ease; }
.journal-card:hover { transform:translateY(-7px); box-shadow:0 24px 55px rgba(84,37,64,.1); }
.journal-card img { height:250px; object-fit:cover; }
.journal-featured img { height:330px; }
.journal-card>div { padding:28px; }
.journal-card span,.article-meta { color:var(--terracotta); font-size:11px; font-weight:800; letter-spacing:1.1px; text-transform:uppercase; }
.journal-card h3 { margin:14px 0 0; font:500 25px/1.28 Georgia,serif; }
.journal-featured h3 { font-size:34px; }
.journal-card p { margin:15px 0 0; color:var(--muted); line-height:1.75; }

/* Blog index */
.blog-hero { padding-block:110px 90px; text-align:center; }
.blog-hero .eyebrow { justify-content:center; }
.blog-hero h1 { max-width:1020px; margin:28px auto 30px; }
.blog-hero>p:not(.eyebrow) { max-width:690px; margin:0 auto; color:var(--muted); font-size:18px; line-height:1.85; }
.topic-list { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:45px; }
.topic-list span { padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:#6e5c67; font-size:13px; }
.topic-list span:first-child { background:var(--plum); color:white; }
.featured-article { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; padding:34px; border-radius:32px; background:#ead9cf; }
.featured-article>img { height:540px; object-fit:cover; border-radius:22px; }
.featured-article>div { max-width:500px; padding-right:35px; }
.featured-article h2 { margin:22px 0; font-size:clamp(42px,4vw,62px); line-height:1.08; letter-spacing:-2px; }
.featured-article p { margin:0 0 30px; color:#6e5965; font-size:17px; line-height:1.85; }
.article-index { padding-block:130px 140px; }
.article-index-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
.article-index-heading h2 { margin:0; font-size:48px; }
.article-index-heading p { color:var(--muted); }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.article-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--paper); transition:transform .25s ease,box-shadow .25s ease; }
.article-card:hover { transform:translateY(-6px); box-shadow:0 24px 55px rgba(84,37,64,.09); }
.article-image { position:relative; }
.article-image img { height:245px; object-fit:cover; }
.article-image span { position:absolute; left:18px; bottom:18px; padding:8px 11px; border-radius:999px; background:rgba(255,253,249,.92); color:var(--plum); font-size:11px; font-weight:800; }
.article-card-copy { padding:26px; }
.article-card-copy small { color:var(--terracotta); font-weight:700; }
.article-card-copy h3 { margin:12px 0; font:500 25px/1.3 Georgia,serif; }
.article-card-copy p { margin:0 0 20px; color:var(--muted); line-height:1.7; }
.article-card-copy b { color:var(--plum); font-size:13px; }
.journal-signup { display:grid; grid-template-columns:auto 1fr auto; gap:30px; align-items:center; margin-bottom:110px; padding:50px 58px; border-radius:28px; background:var(--plum); color:white; }
.journal-signup>.accent-star { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--terracotta); font-size:22px; }
.journal-signup h2 { margin:16px 0 0; font-size:42px; }

/* Blog article */
.post-header { max-width:1060px; padding-block:100px 70px; text-align:center; }
.post-category { display:inline-block; padding:9px 14px; border-radius:999px; background:#f0ded4; color:var(--plum); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.post-header h1 { margin:28px auto 28px; font-size:clamp(54px,6vw,88px); line-height:1.02; }
.post-deck { max-width:760px; margin:0 auto; color:var(--muted); font-size:20px; line-height:1.75; }
.post-byline { display:flex; justify-content:center; align-items:center; gap:13px; margin-top:34px; text-align:left; }
.author-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:var(--plum); color:white; font:italic 14px Georgia,serif; }
.post-byline strong,.post-byline span { display:block; } .post-byline span { margin-top:4px; color:#8a7782; font-size:12px; }
.post-lead { margin-top:10px; }
.post-lead img { height:min(70vh,760px); object-fit:cover; border-radius:32px; }
.post-lead figcaption,.post-inline-image figcaption { margin-top:13px; color:#8a7782; font-size:12px; text-align:center; }
.post-layout { display:grid; grid-template-columns:250px minmax(0,760px); gap:100px; justify-content:center; padding-block:100px 140px; }
.post-aside { position:sticky; top:35px; height:max-content; display:grid; gap:15px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.post-aside>strong { margin-bottom:6px; font:500 20px Georgia,serif; }
.post-aside>a { color:var(--muted); font-size:12px; line-height:1.45; }
.post-aside>a:hover { color:var(--terracotta); }
.post-aside .aside-cta { margin-top:12px; padding:12px; border-radius:12px; background:var(--plum); color:white; font-weight:700; text-align:center; }
.post-content { color:#5f4d58; font:16px/1.95 Georgia,"Times New Roman",serif; }
.post-content>p { margin:0 0 25px; }
.post-intro { color:var(--ink); font-size:22px; line-height:1.75; }
.post-content section { scroll-margin-top:30px; margin-top:85px; }
.post-content section h2 { margin:12px 0 25px; color:var(--ink); font-size:42px; line-height:1.18; letter-spacing:-1.5px; }
.post-content section p { margin:0 0 22px; }
.section-number { color:var(--terracotta); font:italic 14px Georgia,serif; }
.post-content blockquote { margin:40px 0; padding:8px 0 8px 30px; border-left:3px solid var(--terracotta); color:var(--plum); font:italic 500 27px/1.55 Georgia,serif; }
.post-inline-image { margin:70px -90px; }
.post-inline-image img { height:480px; object-fit:cover; border-radius:26px; }
.post-callout { display:grid; grid-template-columns:auto 1fr; gap:18px; margin-top:35px; padding:28px; border-radius:20px; background:#efded5; color:var(--ink); }
.post-callout>span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--terracotta); color:white; }
.post-callout strong { font-family:Inter,sans-serif; }
.post-callout p { margin:8px 0 0!important; }
.post-conclusion { padding:42px; border-radius:28px; background:var(--paper); box-shadow:0 20px 55px rgba(84,37,64,.08); }
.post-conclusion h2 { margin-top:22px!important; }
.related { padding-block:120px; border-top:1px solid var(--line); }
.related-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.related-grid a { display:grid; grid-template-columns:210px 1fr; gap:25px; align-items:center; padding:18px; border:1px solid var(--line); border-radius:22px; background:var(--paper); }
.related-grid img { height:160px; object-fit:cover; border-radius:15px; grid-row:1/3; }
.related-grid span { color:var(--terracotta); font-size:11px; font-weight:800; text-transform:uppercase; }
.related-grid h3 { margin:0; font:500 25px/1.3 Georgia,serif; }

/* Standard trust, company and legal pages */
.standard-hero { max-width:1040px; padding-block:115px 105px; text-align:center; }
.standard-hero .eyebrow { justify-content:center; }
.standard-hero h1 { margin:28px auto; font-size:clamp(58px,6vw,88px); }
.standard-hero>div>p:last-child { max-width:760px; margin:0 auto; color:var(--muted); font-size:19px; line-height:1.85; }
.standard-hero-split { max-width:1400px; display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; text-align:left; }
.standard-hero-split .eyebrow { justify-content:flex-start; }
.standard-hero-split h1 { margin-inline:0; }
.standard-hero-split>div>p:last-child { margin-inline:0; }
.standard-hero-split>img { height:580px; object-fit:cover; border-radius:180px 180px 28px 28px; box-shadow:0 30px 70px rgba(84,37,64,.14); }
.standard-body { padding-bottom:130px; }
.standard-lead { max-width:930px; margin:0 auto 110px; text-align:center; }
.standard-lead .eyebrow { justify-content:center; }
.standard-lead h2 { margin:26px 0; font-size:clamp(46px,5vw,68px); line-height:1.1; }
.standard-lead>p:last-of-type { color:var(--muted); font-size:18px; line-height:1.9; }
.value-grid,.safety-grid,.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-block:80px 120px; }
.value-grid article,.safety-grid article,.contact-grid article { padding:34px; border:1px solid var(--line); border-radius:22px; background:var(--paper); }
.value-grid span,.contact-grid article>span { color:var(--terracotta); font:italic 14px Georgia,serif; }
.value-grid h3,.safety-grid h3,.contact-grid h3 { margin:22px 0 13px; font:500 27px/1.25 Georgia,serif; }
.value-grid p,.safety-grid p,.contact-grid p { margin:0; color:var(--muted); line-height:1.8; }
.standard-feature { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:center; margin-block:120px; }
.standard-feature.reverse { grid-template-columns:.9fr 1.1fr; }
.standard-feature.reverse img { order:2; }
.standard-feature img { height:600px; object-fit:cover; border-radius:26px 150px 26px 26px; }
.standard-feature h2 { margin:26px 0; font-size:clamp(44px,4vw,62px); line-height:1.1; }
.standard-feature p { color:var(--muted); font-size:17px; line-height:1.9; }
.beliefs { display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; padding:70px; border-radius:30px; background:#ead9cf; }
.beliefs h2 { margin:0; font-size:54px; }
.beliefs p { margin:0 0 28px; color:#664f5c; line-height:1.8; }
.beliefs strong { display:block; margin-bottom:7px; color:var(--plum); font:500 23px Georgia,serif; }
.process-list { display:grid; gap:30px; counter-reset:steps; }
.process-list article { display:grid; grid-template-columns:110px 1fr; gap:40px; padding:50px; border-radius:28px; background:var(--paper); box-shadow:0 18px 55px rgba(84,37,64,.06); }
.process-list article>span { width:76px; height:76px; display:grid; place-items:center; border-radius:50%; background:#efddd3; color:var(--terracotta); font:italic 19px Georgia,serif; }
.process-list h2 { margin:0 0 18px; font-size:42px; }
.process-list p,.process-list li { color:var(--muted); line-height:1.8; }
.process-list ul { display:grid; gap:8px; padding-left:20px; }
.standard-icon { width:55px; height:55px; display:grid; place-items:center; border-radius:18px; background:#efddd3; color:var(--plum); font:500 24px Georgia,serif; }
.safety-grid { grid-template-columns:repeat(2,1fr); }
.safety-note,.contact-notice { max-width:960px; margin:100px auto 0; padding:38px; border-left:4px solid var(--terracotta); background:var(--paper); }
.safety-note p,.contact-notice p { color:var(--muted); line-height:1.8; }
.faq-list { max-width:960px; margin-inline:auto; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; justify-content:space-between; gap:20px; padding:27px 0; cursor:pointer; color:var(--ink); font:500 24px Georgia,serif; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--terracotta); }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:800px; margin:0 0 30px; color:var(--muted); line-height:1.85; }
.contact-strip { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:100px; padding:50px; border-radius:28px; background:#ead9cf; }
.contact-strip h2 { margin:18px 0 0; font-size:44px; }
.contact-grid { grid-template-columns:repeat(2,1fr); }
.contact-grid a { display:inline-block; margin-top:22px; color:var(--plum); font-weight:800; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,800px); gap:100px; justify-content:center; }
.legal-layout aside { position:sticky; top:30px; height:max-content; display:grid; gap:14px; padding:25px; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.legal-layout aside span { color:var(--muted); font-size:12px; }
.legal-layout aside a { color:var(--muted); font-size:13px; }
.legal-copy { color:#5f4d58; line-height:1.9; }
.legal-copy section { scroll-margin-top:30px; padding-bottom:45px; }
.legal-copy section:first-child { padding:28px; border-radius:18px; background:#efddd3; }
.legal-copy h2 { margin:0 0 18px; color:var(--ink); font-size:34px; }
.standard-cta { display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; margin-bottom:110px; padding:50px 58px; border-radius:28px; background:var(--plum); color:white; }
.standard-cta>.accent-star { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--terracotta); font-size:22px; }
.standard-cta h2 { margin:16px 0 0; font-size:42px; }
.site-footer { display:grid; grid-template-columns:1.5fr repeat(3,.7fr); gap:60px; padding-block:65px; border-top:1px solid var(--line); }
.site-footer p { max-width:280px; color:var(--muted); line-height:1.7; }
.site-footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; color:var(--muted); font-size:13px; }
.site-footer strong { margin-bottom:5px; color:var(--ink); }
.site-footer .brand { color:var(--ink); }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
@media (max-width:1000px) {
  .shell { width:min(100% - 44px,760px); }
  .hero { grid-template-columns:1fr; gap:60px; padding-block:70px 90px; }
  .hero-copy { max-width:680px; }
  .hero-visual img { height:610px; }
  .hero-visual figcaption { right:22px; }
  .promise-grid { grid-template-columns:1fr 1fr; padding-block:26px; }
  .promise-grid>p { max-width:none; grid-column:1/-1; padding-bottom:20px; }
  .promise-grid>div { margin-block:12px; }
  .approach,.story,.download { grid-template-columns:1fr; }
  .approach { gap:65px; padding-block:110px; }
  .story { gap:65px; padding-bottom:110px; }
  .story-copy { max-width:650px; }
  .download { gap:50px; padding:70px 55px; }
  .approach-cta { grid-column:auto; }
  .editorial-overlay { left:44px; }
  .journal-grid { grid-template-columns:1fr 1fr; }
  .journal-featured { grid-column:1/-1; }
  .featured-article { grid-template-columns:1fr; }
  .featured-article>div { max-width:none; padding:20px; }
  .article-grid { grid-template-columns:1fr 1fr; }
  .journal-signup { grid-template-columns:auto 1fr; }
  .journal-signup .button { grid-column:1/-1; }
  .post-layout { grid-template-columns:1fr; gap:50px; }
  .post-aside { position:static; }
  .post-inline-image { margin-inline:0; }
  .related-grid a { grid-template-columns:160px 1fr; }
  .standard-hero-split,.standard-feature,.standard-feature.reverse,.beliefs { grid-template-columns:1fr; }
  .standard-feature.reverse img { order:0; }
  .value-grid { grid-template-columns:1fr; }
  .standard-cta { grid-template-columns:auto 1fr; }
  .standard-cta .button { grid-column:1/-1; }
  .site-footer { grid-template-columns:1.4fr repeat(2,1fr); }
  .legal-layout { grid-template-columns:1fr; gap:45px; }
  .legal-layout aside { position:static; }
}
@media (max-width:640px) {
  .shell { width:calc(100% - 36px); }
  .site-header { height:82px; }
  nav>a:not(.nav-cta) { display:none; } .nav-cta { padding:9px 14px; }
  h1 { font-size:50px; letter-spacing:-2.5px; }
  .hero { padding-block:54px 72px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-visual img { height:470px; border-radius:130px 130px 24px 24px; }
  .hero-visual figcaption { right:12px; bottom:16px; width:220px; padding:20px; }
  .promise-grid { grid-template-columns:1fr; }
  .promise-grid>p { grid-column:auto; }
  .promise-grid>div { padding:20px 0; border-left:0; border-top:1px solid var(--line); }
  .approach { padding-block:85px; }
  .benefit { grid-template-columns:64px 1fr; gap:16px; padding:23px 20px; }
  .benefit-icon { width:56px; height:56px; transform:scale(.88); transform-origin:top left; }
  .approach-cta { grid-template-columns:auto 1fr; padding:22px; }
  .approach-cta a { grid-column:1/-1; justify-content:center; }
  .match-stamp { left:12px; top:20px; width:118px; height:118px; }
  .hero-pattern { right:-20px; }
  .story { padding-bottom:85px; }
  .story-image { padding:0 0 24px 20px; }
  .story-image img { height:480px; border-radius:20px 90px 20px 20px; }
  .editorial-break { height:540px; }
  .editorial-break img { object-position:58% center; }
  .editorial-break::after { background:linear-gradient(90deg,rgba(35,19,29,.74),rgba(35,19,29,.2)); }
  .editorial-overlay { left:28px; right:28px; }
  .editorial-overlay p { font-size:47px; }
  .download { gap:36px; margin-block:80px; padding:54px 26px; border-radius:25px; }
  .signup-card { padding:28px 20px; }
  .footer { flex-wrap:wrap; gap:18px; padding-block:30px; }
  .footer>p { order:3; width:100%; }
  .journal-heading,.article-index-heading,.related-heading { align-items:flex-start; flex-direction:column; }
  .journal-grid,.article-grid,.related-grid { grid-template-columns:1fr; }
  .journal-featured { grid-column:auto; }
  .journal-featured img,.journal-card img { height:250px; }
  .journal-featured h3 { font-size:28px; }
  .blog-hero { padding-block:75px 60px; }
  .blog-hero h1,.post-header h1 { font-size:50px; }
  .featured-article { gap:24px; padding:18px; }
  .featured-article>img { height:390px; }
  .article-index { padding-block:90px; }
  .journal-signup { grid-template-columns:1fr; padding:38px 25px; }
  .post-header { padding-block:70px 50px; }
  .post-lead img { height:450px; border-radius:22px; }
  .post-layout { padding-block:65px 90px; }
  .post-content section { margin-top:65px; }
  .post-content section h2 { font-size:34px; }
  .post-inline-image img { height:360px; }
  .post-conclusion { padding:30px 22px; }
  .related { padding-block:85px; }
  .related-grid a { grid-template-columns:1fr; }
  .related-grid img { height:230px; grid-row:auto; }
  .standard-hero { padding-block:75px 70px; }
  .standard-hero h1 { font-size:50px; }
  .standard-hero-split { text-align:center; }
  .standard-hero-split .eyebrow { justify-content:center; }
  .standard-hero-split>div>p:last-child { margin-inline:auto; }
  .standard-hero-split>img { height:440px; border-radius:120px 120px 24px 24px; }
  .standard-body { padding-bottom:85px; }
  .safety-grid,.contact-grid { grid-template-columns:1fr; }
  .standard-feature { gap:45px; margin-block:85px; }
  .standard-feature img { height:460px; border-radius:22px 90px 22px 22px; }
  .beliefs { gap:35px; padding:35px 24px; }
  .beliefs h2 { font-size:44px; }
  .process-list article { grid-template-columns:1fr; gap:20px; padding:30px 23px; }
  .contact-strip { align-items:flex-start; flex-direction:column; padding:35px 25px; }
  .standard-cta { grid-template-columns:1fr; padding:38px 25px; }
  .site-footer { grid-template-columns:1fr 1fr; gap:35px; }
  .site-footer>div:first-child { grid-column:1/-1; }
}
