.render-link{margin-top:16px;font-size:12px;line-height:1.6}.render-link a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}.render-link a:hover{text-decoration-thickness:2px}.render-link a:focus-visible{outline:2px solid var(--wine);outline-offset:4px}.tool-copy p,.form-note{font-size:12px;line-height:1.9;color:var(--muted)}.utility-section{border-top:1px solid var(--line)}.utility-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}.tool-copy h2{font-size:48px;letter-spacing:-1.8px;color:var(--wine);line-height:1.08;margin:16px 0 22px}.tool-copy p{max-width:360px;margin-bottom:16px}.utility-form{padding:30px;background:var(--blush);border:1px solid var(--line)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.utility-form label{display:block;font-size:12px;line-height:1.5;margin-bottom:18px}.utility-form input,.utility-form select,.utility-form textarea{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #bc929d;border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-size:16px}.utility-form textarea{resize:vertical;min-height:125px}.utility-form :is(input,select,textarea):focus-visible{outline:2px solid var(--wine);outline-offset:3px}.form-status{font-size:13px;line-height:1.8;margin-top:18px;color:var(--wine)}.calc-result{display:block;margin-top:22px;padding-top:20px;border-top:1px solid #bc929d;line-height:1.9;font-size:14px;color:var(--wine);white-space:pre-line}.utility-form .form-note{margin:16px 0}.utility-form [hidden]{display:none}.journal-body{max-width:740px;margin:70px auto;padding:0 26px 80px;color:#442b32;font:17px/1.85 Georgia,serif;background:#fffbf7}.journal-body a{color:#8d1736;text-underline-offset:4px}.journal-body h1{font-size:46px;line-height:1.12;margin:34px 0 24px;color:#8d1736;letter-spacing:-1px}.journal-body h2{font-size:27px;line-height:1.3;margin-top:36px;color:#8d1736}.journal-body .journal-brand{font-size:24px}.journal-body .journal-kicker{font:11px/1.6 Helvetica,sans-serif;letter-spacing:2px;margin-top:50px}.journal-body footer{border-top:1px solid #e5cdd1;margin-top:45px;padding-top:22px;font-size:15px}@media(max-width:700px){.utility-grid{grid-template-columns:1fr;gap:26px}.tool-copy h2{font-size:39px}.utility-form{padding:22px}.field-grid{grid-template-columns:1fr;gap:0}.journal-body h1{font-size:36px}}

/* Compact navigation on every screen size. */
.site-header .menu-button{display:flex;align-items:center;justify-content:center;gap:10px;width:auto;min-width:94px;height:44px;padding:10px 12px;margin-right:0;font-size:12px;border:1px solid var(--line)}
.site-header .menu-button:hover,.site-header .menu-button[aria-expanded="true"]{background:var(--blush)}
.site-header .mobile-nav{display:none;position:absolute;right:0;width:min(390px,100%);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border:1px solid var(--line);padding:12px 26px 22px;box-shadow:0 12px 18px #8d173610}
.site-header .mobile-nav:not([hidden]){display:flex;flex-direction:column}
.site-header .mobile-nav a{padding:12px 0;font-family:var(--serif);font-size:21px;color:var(--wine);border-bottom:1px solid var(--line)}
.connect-section .instagram-button{margin:12px 8px 0;background:transparent;color:var(--wine)}
.connect-section .instagram-button:hover{background:var(--blush)}

/* A tighter editorial rhythm, with motion focused on photos and key details. */
html{scroll-padding-top:82px}
.header-inner{height:70px}
.hero{padding-top:28px;padding-bottom:32px}
.hero-grid{gap:38px;grid-template-columns:1.15fr .85fr}
.hero-visual{max-width:400px;justify-self:end}
.hero-photo-wrap{aspect-ratio:.94}
.hero-hello{margin-top:16px}
h1{font-size:clamp(52px,5.8vw,76px);margin:12px 0 18px}
.hero-note{margin-top:20px}
.section-space{padding:44px 0}
.section-header{margin-bottom:24px}
.meet-viv{padding-top:38px;padding-bottom:38px;gap:40px}
.meet-viv h2,.tool-copy h2{font-size:40px}
.postcard-intro{gap:32px}
.postcard-stage{height:450px}
.postcard{width:min(280px,70%)}
.lifestyle-panel{gap:36px;padding-top:24px}
.ideas-list li{padding:12px 0}
.quote-section{padding:42px 0}
.quote-section blockquote{font-size:clamp(32px,4vw,48px);margin:18px 0}
.research-section{padding-top:42px;padding-bottom:38px}
.research-copy{padding:28px}
.connect-section{padding-top:24px;padding-bottom:40px}
.connect-section h2{font-size:44px}
.utility-grid{gap:36px}
.utility-form{padding:24px}
.utility-form label{margin-bottom:14px}
.footer{padding-top:30px}
.button,.text-link,.clip-play,.partner-clip,.style-chips span{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.button:active,.clip-play:active{transform:scale(.97)}
.hero-copy{animation:compact-enter .8s both}
.hero-visual{animation:compact-enter 1s .15s both}
.hero-copy .style-chips span{animation:compact-enter .65s .35s both}
.hero-copy .style-chips span:nth-child(2){animation-delay:.45s}
.hero-copy .style-chips span:nth-child(3){animation-delay:.55s}
.motion-ready [data-reveal]{transition-duration:.65s;transition-delay:var(--reveal-delay,0ms)}
@keyframes compact-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){
 .style-chips span:hover{transform:translateY(-3px) rotate(-2deg)}
 .clip-play:hover,.partner-clip:hover{transform:translateY(-3px);box-shadow:0 8px 20px #792b4220}
 .connect-portrait{transition:transform .4s ease}
 .connect-portrait:hover{transform:rotate(-6deg) scale(1.06)}
}
@media(max-width:800px){
 .hero-grid{gap:24px;grid-template-columns:1fr 1fr}
 .hero-visual{max-width:340px}
 .postcard-stage{height:420px}
 .meet-viv{gap:26px}
 .section-space{padding:36px 0}
}
@media(max-width:580px){
 .header-inner{height:64px}
 .hero{padding-top:22px;padding-bottom:26px}
 .hero-grid{gap:24px}
 .hero-visual{width:calc(100% - 24px);max-width:310px}
 h1{font-size:clamp(48px,12vw,66px)}
 .hero-photo-wrap{aspect-ratio:1.12}
 .hero-actions{flex-wrap:wrap;gap:14px}
 .hero-note{margin-top:16px}
 .meet-viv{padding-top:30px;padding-bottom:30px}
 .section-space{padding:32px 0}
 .postcard-stage{height:410px}
 .postcard{width:min(255px,72%)}
 .lifestyle-panel{gap:20px}
 .quote-section{padding:32px 0}
 .research-section{padding-top:32px;padding-bottom:26px}
 .research-copy{padding:23px}
 .connect-section{padding-bottom:32px}
 .utility-grid{gap:22px}
 .utility-form{padding:20px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-copy,.hero-visual,.hero-copy .style-chips span{animation:none}
 .button,.text-link,.clip-play,.partner-clip,.style-chips span,.connect-portrait{transition:none}
 .motion-ready [data-reveal]{opacity:1;transform:none;transition:none}
}
