:root{--paper:#f8f6ef;--ink:#253e34;--green:#254c3f;--muted:#667269;--line:#dcded3;--gold:#af8b53;--wash:#edf0e7;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:35px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
a{color:inherit;text-underline-offset:4px}
button,input,textarea{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
[hidden]{display:none!important}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:11px;font:23px var(--serif);text-decoration:none;white-space:nowrap}
.brand b{font-weight:normal;color:#70816b}
.header nav{display:flex;align-items:center;gap:35px;font-size:13px}
.header nav a{text-decoration:none}
.header nav a:hover{text-decoration:underline}
.sign-in{border:1px solid #bdc8bb;border-radius:5px;padding:9px 17px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;padding-block:87px 93px;align-items:center}
.eyebrow{font-size:10px;font-weight:650;letter-spacing:.18em;text-transform:uppercase;line-height:1.7}
.tiny-leaf{color:var(--gold);font-size:20px;vertical-align:middle;margin-right:7px}
h1{font:clamp(48px,5.15vw,72px)/1.09 var(--serif);letter-spacing:-2.7px;margin-top:23px}
h1 em,h2 em{font-weight:normal;color:#778763}
.lede{font-size:16px;line-height:1.85;max-width:455px;color:var(--muted);margin-top:26px}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:32px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:23px;padding:15px 22px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:4px;font-size:13px;font-weight:550;text-decoration:none;transition:background .16s}
.button:hover{background:#39604f}
.button span{font-size:20px;line-height:1}
.price-note{font-size:11px;line-height:1.9;white-space:nowrap}
.price-note small{font-size:10px;color:var(--muted)}
.quiet{color:var(--muted);font-size:13px}
.hero-note{font-size:11px;margin-top:20px}
.family-art{height:428px;position:relative;background:radial-gradient(ellipse at 50% 49%,#e4e9dc 0,transparent 65%);margin-top:12px}
.art-caption{position:absolute;top:0;left:4%;right:4%;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.11em;color:#8a9384}
.tree-lines{position:absolute;top:20px;width:100%;height:370px}
.tree-lines svg{width:100%;height:100%;overflow:visible}
.tree-lines path{fill:none;stroke:#aebb9d;stroke-width:1.2}
.tree-lines .faint{stroke-dasharray:3 5;stroke:#b8c5ae}
.ancestor{position:absolute;display:flex;align-items:center;gap:10px;background:#fffef8;border:1px solid #d9dfce;border-radius:5px;padding:13px 12px;box-shadow:0 8px 20px #263f3408;font:14px var(--serif)}
.ancestor small{display:block;margin-top:6px;font:8px var(--sans);color:#8b9686}
.person-seal{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border-radius:50%;background:#edf1e6;color:#708363;font:10px var(--serif)}
.ancestor-a{top:73px;left:0;transform:rotate(-3deg)}
.ancestor-b{top:73px;right:0;transform:rotate(3deg)}
.ancestor-center{top:193px;left:50%;transform:translateX(-50%);border-color:#a4b496;padding:16px 18px;min-width:226px;font-size:18px;box-shadow:0 10px 30px #254c3f12}
.ancestor-center .person-seal{width:39px;height:39px}
.ancestor-center small{font-size:9px}
.leaf-dot{position:absolute;right:-9px;top:-11px;width:23px;height:23px;text-align:center;border-radius:50%;background:var(--green);color:#fff;font:18px/23px var(--serif)}
.generation{position:absolute;top:327px;background:#f7f8f1;border:1px solid #d6decb;border-radius:3px;font:12px var(--serif);padding:7px 12px}
.g-a{left:13%}
.g-b{left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding-inline:21px}
.g-c{right:12%}
.record-slip{position:absolute;right:0;bottom:-17px;display:flex;align-items:center;gap:12px;text-align:left;background:#fbfaf4;border:1px solid #e0dac8;padding:12px 16px;transform:rotate(-4deg);box-shadow:0 10px 25px #413c2410;font:12px var(--serif);color:var(--ink);border-radius:2px}
.record-slip small{font:8px var(--sans);display:block;color:var(--muted);margin-top:3px}
.paper-lines{font-size:27px;color:#a68e64}
.record-arrow{font:16px var(--sans);margin-left:10px}
.art-footnote{position:absolute;bottom:33px;left:0;width:100%;text-align:center;font-size:8px;color:#87937f}
.record-detail{position:absolute;z-index:3;inset:auto 0 -76px 0;background:var(--green);padding:15px;color:#fff;border-radius:4px;font-size:11px;box-shadow:0 8px 24px #0002}
.principles{border-block:1px solid var(--line)}
.principles-inner{display:flex;justify-content:space-around;padding-block:19px;color:#63735f;font-size:11px;letter-spacing:.02em}
.principles i{font-style:normal;color:#7c916b;font-size:18px;vertical-align:middle;margin-right:11px}
.section{padding-block:77px}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-bottom:1px solid var(--line)}
h2{font:42px/1.2 var(--serif);letter-spacing:-1.2px;margin-top:17px}
.approach-copy{padding-top:7px;font-size:14px;color:var(--muted)}
.approach-copy p+p{margin-top:18px}
.approach-copy .small-print{font-size:12px;border-left:2px solid #b5c1a6;padding-left:17px;color:#7b8278}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px}
.section-title>p{font-size:12px;color:var(--muted);padding-bottom:4px}
.deliverable-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.deliverable-grid article{position:relative;padding:28px}
.deliverable-grid article+article{border-left:1px solid var(--line)}
.deliverable-icon{font:30px var(--serif);color:#769169;width:45px;height:43px}
.item-no{position:absolute;right:25px;top:28px;font-size:9px;letter-spacing:.08em;color:#9ba58f}
.deliverable-grid h3{font:21px var(--serif);margin:15px 0 13px}
.deliverable-grid p{font-size:12px;line-height:1.9;color:var(--muted)}
.process-section{background:var(--wash);border-block:1px solid #e4e8dc}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:42px 0 0}
.steps li{border-top:1px solid #cdd6c4;padding-top:18px}
.steps span{font:12px var(--serif);color:#7f9672}
.steps h3{font:21px var(--serif);margin:12px 0}
.steps p{font-size:12px;color:var(--muted);line-height:1.9}
.start-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-block:92px}
.offer h2{font-size:45px}
.offer-price{font:54px var(--serif);letter-spacing:-1px;margin:28px 0 18px}
.offer-price span{font:11px var(--sans);color:var(--muted);letter-spacing:0;vertical-align:middle;margin-left:8px}
.offer>p:not(.eyebrow):not(.offer-price){color:var(--muted);font-size:13px}
.included{list-style:none;padding:0;margin:26px 0;font-size:12px;line-height:2.5}
.included li:before{content:'✓';color:#78906a;margin-right:12px}
.offer .offer-note{border-top:1px solid var(--line);padding-top:20px;font-size:11px!important;line-height:1.85}
.intake-panel{border:1px solid var(--line);border-radius:5px;padding:32px;background:#fdfcf6}
.intake-panel h3{font:29px/1.3 var(--serif);margin:10px 0}
.intake-panel>.quiet{font-size:11px}
form{margin-top:25px}
label{display:block;font-size:11px;font-weight:600;margin-top:17px}
input:not([type=checkbox]),textarea{display:block;width:100%;padding:11px 12px;border:1px solid #d9ded0;border-radius:3px;background:#fffefb;color:var(--ink);margin-top:7px;font-size:12px;font-weight:400}
textarea{resize:vertical;line-height:1.7}
input::placeholder,textarea::placeholder{color:#8b9387}
label small{font-weight:400;display:block;font-size:9px;color:#7c8874;margin-top:6px;line-height:1.7}
.form-pair{display:grid;grid-template-columns:1fr 1.25fr;gap:15px}
.form-pair label{margin-top:0}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;font-weight:400;line-height:1.8;margin:21px 0}
.consent input{accent-color:var(--green);margin:4px 0 0;flex-shrink:0}
.intake-panel .button{width:100%}
.form-note{text-align:center;font-size:9px;margin-top:12px}
.form-feedback{font-size:12px;margin-top:12px;color:#a13e2e}
.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;border-top:1px solid var(--line)}
.faq-section>.quiet,.faq-section>div>.quiet{margin-top:22px;font-size:11px}
.faqs details{border-bottom:1px solid var(--line);padding:19px 0}
.faqs details:first-child{padding-top:0}
.faqs summary{font-size:13px;cursor:pointer;list-style:none;position:relative;padding-right:25px}
.faqs summary:after{content:'+';position:absolute;right:0;font-size:18px;color:#8f9d82}
.faqs details[open] summary:after{content:'−'}
.faqs details p{font-size:12px;color:var(--muted);padding-top:14px;max-width:530px}
.footer{display:flex;align-items:center;gap:30px;justify-content:space-between;padding-block:27px 35px;border-top:1px solid var(--line)}
.footer .brand{font-size:18px}
.footer p{font-size:10px;color:#8a9283}
.footer nav{display:flex;gap:21px;font-size:10px;color:var(--muted)}
.footer nav a{text-decoration:none}
.skip{position:absolute;left:20px;top:-100px;background:var(--green);padding:12px;color:white;z-index:20}
.skip:focus{top:10px}
.legal{max-width:760px;padding-block:65px 90px}
.legal h1{font-size:52px;margin-bottom:28px}
.legal h2{font-size:25px;margin:30px 0 12px}
.legal p,.legal li{font-size:14px;color:var(--muted);margin-bottom:14px}
.case-main{max-width:880px;padding-block:62px 90px;min-height:75vh}
.case-main h1{font-size:52px}
.case-lede{margin:22px 0;color:var(--muted)}
.case-box{border:1px solid var(--line);background:#fdfcf6;border-radius:5px;padding:28px;margin-top:25px}
.case-box h2{font-size:26px;margin:0 0 15px}
.case-box h3{font:19px var(--serif);margin:22px 0 6px}
.case-box p{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
.case-box .button{margin-top:20px}
.case-actions{display:flex;gap:12px;flex-wrap:wrap}
.secondary{background:transparent;color:var(--green)}
.secondary:hover{background:var(--wash)}
.status-badge{display:inline-block;border:1px solid #c4d2b9;padding:4px 10px;background:#e9efe1;color:#5b7650;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:20px}
.case-warning{font-size:11px!important;background:var(--wash);padding:15px;border-radius:3px;margin-top:20px}
.case-key{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.case-key input{flex:1;min-width:170px}
.case-key button{font-size:11px;padding:9px 13px}
.case-box .case-error{color:#a13e2e}
.case-loading{margin-top:22px;color:var(--muted)}

@media(min-width:1500px){.hero{padding-block:105px 115px}
}

@media(max-width:1050px){.wrap{width:calc(100% - 64px)}
.hero{gap:20px}
.hero-actions{gap:12px;align-items:flex-start;flex-direction:column}
.hero h1{font-size:56px}
.family-art{transform:scale(.95);transform-origin:right center}
.ancestor{font-size:11px;padding:11px 9px}
.ancestor small{font-size:7px}
.ancestor-center{font-size:16px}
.ancestor-center small{font-size:8px}
.start-section,.approach,.faq-section{gap:50px}
.art-caption span:last-child{display:none}
.steps{gap:30px}
.footer{gap:20px}
.footer p{display:none}
}

@media(max-width:760px){.wrap{width:calc(100% - 40px)}
.header{height:78px}
.brand{font-size:21px;gap:8px}
.brand img{width:30px;height:30px}
.header nav{gap:15px}
.header nav>a:not(.sign-in){display:none}
.sign-in{font-size:11px;padding:7px 12px}
.hero{grid-template-columns:1fr;gap:35px;padding-block:47px 65px}
.hero h1{font-size:clamp(44px,9vw,64px);letter-spacing:-1.9px}
.eyebrow{font-size:9px}
.lede{font-size:15px;max-width:500px}
.hero-actions{flex-direction:row;align-items:center;gap:18px}
.hero .button{font-size:12px;padding:14px 16px;gap:18px}
.price-note{font-size:10px}
.price-note small{font-size:9px}
.hero-note{max-width:320px}
.family-art{transform:none;width:min(470px,100%);margin:0 auto;height:390px}
.ancestor-a,.ancestor-b{top:65px}
.ancestor-center{top:178px}
.tree-lines{top:8px;height:360px}
.generation{top:304px}
.art-footnote{bottom:22px;font-size:7px}
.record-slip{bottom:-27px;font-size:11px}
.ancestor{font-size:12px}
.ancestor small{font-size:7px}
.ancestor-center{font-size:17px;min-width:217px}
.ancestor-center small{font-size:8px}
.record-detail{bottom:-104px}
.principles-inner{padding-block:14px;justify-content:space-between;gap:10px}
.principles-inner span{font-size:8px;max-width:96px;text-align:center;line-height:1.7}
.principles i{display:block;margin:0;font-size:20px}
.section{padding-block:48px}
.approach,.start-section,.faq-section{grid-template-columns:1fr;gap:27px}
h2{font-size:35px}
.approach-copy{font-size:13px}
.section-title{display:block}
.section-title>p{margin-top:15px}
.deliverable-grid{grid-template-columns:1fr;margin-top:25px}
.deliverable-grid article{padding:24px}
.deliverable-grid article+article{border-left:0;border-top:1px solid var(--line)}
.deliverable-icon{float:left;margin-right:14px;height:28px}
.deliverable-grid h3{margin:2px 0 16px}
.deliverable-grid p{clear:both}
.steps{grid-template-columns:1fr;gap:25px;margin-top:27px}
.steps li{padding-top:12px}
.steps span{float:left;margin-top:15px;margin-right:16px}
.steps h3{font-size:23px}
.steps p{margin-left:32px}
.offer h2{font-size:40px}
.offer-price{margin-top:22px}
.offer{padding-bottom:10px}
.intake-panel{padding:23px 19px}
.form-pair{grid-template-columns:1fr;gap:17px}
.intake-panel h3{font-size:27px}
.faq-section{gap:30px}
.footer{flex-wrap:wrap;padding-block:24px;gap:19px}
.footer nav{gap:18px;font-size:9px}
.legal,.case-main{padding-block:42px 60px}
.legal h1,.case-main h1{font-size:42px;letter-spacing:-1.5px}
.case-box{padding:21px}
.case-key{align-items:stretch}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}

/* Two lanes above the fold: a free tree, or sign back in. Both go to Google. */
.lanes{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.lanes .button{gap:16px}
.lane-note{font-size:13px;line-height:1.75;color:var(--muted);max-width:455px;margin-top:18px}
.hero .hero-actions{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:760px){.lanes{flex-direction:column}.lanes .button{width:100%}.lane-note{font-size:12px}}
