@font-face{font-family:"Cormorant";src:url(fonts/cormorant-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/manrope.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
:root{--green:#2a3d29;--deep:#1c2a1c;--cream:#edebe4;--sage:#97aa96;--wa:#25d366;--serif:"Cormorant","Iowan Old Style",Georgia,serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif}
html{-webkit-text-size-adjust:100%;background:var(--deep)}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:var(--cream);font-family:var(--sans);line-height:1.5;overflow-x:hidden;background:linear-gradient(165deg,#30462e 0%,var(--green) 42%,var(--deep) 100%);position:relative}
.bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.glow{position:absolute;border-radius:50%;filter:blur(60px)}
.glow-a{width:520px;height:520px;left:-180px;top:-160px;background:radial-gradient(circle,rgba(151,170,150,.32),rgba(151,170,150,0) 70%)}
.glow-b{width:640px;height:640px;right:-260px;bottom:-240px;background:radial-gradient(circle,rgba(237,235,228,.12),rgba(237,235,228,0) 70%)}
.bloom{position:absolute;width:520px;right:-190px;bottom:-70px;fill:var(--sage);opacity:.06;transform:rotate(-10deg);animation:fade 2.4s ease .2s both}
.sprig{position:absolute;width:110px;left:-34px;top:40%;color:var(--sage);opacity:.28;animation:fade 2.4s ease .6s both}
.hero{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(40px,7vh,64px);width:100%;max-width:1180px;margin:0 auto;padding:max(56px,calc(env(safe-area-inset-top) + 40px)) 22px 28px;text-align:center}
.intro{display:flex;flex-direction:column;align-items:center}
.brand{margin:0;line-height:0;font-size:inherit}
.logo{display:block;width:min(64vw,300px);height:auto}
.soon{margin:clamp(36px,6vh,52px) 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(3rem,14vw,5.6rem);line-height:.98;letter-spacing:-.015em}
.soon span{display:block}
.soon em{display:block;font-style:italic;color:var(--sage)}
.card{width:100%;max-width:420px;padding:28px 20px 22px;border-radius:28px;background:linear-gradient(160deg,rgba(237,235,228,.10),rgba(237,235,228,.04));border:1px solid rgba(237,235,228,.14);box-shadow:0 30px 60px -30px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}
.eyebrow{margin:0 0 20px;font-size:.72rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--sage)}
.actions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pill{display:flex;align-items:center;gap:14px;min-height:60px;padding:8px 22px 8px 8px;border-radius:999px;text-decoration:none;color:var(--cream);font-weight:500;font-size:1.02rem;letter-spacing:.01em;border:1px solid rgba(237,235,228,.22);background:rgba(237,235,228,.05);transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent}
.pill .ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(237,235,228,.10)}
.pill .ico svg{width:20px;height:20px}
.pill .lbl{flex:1;text-align:left;overflow-wrap:anywhere}
.pill:hover{transform:translateY(-2px);border-color:rgba(237,235,228,.42);background:rgba(237,235,228,.10);box-shadow:0 14px 30px -16px rgba(0,0,0,.6)}
.pill:active{transform:translateY(0)}
.pill:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.pill-call{background:var(--cream);color:var(--green);border-color:var(--cream);font-weight:600;font-size:1.12rem;letter-spacing:.03em}
.pill-call .ico{background:var(--green);color:var(--cream)}
.pill-call:hover{background:#fff;border-color:#fff}
.pill-wa .ico{background:var(--wa);color:#fff}
.pill-wa .ico svg{width:22px;height:22px}
.pill-mail{font-size:.96rem}
.foot{position:relative;z-index:1;padding:8px 24px max(26px,env(safe-area-inset-bottom));text-align:center;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(151,170,150,.9)}
.foot p{margin:0}
.rise{animation:rise 1s cubic-bezier(.2,.7,.2,1) var(--d,0s) both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}}
@media (min-width:960px){
  .hero{flex-direction:row;justify-content:space-between;align-items:center;gap:72px;padding:64px 64px 32px;text-align:left}
  .intro{align-items:flex-start;flex:1}
  .logo{width:280px}
  .soon{font-size:clamp(5rem,7.4vw,7.4rem);margin-top:56px}
  .card{flex:none;width:420px;padding:36px 30px 30px}
  .bloom{width:620px;right:-60px;bottom:-150px;opacity:.055}
  .sprig{width:150px;left:24px;top:auto;bottom:-30px}
  .foot{padding-bottom:30px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.pill-mail .lbl{white-space:nowrap;overflow-wrap:normal;font-size:clamp(.72rem,3.5vw,.96rem);letter-spacing:0}
.pill-mail{padding-right:14px;gap:10px}

/* uniform contact icons */
.pill .ico,.pill-call .ico,.pill-wa .ico{background:rgba(151,170,150,.28);color:var(--cream)}
.pill .ico svg,.pill-wa .ico svg{width:20px;height:20px;fill:currentColor}
.pill-call{background:rgba(237,235,228,.05);color:var(--cream);border-color:rgba(237,235,228,.22);font-weight:500;font-size:1.02rem;letter-spacing:.01em}
.pill-call:hover{background:rgba(237,235,228,.10);border-color:rgba(237,235,228,.42)}
