
/* v11: closer to the reference layout, own Happy Hoppers palette and artwork */
:root{--paper:#f6f0e6;--terra:#a8683a;--olive:#7a8a3e;--leaf:#8fa24c;--dark:#5f6e2c;--ink:#3f3425;--hand:Gaegu,"Comic Sans MS",cursive}
body{background:var(--paper) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font-family:Figtree,sans-serif}
h1,h2,h3{font-family:var(--hand);font-weight:700;font-variation-settings:normal;line-height:1.05}
.topbar{background:var(--leaf);gap:30px;font-size:15px;padding:8px 12px}.topbar span,.topbar a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600;text-decoration:none}
.ti{width:17px;height:17px;fill:#fff}.ti.g{fill:var(--leaf);vertical-align:-3px;margin-right:6px}
.nav{background:transparent;padding:10px 4vw}
.nav nav a{color:var(--ink);font-weight:600;font-size:17px}.nav nav a.on{background:var(--terra);color:#fff}
.nav nav .car:after{content:"";display:inline-block;margin-left:6px;border:5px solid transparent;border-top-color:currentColor;vertical-align:-2px}
.cta,.wbtn,.gbtn{font-family:var(--hand);font-weight:700;font-size:23px;letter-spacing:.2px}
.cta{background:var(--terra);border-radius:50px;padding:10px 30px}
.nav>.cta{padding:14px 34px;font-size:25px}
.cta.big{padding:15px 40px;font-size:27px}
/* hero band (approved fawn entrance) */
.hero{padding:20px 0 0;background:linear-gradient(#f3eed6 0,transparent 330px)}
.hero>.stage{margin-bottom:0}
.tr{position:absolute;width:150px;height:285px;pointer-events:none}
/* intro */
.intro{position:relative;text-align:center;padding:30px 5vw 70px}
.intro .kicker{font-family:var(--hand);font-size:30px;color:var(--ink);margin:0}
.h1{font-size:clamp(54px,9vw,104px);color:var(--terra);margin:0;letter-spacing:1px}.h1.two{color:var(--leaf);margin-bottom:10px}
.intro-sub{font-size:20px;margin:6px 0 24px}
.intro .tl{left:3vw;top:60px;height:270px}.intro .tr2{right:2vw;top:40px;height:330px;width:170px}
.intro>*:not(.tr){position:relative;z-index:1}
/* big cards */
.bigcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:34px;max-width:1120px;margin:0 auto;padding:0 5vw 20px;position:relative;z-index:1}
.bc{background:var(--terra);border-radius:34px;overflow:hidden;color:#fff;text-align:center;padding-top:34px;display:flex;flex-direction:column}
.bc .pan{margin:0 -1px;position:relative;aspect-ratio:400/230;overflow:hidden;background:#e9ecd2}
.pan svg{position:absolute;inset:0;width:100%;height:100%}.pan .pfawn{position:absolute;left:50%;bottom:6%;width:34%;margin-left:-17%;animation:hop 1.3s ease-in-out infinite;transform-origin:50% 100%}
.bcb{padding:20px 26px 32px}.bc h2{color:#fff;font-size:42px;margin:0 0 8px}.bc p{margin:0 0 18px;font-size:18px}
.wbtn{display:inline-block;background:#fff;color:var(--terra);padding:9px 26px;border-radius:40px;text-decoration:none;font-size:22px}
/* icon cards */
.icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:34px;max-width:1080px;margin:50px auto 0;padding:60px 5vw 40px}
.ic{background:var(--leaf);color:#fff;border-radius:34px;text-align:center;padding:60px 26px 34px;position:relative}
.ic .ico{position:absolute;left:50%;top:-44px;width:104px;height:92px;margin-left:-52px;background:var(--leaf);border-radius:52px 52px 0 0;display:grid;place-items:center}
.ico svg{width:64px;height:64px}
.ic h3{color:#fff;font-size:38px;margin:0 0 8px}.ic p{margin:0;font-size:18px}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;max-width:1100px;margin:30px auto;padding:30px 5vw}
.split .pan{aspect-ratio:400/280;border-radius:0 40px 0 40px;overflow:hidden;background:#e6edcf;position:relative}
.split h2{font-size:clamp(40px,5vw,60px);color:var(--terra);margin:0 0 20px}.split h2 span{color:var(--leaf)}
.pts{list-style:none;margin:0;padding:0;display:grid;gap:20px}.pts li{display:flex;gap:16px;align-items:center;font-size:18px}
.dot{flex:none;width:68px;height:68px;border-radius:50%;background:var(--terra);display:grid;place-items:center}.dot svg{width:40px;height:40px}
/* hola + meet */
.hola{display:grid;grid-template-columns:1.05fr .95fr;max-width:1200px;margin:20px auto 0;align-items:stretch;position:relative}
.hl{padding:40px 5vw 40px 5vw;position:relative}.bq{font-family:Georgia,serif;font-size:190px;line-height:.7;color:var(--leaf);height:90px}
.hl h2{font-size:clamp(38px,4.6vw,56px);color:var(--leaf);margin:0 0 20px}
.hl .words{justify-content:flex-start;margin:0}.hl .words li{font-size:17px}
.hr{position:relative;padding-left:20px}
.hrp{background:var(--terra);color:#fff;text-align:right;padding:60px 50px 50px 90px;height:100%}
.hrp h2{color:#fff;font-size:clamp(38px,4.4vw,54px);margin:0 0 16px}.hrp p{font-size:19px;margin:0 0 24px}
.gbtn{display:inline-block;background:var(--leaf);color:#fff;padding:12px 30px;border-radius:40px;text-decoration:none}
.tr.mid{left:-60px;bottom:-30px;height:250px;width:130px;z-index:2}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1240px;margin:50px auto 0;padding:0 24px}
.tl1{position:relative;aspect-ratio:1/.8;border-radius:26px;overflow:hidden}.tl1 svg{position:absolute;inset:0;width:100%;height:100%}
.tl1 b{position:absolute;left:0;right:0;top:22%;text-align:center;font:700 clamp(28px,3.4vw,46px) var(--hand);color:#fff;text-shadow:0 2px 0 #5f6e2c55}
/* why */
.why{position:relative;text-align:center;padding:70px 5vw 110px;margin-top:20px}
.why h2{font-size:clamp(40px,5vw,62px);color:var(--terra);margin:0 0 10px}.wl-sub{max-width:760px;margin:0 auto 40px;font-size:19px}
.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:34px;max-width:1080px;margin:auto;position:relative;z-index:1}
.note{position:relative;background:#fbf8f3;padding:58px 28px 40px;box-shadow:0 10px 24px -14px #5f4a2d99;clip-path:polygon(0 2%,6% 0,14% 1.5%,26% 0,40% 1.5%,55% 0,70% 1.5%,84% 0,94% 1.5%,100% 0,100% 98%,92% 100%,78% 98.5%,62% 100%,45% 98.5%,30% 100%,14% 98.5%,0 100%);text-align:center}
.note h3{color:var(--leaf);font-size:36px;margin:0 0 12px}.note p{margin:0;font-size:18px}
.n1{transform:rotate(-1.6deg)}.n2{transform:rotate(1deg) translateY(10px)}.n3{transform:rotate(-1deg)}
.tape{position:absolute;left:50%;top:14px;width:110px;height:34px;margin-left:-55px;background:#d9a07c;opacity:.9;transform:rotate(-2deg)}
.why .wl{left:-20px;bottom:30px;height:250px;width:130px}.why .wm{left:50%;bottom:10px;height:200px;width:105px;margin-left:-10px;z-index:2}.why .wr{right:0;bottom:40px;height:290px;width:150px}
.why:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:44px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpolygon fill='%23f1ebe0' points='0,40 0,18 17,24 31,17 56,26 68,25 78,21 96,23 113,12 138,23 163,18 177,13 191,22 213,29 223,27 235,11 246,15 256,14 281,25 303,28 326,18 350,10 371,9 382,10 407,12 425,27 448,30 467,19 493,18 514,23 537,24 554,16 564,14 579,28 599,23 612,28 628,26 646,15 659,8 684,26 709,8 730,8 753,10 763,15 786,30 809,9 820,25 831,18 851,23 869,22 886,7 905,6 917,9 928,12 951,15 969,10 980,16 1000,17 1014,18 1036,20 1062,18 1075,25 1101,14 1124,26 1141,15 1164,14 1190,15 1200,6 1200,40'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
/* footer */
.foot{background:#f1ebe0 url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);padding:30px 5vw 24px;display:block;font-size:17px}
.fwrap{display:grid;grid-template-columns:.8fr 1.2fr .6fr 1.1fr;gap:34px;max-width:1200px;margin:auto;align-items:start}
.fbrand{position:relative;height:150px}.fl{height:120px;position:absolute;left:0;bottom:0}.ft{position:absolute;left:100px;bottom:0;height:90px;width:50px}
.fcol p{margin:0 0 14px}.links{display:grid;gap:8px}.links a{color:var(--ink);text-decoration:none;font-weight:600}.links a:first-child{color:var(--leaf)}
.fform{background:#fff;border-radius:16px;padding:18px;display:grid;gap:8px;box-shadow:0 10px 24px -18px #5f4a2d}.fform label{display:grid;gap:3px;font-weight:600;font-size:14px}
.fform input,.fform textarea{border:2px solid #e2d8c6;border-radius:10px;padding:8px;font:inherit;background:#fff}.fform .cta{padding:8px 24px;font-size:22px;justify-self:start}
.copy{text-align:center;font-size:14px;margin:22px 0 0}
/* inner pages on the new look */
.subhero h1,.subhero.split h1{color:var(--terra)}.subhero h1 span{color:var(--leaf)}
.kicker{font-family:var(--hand);font-size:26px;color:var(--ink)}
.section h2{font-family:var(--hand);color:var(--terra);font-size:clamp(38px,4.6vw,54px)}
.alt{background:transparent}.card,.term{border-radius:30px}.card h3,.term h3,.note h3{font-family:var(--hand)}.card h3{font-size:32px}
@media(max-width:900px){.fwrap{grid-template-columns:1fr 1fr}.hola,.split{grid-template-columns:1fr}.hrp{text-align:center;padding:40px 24px}.hr{padding-left:0}.tr.mid{display:none}.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.topbar{gap:8px 16px;font-size:12px}.intro .tl,.intro .tr2{height:150px;width:80px;top:90px}.intro .tr2{right:-14px}.intro .tl{left:-14px}.why .wl,.why .wr,.why .wm{display:none}.fwrap{grid-template-columns:1fr}.bc h2{font-size:36px}.ic h3{font-size:34px}.bq{font-size:130px;height:60px}}
@media (prefers-reduced-motion:reduce){.pan .pfawn{animation:none}}
.nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px}
.nav nav{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.nav nav a{padding:8px 12px;border-radius:30px;font-size:16px}
.nav>.cta{font-size:21px;padding:12px 26px;white-space:nowrap}.nav .logo img,.nav img{max-height:84px;width:auto}
.why .wm{display:none}.why{padding-bottom:140px}.hola .tr.mid{display:none}
@media(max-width:900px){.nav{flex-wrap:wrap}.nav>.cta{display:none}.nav nav{display:none;width:100%;flex-direction:column}.mt:checked~nav{display:flex}.nav .burger{margin-left:auto}}
@media(max-width:700px){.intro .tr{display:none}.intro .h1{font-size:15vw}}
