.home-flow { --flow-ratio:0; padding:64px 0; background:#f3f4ed; color:#30372a; font-family:'Segoe UI',system-ui,sans-serif; }
.home-flow-shell { width:min(1160px,calc(100% - 80px)); }
.home-invitation>.container { width:min(1280px,calc(100% - 80px)); }
.home-flow-heading { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:55px; margin-bottom:27px; }
.home-flow-eyebrow { color:#758361; font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.home-flow-heading h2 { margin:13px 0 0; font-family:inherit; font-size:clamp(33px,3.1vw,43px); font-weight:500; line-height:1.1; letter-spacing:-.045em; }
.home-flow-heading>p { max-width:330px; margin:0 0 3px; color:#768565; font-size:14px; line-height:1.75; }
.home-flow-layout { overflow:hidden; border:1px solid #dce2d1; border-radius:19px; background:#fafbf6; box-shadow:0 8px 25px #58663806; }
.home-flow-tabs { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; margin:0; padding:7px; background:#e9edde; isolation:isolate; }
.home-flow-tabs::before,.home-flow-tabs::after { position:absolute; z-index:2; right:0; bottom:0; left:0; height:2px; width:100%; background:#dce3cc; content:''; pointer-events:none; }
.home-flow-tabs::after { background:#b4ce78; transform:scaleX(var(--flow-ratio)); transform-origin:left; transition:transform .55s ease; }
.home-flow-tabs button { display:flex; min-height:53px; min-width:0; align-items:center; flex-direction:row; justify-content:flex-start; gap:10px; padding:8px 12px; border:1px solid transparent; border-radius:10px; background:transparent; color:#8c987a; text-align:left; cursor:pointer; transition:background .25s,border-color .25s,color .25s; }
.home-flow-tabs button>span { display:grid; flex:0 0 28px; width:28px; height:28px; place-items:center; border:1px solid #cfd8bd; border-radius:8px; color:#8b9c70; font-size:9px; transition:background .3s,color .3s,border-color .3s; }
.home-flow-tabs button>b { font-size:13px; font-weight:500; line-height:1.45; }
.home-flow-tabs button>i { display:none; }
.home-flow-tabs button:hover { background:#f4f7ed; color:#697b4e; }
.home-flow-tabs button[aria-selected="true"] { border-color:#e0e6d5; background:#fff; color:#435330; box-shadow:0 2px 5px #67784708; }
.home-flow-tabs button[aria-selected="true"]>span { border-color:#d5f56c; background:#d5f56c; color:#6b8539; }
.home-flow-tabs button:focus-visible { outline:2px solid #a0b76a; outline-offset:-2px; }
.home-flow-panel { position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr; gap:25px; min-height:260px; padding:22px 32px; border:0; border-radius:0; background:radial-gradient(ellipse at 83% 48%,#eef3df,transparent 55%),#fafbf6; color:#303a25; }
.home-flow-panel:focus-visible { outline:2px solid #b9d27a; outline-offset:-3px; }
.home-flow-panel-top { position:absolute; top:19px; left:32px; display:flex; align-items:center; gap:10px; margin:0; color:#9aa88a; font-size:9px; }
.home-flow-index { color:#8c9f6f; font-size:10px; font-weight:500; line-height:1; letter-spacing:.05em; }
.home-flow-index::after { content:' / 05'; color:#b3bea2; font-size:9px; }
.home-flow-art { position:relative; grid-column:2; grid-row:1; width:100%; max-width:420px; height:215px; min-width:0; align-self:center; justify-self:center; }
.home-flow-art>div { position:absolute; inset:0; opacity:0; transform:translateX(12px) scale(.97); transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1); pointer-events:none; }
.home-flow-art>div.is-active { opacity:1; transform:translateX(0) scale(1); }
.home-flow-art svg { display:block; width:100%; height:100%; }
.home-flow-art .is-active .flow-art-float { animation:flow-float 5s ease-in-out infinite; }
.home-flow-caption { grid-column:1; grid-row:1; align-self:center; padding-top:20px; border:0; }
.home-flow-caption h3 { margin:0 0 12px; font-family:inherit; font-size:27px; font-weight:550; letter-spacing:-.035em; line-height:1.2; }
.home-flow-caption p { max-width:420px; margin:0; color:#71825d; font-size:14px; line-height:1.75; }
.home-invitation { padding:85px 0; border-top:1px solid #dfe4d3; border-bottom:1px solid #dfe4d3; background:#edf1e3; font-family:'Segoe UI',system-ui,sans-serif; color:#30372a; }
.home-invitation-card { display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:75px; }
.home-invitation h2 { margin:23px 0; font-family:inherit; font-size:clamp(39px,4.5vw,63px); font-weight:500; letter-spacing:-.045em; line-height:1.08; }
.home-invitation-copy>p { max-width:465px; margin:0; color:#6d7c58; font-size:15px; line-height:1.8; }
.home-brief-link { display:flex; max-width:470px; min-height:82px; align-items:center; justify-content:space-between; gap:25px; margin-top:23px; border-bottom:1px solid #bac8a0; color:#53653a; }
.home-brief-link>b { font-size:21px; font-weight:500; letter-spacing:-.025em; }
.home-brief-link>span { display:grid; width:53px; height:53px; flex:0 0 53px; place-items:center; border-radius:50%; background:#d5f56c; color:#5d7239; font-size:28px; transition:transform .3s,background .3s; }
.home-brief-link:hover>span { transform:rotate(45deg); background:#e0f99b; }
.home-invitation small { display:block; margin-top:17px; color:#82916c; font-size:10px; }
.home-contact-stack { width:100%; max-width:340px; justify-self:end; }
.home-contact-card { display:block; padding:25px; border:1px solid #dde5d0; border-radius:19px; background:#fafcf6; color:#5e7042; box-shadow:0 14px 30px #66774608; transition:transform .3s,border-color .3s,box-shadow .3s; }
.home-contact-card:hover { transform:translateY(-5px); border-color:#b9cc94; box-shadow:0 17px 35px #66774614; }
.home-contact-top { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:37px; }
.home-contact-top>span { color:#7a8c62; font-size:10px; }
.home-contact-top>i { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:#e7f0d5; color:#9cb66a; }
.home-contact-top svg { width:24px; height:24px; }
.home-contact-service { color:#7a8c62; font-size:11px; }
.home-contact-card strong { display:block; margin-top:8px; font-size:31px; font-weight:500; letter-spacing:-.04em; }
.home-contact-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:29px; padding-top:17px; border-top:1px solid #e0e7d4; color:#708457; font-size:11px; }
.home-contact-bottom>b { font-size:20px; font-weight:400; transition:transform .3s; }
.home-contact-card:hover .home-contact-bottom>b { transform:translate(3px,-3px); }
.home-contact-email { display:flex; justify-content:space-between; gap:15px; margin-top:17px; padding-inline:5px; color:#768b5d; font-size:12px; }
.home-contact-email:hover { color:#5e7042; }
body[data-page="home"] .site-footer { padding:40px 0 22px; border-top:1px solid #e3e5d9; background:#f5f4ee; color:#30372a; font-family:'Segoe UI',system-ui,sans-serif; }
body[data-page="home"] .footer-top { grid-template-columns:1.3fr 1fr .7fr; width:min(1280px,calc(100% - 80px)); gap:60px; padding-bottom:45px; }
body[data-page="home"] .brand-footer .brand-mark { width:45px; height:45px; border-color:#d9dfc8; border-radius:12px; background:#d5f56c; color:#30372a; }
body[data-page="home"] .brand-footer .brand-name { display:block; color:#30372a; font-family:inherit; font-size:36px; font-weight:600; letter-spacing:-1.8px; }
body[data-page="home"] .brand-footer .brand-name>span { display:inline; color:#7c923c; }
body[data-page="home"] .footer-brand>p { max-width:290px; margin-top:19px; color:#929b82; font-size:13px; line-height:1.8; }
body[data-page="home"] .footer-heading { margin-bottom:10px; color:#9ca68b; font-size:10px; font-weight:500; }
body[data-page="home"] .footer-column { gap:15px; }
body[data-page="home"] .footer-column>a { color:#616d51; font-size:14px; }
body[data-page="home"] .footer-column>a:hover { color:#30372a; }
body[data-page="home"] .footer-column>a span { color:#8da650; }
body[data-page="home"] .footer-bottom { width:min(1280px,calc(100% - 80px)); padding-top:20px; border-color:#dce1d0; color:#a0a990; font-size:10px; }
@keyframes flow-float { 0%,100% { translate:0 0; } 50% { translate:0 -6px; } }
@media(max-width:1000px) {
 .home-flow-panel { padding:22px 26px; gap:20px; }
 .home-flow-art { height:195px; }
 .home-flow-caption h3 { font-size:25px; }
 .home-flow-caption p { font-size:13px; line-height:1.7; }
 .home-invitation-card { gap:40px; }
 .home-contact-card { padding:22px; }
 .home-contact-card strong { font-size:28px; }
}
@media(max-width:760px) {
 .home-flow { padding:50px 0; }
 .home-flow-shell,.home-invitation>.container,body[data-page="home"] .footer-top,body[data-page="home"] .footer-bottom { width:min(560px,calc(100% - 40px)); }
 .home-flow-heading { grid-template-columns:1fr; gap:15px; margin-bottom:23px; }
 .home-flow-heading h2 { font-size:33px; }
 .home-flow-heading>p { font-size:14px; }
 .home-flow-tabs { gap:4px; padding:6px; margin:0; }
 .home-flow-tabs button { min-height:46px; justify-content:center; padding:6px; gap:0; }
 .home-flow-tabs button>span { width:30px; height:30px; flex-basis:30px; font-size:10px; }
 .home-flow-tabs button>b { display:none; }
 .home-flow-tabs::before,.home-flow-tabs::after { top:auto; bottom:0; }
 .home-flow-panel { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); grid-template-rows:1fr; min-height:230px; gap:12px; padding:36px 22px 22px; }
 .home-flow-panel-top { top:18px; left:22px; gap:9px; margin:0; }
 .home-flow-index { font-size:10px; }
 .home-flow-caption h3 { font-size:22px; }
 .home-flow-caption p { font-size:13px; line-height:1.7; }
 .home-flow-art { grid-column:2; grid-row:1; margin:0; height:165px; aspect-ratio:auto; }
 .home-flow-art svg { transform:scale(1.08); }
 .home-invitation { padding:60px 0; }
 .home-invitation-card { grid-template-columns:1fr; gap:35px; }
 .home-invitation h2 { font-size:45px; }
 .home-invitation-copy>p { font-size:14px; }
 .home-brief-link { max-width:none; }
 .home-contact-stack { max-width:none; }
 .home-contact-card { padding:24px; }
 .home-contact-top { margin-bottom:25px; }
 .home-contact-card strong { font-size:31px; }
 body[data-page="home"] .footer-top { grid-template-columns:1fr 1fr; gap:33px 20px; }
 body[data-page="home"] .footer-brand { grid-column:1/-1; }
 body[data-page="home"] .footer-bottom { flex-wrap:wrap; font-size:9px; line-height:1.6; }
}
@media(max-width:420px) {
 .home-flow-shell,.home-invitation>.container,body[data-page="home"] .footer-top,body[data-page="home"] .footer-bottom { width:calc(100% - 32px); }
 .home-flow-heading h2 { font-size:31px; }
 .home-flow-panel { padding:36px 19px 20px; gap:9px; }
 .home-invitation h2 { font-size:39px; }
 .home-brief-link>b { font-size:20px; }
 body[data-page="home"] .footer-column>a { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .home-flow-art>div,.home-flow-tabs button>span,.home-flow-tabs::after,.home-contact-card,.home-brief-link>span { transition:none; }
 .flow-art-float { animation:none!important; }
}