@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');

:root{
  --cream:#f7f2ea; --sage:#8eb7a2; --sage2:#4f7564; --mint:#d9eee5;
  --blue:#c9e2eb; --rose:#f1d5dc; --yellow:#f4e4a9; --lav:#ddd5ee;
  --ink:#34433d; --muted:#6e7c76; --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;min-height:100%}
html{background:var(--cream)}
body{
  min-height:100svh;font-family:"Nunito",sans-serif;color:var(--ink);
  background:
    radial-gradient(circle at 10% 10%,rgba(217,238,229,.95),transparent 28%),
    radial-gradient(circle at 88% 15%,rgba(241,213,220,.75),transparent 30%),
    radial-gradient(circle at 85% 90%,rgba(201,226,235,.85),transparent 30%),
    linear-gradient(150deg,#fffaf3 0%,#f5f1e8 45%,#f4f8f5 100%);
  overflow-x:hidden;display:grid;place-items:center;position:relative
}
a{color:inherit;text-decoration:none}
.bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.blob{position:absolute;border-radius:999px;opacity:.6;animation:float 12s ease-in-out infinite}
.b1{width:190px;height:190px;background:rgba(217,238,229,.6);top:-70px;left:-70px}
.b2{width:160px;height:160px;background:rgba(241,213,220,.5);top:20%;right:-70px;animation-delay:-4s}
.b3{width:210px;height:210px;background:rgba(201,226,235,.5);bottom:-90px;left:12%;animation-delay:-7s}
.puzzle{position:absolute;font-size:clamp(3.5rem,12vw,6rem);opacity:.09;animation:puzzle 14s ease-in-out infinite}
.p1{top:4%;right:7%}.p2{top:34%;left:-10px;animation-delay:-3s}.p3{top:59%;right:3%;animation-delay:-6s}.p4{bottom:6%;left:8%;animation-delay:-9s}

.landing{
  width:min(100% - 22px,720px);min-height:min(100svh,920px);z-index:1;position:relative;
  padding:max(16px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom));
  display:flex;flex-direction:column;justify-content:center;gap:10px
}
.brand{display:flex;align-items:center;justify-content:center;gap:14px}
.logo-box{
  width:78px;height:78px;min-width:78px;min-height:78px;max-width:78px;max-height:78px;flex:0 0 78px;
  border-radius:24px;display:flex;align-items:center;justify-content:center;padding:7px;overflow:hidden;
  background:rgba(255,255,255,.94);border:1px solid rgba(79,117,100,.1);box-shadow:0 12px 30px rgba(68,91,80,.12)
}
.brand-logo{
  display:block;width:100%!important;height:100%!important;max-width:64px!important;max-height:64px!important;
  min-width:0!important;min-height:0!important;object-fit:contain!important
}
.eyebrow{color:var(--sage2);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
h1{font-size:clamp(2.05rem,8vw,3.45rem);line-height:.94;letter-spacing:-.05em;font-weight:900}
h1 span{color:var(--sage2)}
.tagline{margin-top:6px;color:var(--muted);font-size:.75rem;font-weight:700;line-height:1.25}

.intro,.services-card{
  background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 18px 50px rgba(68,91,80,.12);backdrop-filter:blur(14px)
}
.intro{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:21px}
.intro-icon{width:39px;height:39px;flex:0 0 39px;border-radius:13px;display:grid;place-items:center;color:#bb6c80;background:var(--rose)}
.intro p{color:var(--muted);font-size:.82rem;line-height:1.38}.intro strong{color:var(--ink)}

.agenda{
  min-height:76px;padding:11px 14px;border-radius:23px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  color:#fff;background:linear-gradient(135deg,#37c976,#22a85d);box-shadow:0 15px 34px rgba(34,168,93,.24);
  transition:transform .2s ease,filter .2s ease
}
.agenda:hover{transform:translateY(-2px);filter:brightness(1.03)}
.agenda-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:1.45rem;background:rgba(255,255,255,.18)}
.agenda-copy{display:flex;flex-direction:column}
.agenda-copy small{opacity:.82;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.agenda-copy strong{font-size:1.12rem;line-height:1.1;margin-top:1px;font-weight:900}
.agenda-copy span{margin-top:2px;font-size:.76rem;font-weight:700}

.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.action{
  min-height:66px;border-radius:20px;padding:10px;display:flex;align-items:center;gap:9px;
  border:1px solid rgba(255,255,255,.85);box-shadow:0 10px 26px rgba(68,91,80,.1);transition:transform .2s ease
}
.action:hover{transform:translateY(-2px)}
.map{background:linear-gradient(135deg,#e8f4ef,#d8ece4)}
.mail{background:linear-gradient(135deg,#e8f4f8,#dcecf3)}
.action-icon{width:39px;height:39px;flex:0 0 39px;border-radius:13px;display:grid;place-items:center;color:var(--sage2);background:rgba(255,255,255,.78)}
.action span:last-child{display:flex;flex-direction:column;min-width:0}
.action small{font-size:.60rem;color:var(--muted);font-weight:700}
.action strong{font-size:.82rem;font-weight:900;margin-top:1px}

.services-card{border-radius:23px;padding:13px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mini{display:block;color:var(--sage2);font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.section-head h2{font-size:1rem;font-weight:900}
.puzzle-badge{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--lav)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.service{
  min-height:63px;padding:8px 5px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  text-align:center;border:1px solid rgba(79,117,100,.07)
}
.service:nth-child(1){background:#edf6f1}.service:nth-child(2){background:#edf6fa}.service:nth-child(3){background:#f8eef1}
.service:nth-child(4){background:#f6f3e7}.service:nth-child(5){background:#f7f1dc}.service:nth-child(6){background:#f1eef8}
.service i{color:var(--sage2);font-size:1rem}.service span{font-size:.58rem;line-height:1.1;font-weight:800}

.contact-strip{
  min-height:39px;border-radius:15px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px;
  color:var(--sage2);background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.8);font-size:.67rem;font-weight:800;word-break:break-all
}
footer{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;color:var(--muted);line-height:1.2}
footer strong{color:var(--ink);font-size:.68rem}footer span{font-size:.60rem}footer small{font-size:.53rem;opacity:.72}

@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(14px,-16px,0) scale(1.05)}}
@keyframes puzzle{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}50%{transform:translate3d(7px,-18px,0) rotate(8deg)}}

@media(max-width:420px){
  .landing{width:min(100% - 18px,720px);gap:8px}
  .brand{gap:10px}
  .logo-box{width:66px;height:66px;min-width:66px;min-height:66px;max-width:66px;max-height:66px;flex:0 0 66px;border-radius:20px;padding:6px}
  .brand-logo{max-width:54px!important;max-height:54px!important}
  .eyebrow{font-size:.62rem}h1{font-size:clamp(1.85rem,10vw,2.35rem)}.tagline{font-size:.66rem;max-width:220px}
  .intro{padding:10px 11px;border-radius:18px}.intro-icon{width:34px;height:34px;flex-basis:34px}.intro p{font-size:.72rem}
  .agenda{min-height:68px;border-radius:19px;padding:9px 11px}.agenda-icon{width:42px;height:42px}.agenda-copy strong{font-size:1rem}
  .action{min-height:59px;border-radius:17px;padding:8px;gap:7px}.action-icon{width:34px;height:34px;flex-basis:34px}.action small{font-size:.54rem}.action strong{font-size:.72rem}
  .services-card{border-radius:19px;padding:10px}.section-head{margin-bottom:7px}.services{gap:5px}.service{min-height:56px;padding:6px 3px;border-radius:12px}.service span{font-size:.50rem}
  .contact-strip{min-height:35px;font-size:.60rem}
}
@media(max-width:350px){
  .actions{gap:6px}.action-icon{display:none}.action{justify-content:center;text-align:center}.services{grid-template-columns:repeat(2,1fr)}
}
@media(max-height:690px){
  .landing{gap:6px;padding-top:7px;padding-bottom:7px}
  .logo-box{width:56px;height:56px;min-width:56px;min-height:56px;max-width:56px;max-height:56px;flex-basis:56px;padding:5px}
  .brand-logo{max-width:46px!important;max-height:46px!important}
  h1{font-size:1.75rem}.tagline{margin-top:3px;font-size:.60rem}.intro{padding:8px 10px}.intro p{font-size:.67rem;line-height:1.25}
  .agenda{min-height:60px}.agenda-icon{width:38px;height:38px}.action{min-height:52px}.services-card{padding:8px 9px}.service{min-height:48px}
  .contact-strip,footer{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
