@import url("./theme-presets.css");
:root{font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
button,input,select{font:inherit}
button,a,input,summary,select{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
button{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500;letter-spacing:-.055em}
h1{font-size:calc(clamp(3.2rem,6.6vw,6.3rem) * var(--heading-scale,1));line-height:.98;margin-bottom:28px}
h2{font-size:calc(clamp(2rem,3.5vw,3.1rem) * var(--heading-scale,1));line-height:1.12;margin-bottom:20px}
h3{font-size:1.6rem;line-height:1.2}
p{line-height:1.7;color:var(--muted)}
em{font-family:var(--font-accent);font-weight:400}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;padding:14px 22px;background:var(--surface);z-index:50}
.skip-link:focus{top:10px}
.announcement{background:var(--brand-strong);color:var(--on-brand);padding:12px 20px;text-align:center;font-size:.65rem;letter-spacing:.13em}
.announcement span{opacity:.8;letter-spacing:0;margin-left:16px;font-size:.76rem}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:26px;border-bottom:var(--border-width,1px) var(--border-style,solid) var(--line)}
.brand{display:flex;align-items:center;gap:10px;line-height:.95;font-size:2rem;font-weight:700;letter-spacing:-.075em}
.brand:hover{text-decoration:none}
.brand small{display:block;letter-spacing:.23em;font-size:.5rem;font-weight:500;margin-top:8px}
.site-header nav{display:flex;gap:32px;font-size:.82rem}
.header-actions{display:flex;align-items:center;gap:24px}
.theme-toggle{width:34px;height:34px;border:var(--border-width,1px) var(--border-style,solid) var(--line);border-radius:50%;background:transparent;font-size:1.15rem}
.sign-in{font-size:.85rem;font-weight:600}
.sign-in span{margin-left:16px}
.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:60px;padding-block:65px 72px;align-items:center}
.eyebrow{font-size:.61rem;font-weight:700;letter-spacing:.14em;line-height:1.7;margin-bottom:20px;color:var(--ink)}
.hero-copy>.eyebrow{display:flex;align-items:center;gap:9px;font-size:.57rem}
.little-line{width:25px;height:1px;background:var(--ink)}
.hero-copy>p:not(.eyebrow){max-width:390px;font-size:.97rem}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}
.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;font-size:.8rem;font-weight:600;padding:17px 23px;border-radius:var(--button-radius);border:var(--border-width,1px) var(--border-style,solid) var(--line);background:var(--surface);line-height:1.3}
.btn:hover{text-decoration:none;filter:brightness(.95)}
.btn-primary{background:var(--green);color:var(--paper);border-color:var(--green)}
.text-link{display:inline-flex;align-items:center;gap:15px;font-size:.77rem;font-weight:600}
.hero-footnote{display:flex;align-items:center;gap:12px;margin-top:40px}
.paw-chip{background:var(--soft);padding:13px 15px;border-radius:50%}
.hero-footnote strong,.hero-footnote div>span{display:block;font-size:.69rem;line-height:1.8}
.hero-footnote div>span{color:var(--muted)}
.hero-visual{position:relative;padding:0 0 30px 18px}
.hero-visual img{width:100%;height:540px;object-fit:cover;object-position:48% 50%;border-radius:160px 160px 12px 12px}
.image-label{position:absolute;top:20px;right:-15px;background:var(--accent);color:var(--accent-ink);font-size:.58rem;letter-spacing:.1em;font-weight:700;padding:15px 18px;border-radius:4px;transform:rotate(7deg);z-index:1}
.photo-note{position:absolute;bottom:0;left:-10px;display:flex;gap:17px;align-items:center;background:var(--surface);padding:20px 25px;border:var(--border-width,1px) var(--border-style,solid) var(--line);border-radius:9px;box-shadow:0 7px 16px color-mix(in srgb,var(--accent-ink) 4%,transparent)}
.photo-note>span{width:37px;height:37px;border:var(--border-width,1px) var(--border-style,solid) var(--line);border-radius:50%;display:grid;place-items:center}
.photo-note p{font-size:.75rem;line-height:1.7;margin:0}
.photo-note strong{color:var(--ink);font-weight:500}
.values-strip{border-block:var(--border-width,1px) var(--border-style,solid) var(--line);background:var(--soft);padding-block:22px}
.values-strip .container{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.74rem}
.values-strip span[aria-hidden]{font-size:1.2rem}
.section{padding-block:85px}
.section-heading{max-width:650px}
.section-heading>p:last-child{font-size:.9rem}
.section-heading .eyebrow{margin-bottom:14px}
.section-top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.section-aside{font-size:.55rem;letter-spacing:.12em;white-space:nowrap}
.approach{background:var(--soft)}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}
.approach-grid>div>p:not(.eyebrow){font-size:.92rem;max-width:430px;margin-bottom:30px}
.steps{list-style:none;padding:0;margin:0}
.steps li{display:flex;gap:25px;padding-block:25px;border-bottom:var(--border-width,1px) var(--border-style,solid) var(--line)}
.steps li:last-child{border:0}
.steps li>span{font-family:Georgia,serif;font-style:italic;font-size:1.5rem;padding-top:3px}
.steps h3{font-size:1.35rem;margin-bottom:9px}
.steps p{font-size:.83rem;margin:0}
.getting-started{text-align:center;max-width:700px;margin:auto}
.getting-started .section-heading{margin:auto}
.getting-started .btn{margin-top:12px}
.fine-print{font-size:.68rem;line-height:1.65;margin-top:22px}
.faq-section{border-top:var(--border-width,1px) var(--border-style,solid) var(--line)}
.faq-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px}
.faq-list details{border-bottom:var(--border-width,1px) var(--border-style,solid) var(--line);padding-block:22px}
.faq-list details:first-child{padding-top:0}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;font-size:.9rem;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:1.3rem}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{font-size:.84rem;margin:18px 20px 0 0}
.closing{position:relative;overflow:hidden;background:var(--brand-strong);color:var(--on-brand);padding-block:70px}
.closing .eyebrow{color:var(--accent)}
.closing h2{font-size:clamp(2.5rem,4vw,4rem);max-width:700px}
.closing .btn{background:var(--accent);color:var(--accent-ink);border:0;margin-top:10px}
.closing-mark{position:absolute;right:6%;top:10px;font-size:22rem;color:var(--accent);line-height:1;transform:rotate(12deg)}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:38px}
.site-footer .brand{font-size:1.5rem}
.site-footer .brand .brand-logo{width:28px}
.site-footer p{font-size:.75rem;margin:0}
.site-footer>div{font-size:.75rem;text-align:right}
.site-footer small{display:block;color:var(--muted);font-size:.6rem;margin-top:12px}
.login-page .site-header{border-bottom:0}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:50px 70px}
.login-intro h1{font-size:clamp(2.5rem,4.3vw,4.3rem);line-height:1.1}
.login-intro img{height:240px;width:100%;object-fit:cover;border-radius:14px;margin-top:30px}
.login-card{background:var(--surface);padding:45px;border:var(--border-width,1px) var(--border-style,solid) var(--line);border-radius:16px}
.login-card h2{margin-top:25px;font-size:2.5rem}
.login-card>p{font-size:.85rem}
.login-card>a{font-size:.8rem}
.tag{display:inline-block;border:var(--border-width,1px) var(--border-style,solid) var(--line);padding:8px 12px;border-radius:30px;font-size:.56rem;letter-spacing:.07em;font-weight:600}
.login-form{display:grid;gap:11px;margin-top:30px}
.login-form label{font-size:.75rem;margin-top:9px}
.login-form input{min-width:0;background:var(--paper);color:var(--ink);border:var(--border-width,1px) var(--border-style,solid) var(--line);border-radius:var(--button-radius);padding:13px}
.login-form .btn{margin-top:15px}
.notice{padding:12px;border:1px solid #bc704b;background:var(--peach);border-radius:var(--button-radius)}
@media(min-width:1500px){.hero{padding-block:85px}.hero-visual img{height:570px}}
@media(max-width:1050px){.container{width:calc(100% - 56px)}.hero{gap:35px}.hero-visual img{height:490px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:.7rem}.approach-grid,.faq-grid{gap:60px}.login-grid{gap:45px}.closing-mark{right:0;font-size:18rem;top:50px}.closing .container{position:relative;z-index:1}.site-footer>p{display:none}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.announcement{font-size:.55rem}.announcement span{display:none}.site-header{padding-block:20px;gap:12px;flex-wrap:wrap}.brand{font-size:1.7rem}.brand .brand-logo{width:30px}.site-header nav{order:3;width:100%;justify-content:center;gap:30px;font-size:.76rem;border-top:var(--border-width,1px) var(--border-style,solid) var(--line);padding-top:18px}.header-actions{gap:14px}.hero{grid-template-columns:1fr;gap:35px;padding-block:40px}.hero h1{font-size:clamp(3.8rem,14vw,5.7rem)}.hero-copy>p:not(.eyebrow){max-width:470px}.hero-footnote{margin-top:25px}.hero-visual{padding-left:10px;max-width:580px}.hero-visual img{height:410px;object-position:50% 50%;border-radius:100px 100px 8px 8px}.image-label{right:0;top:20px;font-size:.52rem}.photo-note{left:0;padding:15px 20px}.values-strip .container{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:.67rem;text-align:center}.values-strip span[aria-hidden]{display:none}.section{padding-block:55px}.section-aside{display:none}.approach-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.steps li{padding-block:20px}.closing{padding-block:50px}.closing-mark{font-size:12rem;opacity:.18;right:-40px;top:50px}.site-footer{flex-wrap:wrap;gap:25px}.site-footer>div{width:100%;text-align:left}.login-grid{grid-template-columns:1fr;gap:28px;padding-block:20px 45px}.login-intro img{display:none}.login-intro h1{font-size:2.7rem}.login-card{padding:30px 25px}.login-page .brand{font-size:1.4rem}.login-page .brand>span{font-size:.6rem;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
