/* Arvo's existing palette and type, with a fluid page rhythm. */
:root { --arvo-gutter:clamp(20px,4vw,80px); --arvo-gold:#B89B63; --arvo-ink:#15140f; --arvo-border:#e5e2dc; }
html { scroll-behavior:smooth; }
body[data-site] { margin:0; }
body[data-site] *,body[data-site] *::before,body[data-site] *::after { box-sizing:border-box; }
body[data-site] section[id] { scroll-margin-top:100px; }
body[data-site] .max-w-6xl,body[data-site] .max-w-5xl,body[data-site] .max-w-section { max-width:none!important; width:100%; padding-inline:var(--arvo-gutter); }
body[data-site] header > div { height:80px; gap:16px; }
body[data-site] header nav { gap:clamp(12px,1.6vw,28px); margin-left:clamp(12px,2vw,40px); }
body[data-site] header a { white-space:nowrap; }
body[data-site] h1,body[data-site] h2 { letter-spacing:-.045em; text-wrap:balance; }
body[data-site] h2 { line-height:1.15; }
body[data-site] p { text-wrap:pretty; }
body[data-site] footer .flex { flex-wrap:wrap; }
body[data-site] footer a { display:inline-block; padding-block:6px; }
body[data-site] :where(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #8a6d2f; outline-offset:4px; }
body[data-site] input,body[data-site] select,body[data-site] textarea { font-size:16px; }
.arvo-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(32px,4vw,80px); align-items:center; padding:clamp(56px,7vw,112px) var(--arvo-gutter); border-bottom:1px solid var(--arvo-border); }
.arvo-hero-copy { min-width:0; }
.arvo-hero-copy > p:first-child { font-size:13px; text-transform:none; letter-spacing:.03em; border-left:3px solid var(--arvo-gold); padding-left:12px; margin-bottom:24px; }
.arvo-hero-copy h1 { font-size:clamp(42px,4.1vw,80px); max-width:none; margin:0; line-height:1.04; }
.arvo-hero-copy > p { max-width:58ch; margin-left:0; }
.arvo-hero-copy > div { align-items:flex-start; justify-content:flex-start; }
.arvo-hero-copy > div p { margin-left:0; }
.arvo-hero-copy > div:nth-of-type(1) { flex-wrap:wrap; }
.arvo-hero-product { width:100%; min-width:0; margin:0; box-shadow:0 24px 65px -32px #15140f55; transform:translateY(8px); }
.arvo-hero-product > div:nth-child(2) { padding:clamp(18px,2vw,36px); }
.arvo-hero-product .text-2xl { font-size:clamp(24px,2.2vw,40px); }
.arvo-hero-product .grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-site=landing] main > section:not(.arvo-hero) { padding-block:clamp(56px,6vw,96px); }
body[data-site=landing] main > section:not(.arvo-hero) > .py-16,body[data-site=landing] main > section > .py-20 { padding-block:0; }
body[data-site=landing] #features { background:#eeece6; }
body[data-site=landing] #features > div:first-child,body[data-site=landing] #how > div:first-child,body[data-site=landing] #pricing > div:first-child { text-align:left; max-width:760px; margin-left:0; }
body[data-site=landing] #features h2,body[data-site=landing] #how h2,body[data-site=landing] #pricing h2 { font-size:clamp(30px,2.8vw,48px); }
body[data-site=landing] #features .grid { gap:20px; }
body[data-site=landing] #how h2,body[data-site=landing] #how > div > p { text-align:left; margin-left:0; }
body[data-site=landing] #pricing > .grid { align-items:stretch; }
body[data-site=landing] #pricing .grid > div { display:flex; flex-direction:column; }
body[data-site=landing] #pricing .grid > div > a { margin-top:auto; }
body[data-site=landing] #pricing .grid > div > ul { padding-bottom:28px; }
.arvo-menu-toggle { display:none; padding:9px 12px; border:1px solid var(--arvo-border); border-radius:8px; font-size:13px; background:transparent; color:inherit; }
.arvo-mobile-nav { padding:12px var(--arvo-gutter) 20px; border-top:1px solid var(--arvo-border); background:#f7f5f1; color:#15140f; max-height:70vh; overflow:auto; }
.arvo-mobile-nav a { display:block; padding:12px 0; font-size:15px; }
.arvo-mobile-nav[hidden] { display:none; }
.arvo-skip { position:fixed; z-index:100; left:16px; top:-100px; padding:12px 18px; background:#15140f; color:white; border-radius:8px; }
.arvo-skip:focus { top:12px; }
@media(min-width:1600px) { .arvo-hero-product .grid-cols-2 { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1199px) {
 body[data-site] header nav:not(.arvo-mobile-nav) { display:none!important; }
 .arvo-menu-toggle { display:inline-flex; }
 .arvo-hero { grid-template-columns:1fr; gap:44px; }
 .arvo-hero-copy h1 { font-size:clamp(42px,6.5vw,70px); }
 .arvo-hero-product { transform:none; }
}
@media(max-width:639px) {
 body[data-site] header > div { height:72px; gap:10px; }
 body[data-site] header > div > a[href='/login'] { display:none; }
 body[data-site] header > div > a[href='/signup'] { padding:10px; font-size:12px; }
 body[data-site] header img { width:28px; height:28px; }
 body[data-site] header span.tracking-\[0\.18em\] { font-size:13px; }
 .arvo-menu-toggle { padding:9px; }
 .arvo-hero { padding-block:40px; }
 .arvo-hero-copy h1 { font-size:clamp(36px,9vw,52px); }
 .arvo-hero-copy > p.text-lg { font-size:16px; line-height:1.75; }
 .arvo-hero-copy > div:first-of-type { align-items:stretch; }
 .arvo-hero-product .grid-cols-2 > div { padding:12px; }
 body[data-site] footer .gap-5 { gap:12px 20px; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body[data-site] .reveal { opacity:1; transform:none; transition:none; } }
