:root{--home-ink:#17241f;--home-green:#53875e;--home-acid:#c9ff46;--home-base:#a9d696}@font-face{font-family:"Black Cat Engravers";src:url("./assets/fonts/EngraversMT-Bold.ttf") format("truetype");font-display:swap}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{position:relative;min-width:320px;min-height:100svh;overflow-x:hidden;background:var(--home-base);color:var(--home-ink);font-family:"Noto Sans SC",sans-serif}.home-atmosphere{position:fixed;inset:-22%;z-index:-1;overflow:hidden;background:#a9d696;isolation:isolate}.home-atmosphere:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#eaffaa88 0,transparent 34%),linear-gradient(120deg,#75c48655,#d8ff8580 53%,#4c995f66);mix-blend-mode:screen}.home-atmosphere-glow{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}.home-atmosphere-glow-one{width:65vw;height:65vw;left:-15vw;top:-10vw;background:#baff3cdd;animation:home-glow-one 14s ease-in-out infinite alternate}.home-atmosphere-glow-two{width:68vw;height:68vw;right:-18vw;top:-7vw;background:#29824ecc;animation:home-glow-two 17s ease-in-out infinite alternate}.home-atmosphere-glow-three{width:62vw;height:62vw;left:18vw;bottom:-31vw;background:#e4ff93dd;animation:home-glow-three 15s ease-in-out infinite alternate}@keyframes home-glow-one{to{transform:translate(11vw,8vh) scale(1.15)}}@keyframes home-glow-two{to{transform:translate(-12vw,12vh) scale(1.22)}}@keyframes home-glow-three{to{transform:translate(6vw,-9vh) scale(1.18)}}.home-header{position:relative;width:min(1240px,calc(100% - 56px));height:80px;margin:auto;display:flex;align-items:center;gap:18px;border-bottom:1px solid #5b865b44}.home-mark{display:block;width:48px;height:48px}.home-mark img{display:block;width:100%;height:100%;object-fit:contain}.home-header-brand{display:grid;gap:2px}.home-header-brand strong{font:700 23px/1 "Black Cat Engravers",Georgia,serif;letter-spacing:.015em}.home-header-brand span{font:500 10px/1.2 Outfit,sans-serif;letter-spacing:.03em;color:#3f704b}.home-header-label{margin-left:auto;color:#356343;font:600 10px Outfit,sans-serif;letter-spacing:.16em}.home-main{width:min(1240px,calc(100% - 56px));min-height:calc(100svh - 80px);margin:auto;display:grid;place-items:center}.home-centerpiece{width:min(100%,920px);padding:62px 0 76px;text-align:center}.home-eyebrow{margin:0 0 22px;color:#3f704b;font:600 11px/1.2 Outfit,sans-serif;letter-spacing:.16em}.home-logo{display:block;width:min(650px,82vw);height:auto;margin:0 auto;filter:drop-shadow(0 17px 22px #3c6b3b25);animation:home-logo-in .85s cubic-bezier(.2,.8,.25,1) both}.home-centerpiece h1{margin:28px 0 0;font:700 clamp(24px,3vw,40px)/1.2 Outfit,"Noto Sans SC",sans-serif;letter-spacing:-.04em}.home-slogan{margin:19px 0 0;color:#3e7551;font:600 clamp(12px,1.35vw,16px)/1.4 Outfit,sans-serif;letter-spacing:.035em}.home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;width:min(820px,100%);margin:50px auto 0}.home-action{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:76px;padding:0 22px;border:1px solid #386747aa;border-radius:18px;background:#f7ffe9cc;color:var(--home-ink);font:600 16px/1 "Noto Sans SC",sans-serif;text-align:left;text-decoration:none;cursor:pointer;box-shadow:0 12px 28px #47744a1c;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,border-color .22s ease}.home-action:hover,.home-action:focus-visible{transform:translateY(-5px);border-color:#315f3d;background:#f7ffe9f2;box-shadow:0 18px 33px #315f3d2b;outline:none}.home-action-primary{border-color:var(--home-ink);background:var(--home-ink);color:#fff;box-shadow:0 13px 30px #17241f40}.home-action-primary:hover,.home-action-primary:focus-visible{background:#0e1a15;border-color:#0e1a15}.home-action-index{align-self:start;padding-top:2px;color:#4b8158;font:600 10px Outfit,sans-serif;letter-spacing:.08em}.home-action-primary .home-action-index{color:var(--home-acid)}.home-action-label{white-space:nowrap}.home-action-arrow{justify-self:end;color:#538d5c;font-size:25px;font-weight:400}.home-action-primary .home-action-arrow{color:var(--home-acid)}.contact-dialog{width:min(440px,calc(100% - 28px));padding:0;border:0;border-radius:26px;background:#f9fff2;box-shadow:0 25px 80px #1e452d55}.contact-dialog::backdrop{background:#17362266;backdrop-filter:blur(11px)}.contact-card{position:relative;padding:34px}.contact-close{position:absolute;top:17px;right:18px;width:32px;height:32px;border:1px solid #9fba9b;border-radius:50%;background:transparent;color:var(--home-ink);font-size:23px;line-height:1;cursor:pointer}.contact-close:hover{background:#eaf7d7}.contact-card .home-eyebrow{margin-bottom:13px}.contact-card h2{margin:0;font:700 34px/1.1 Outfit,"Noto Sans SC",sans-serif}.contact-intro{margin:18px 0 23px;color:#5d7363;font-size:14px;line-height:1.8}.contact-items{display:grid;gap:9px}.contact-items>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border:1px solid #c5d9ba;border-radius:12px;background:#eef8e1}.contact-items span{color:#628068;font-size:12px}.contact-items strong{font:600 13px Outfit,"Noto Sans SC",sans-serif;overflow-wrap:anywhere}.contact-note{margin:22px 0 0;color:#6f8274;font-size:12px}@keyframes home-logo-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:760px){.home-header{width:calc(100% - 28px);height:64px}.home-mark{width:37px;height:37px}.home-header-brand strong{font-size:16px}.home-header-brand span{font-size:8px}.home-header-label{display:none}.home-main{width:calc(100% - 28px);min-height:calc(100svh - 64px)}.home-centerpiece{padding:45px 0 58px}.home-eyebrow{font-size:10px;letter-spacing:.11em}.home-logo{width:min(590px,94vw)}.home-centerpiece h1{margin-top:22px;font-size:25px}.home-slogan{margin-top:13px;font-size:11px;line-height:1.6}.home-actions{grid-template-columns:1fr;gap:10px;margin-top:35px}.home-action{min-height:62px;border-radius:15px;padding:0 18px;font-size:15px}.home-atmosphere-glow-one{width:100vw;height:100vw}.home-atmosphere-glow-two{width:110vw;height:110vw}.home-atmosphere-glow-three{width:100vw;height:100vw}.contact-card{padding:30px 24px}.contact-card h2{font-size:29px}}@media(prefers-reduced-motion:reduce){.home-atmosphere-glow,.home-logo{animation:none}.home-action{transition:none}}
.home-action{display:flex;align-items:center;justify-content:space-between;grid-template-columns:none}
.home-action-index{display:none}
.contact-dialog[open]{animation:contact-dialog-in .36s cubic-bezier(.2,.82,.25,1) both}
.contact-dialog[open] .contact-card{animation:contact-card-in .46s cubic-bezier(.2,.82,.25,1) both}
.contact-dialog::backdrop{animation:contact-backdrop-in .36s ease both}
@keyframes contact-dialog-in{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes contact-card-in{from{transform:translateY(12px)}to{transform:translateY(0)}}
@keyframes contact-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.contact-dialog[open],.contact-dialog[open] .contact-card,.contact-dialog::backdrop{animation:none}}
.home-return-toast{position:fixed;top:98px;left:50%;z-index:20;padding:12px 20px;border:1px solid #8caf79;border-radius:999px;background:rgba(249,255,242,.92);color:var(--home-ink);box-shadow:0 12px 30px #315f3d2b;backdrop-filter:blur(12px);font:600 14px/1.2 "Noto Sans SC",sans-serif;opacity:0;transform:translate(-50%,-10px) scale(.96);pointer-events:none;transition:opacity .42s ease,transform .42s cubic-bezier(.2,.82,.25,1)}
.home-return-toast[hidden]{display:none}
.home-return-toast.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.home-return-toast.is-dismissing{opacity:0;transform:translate(-50%,-8px) scale(.98)}
.home-logo{width:min(620px,72vw);max-height:min(320px,38vh);object-fit:contain}
.home-centerpiece{padding-top:42px;padding-bottom:52px}
.home-action-icon{flex:0 0 auto;display:grid;place-items:center;width:1.5em;height:1.5em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:22px;line-height:1;filter:drop-shadow(0 3px 5px #315f3d22)}
.home-action-label{flex:1}
.contact-dialog[data-closing]{animation:contact-dialog-out .22s ease both}
.contact-dialog[data-closing] .contact-card{animation:contact-card-out .22s ease both}
.contact-card>.home-eyebrow,.contact-card>h2,.contact-card>.contact-intro,.contact-card>.contact-items,.contact-card>.contact-note{animation:contact-content-in .42s cubic-bezier(.2,.82,.25,1) both}
.contact-card>h2{animation-delay:.04s}.contact-card>.contact-intro{animation-delay:.08s}.contact-card>.contact-items{animation-delay:.12s}.contact-card>.contact-note{animation-delay:.16s}
@keyframes contact-content-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes contact-dialog-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(10px) scale(.97)}}
@keyframes contact-card-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}
@media(max-width:760px){.home-centerpiece{padding-top:34px;padding-bottom:46px}.home-logo{width:min(520px,84vw);max-height:min(250px,32vh)}.home-action-icon{font-size:21px}}
@media(max-width:760px){.home-return-toast{top:78px;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-dialog[data-closing],.contact-dialog[data-closing] .contact-card,.contact-card>.home-eyebrow,.contact-card>h2,.contact-card>.contact-intro,.contact-card>.contact-items,.contact-card>.contact-note{animation:none}}
