:root{font-family:'DM Sans',sans-serif;color:#30332a;background:#f9f6ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #9066ac;outline-offset:5px}.page-shell{max-width:1600px;margin:auto}.header{height:108px;display:flex;justify-content:space-between;align-items:center;padding:0 7.1%}.logo{display:flex;align-items:center;gap:11px;font-family:Outfit,sans-serif;font-size:25px;font-weight:700;letter-spacing:-1.15px}.logo-dot{color:#df795c}.logo-mark{width:36px;height:36px;border-radius:12px;background:#f2b644;position:relative;display:inline-block}.logo-mark i{position:absolute;width:4px;height:4px;border-radius:50%;background:#30332a;top:13px;left:11px}.logo-mark i:nth-child(2){left:22px}.logo-mark b{position:absolute;width:12px;height:6px;border-bottom:2px solid #30332a;border-radius:0 0 10px 10px;left:12px;top:19px}.header-signin{border:1px solid #d5d5c8;border-radius:100px;padding:11px 17px;background:transparent;font-size:13px;font-weight:700}.header-signin span{margin-left:13px;font-size:15px}.header-signin:hover{background:#fff}.hero{min-height:580px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:18px 7.1% 60px}.hero-copy{max-width:590px;padding-bottom:20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#777d68;display:flex;align-items:center;gap:10px}.eyebrow span{width:8px;height:8px;background:#e78363;border-radius:50%}h1{font-family:Outfit,sans-serif;font-size:clamp(60px,6.4vw,98px);line-height:1.04;letter-spacing:-5px;font-weight:600;margin:26px 0 23px}h1 em,.closing em{font-style:normal;color:#d97055}.intro{max-width:440px;color:#737568;font-size:17px;line-height:1.75;margin:0 0 32px}.google-button{width:min(100%,315px);height:59px;border:1px solid #30332a;border-radius:8px;background:#30332a;color:#fff;display:flex;align-items:center;gap:15px;padding:0 17px;font-size:14px;font-weight:700;box-shadow:0 5px 0 #d8d3c3;transition:transform .2s,box-shadow .2s}.google-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #d8d3c3}.google-button>svg{background:#fff;border-radius:50%;padding:3px;width:27px;height:27px}.button-arrow{margin-left:auto;font-size:18px}.signin-note{font-size:12px;color:#858779;margin:17px 0 0;min-height:20px}.art{height:510px;position:relative;display:grid;place-items:center}.art-backdrop{position:absolute;width:440px;height:440px;border-radius:50%;background:#f2e9d5}.arch{width:300px;height:375px;background:#cfdfcc;border:9px solid #f9f6ed;border-radius:160px 160px 22px 22px;position:relative;transform:rotate(4deg);box-shadow:0 15px 35px #c6b9a633;overflow:hidden}.arch-inner{position:absolute;inset:0;overflow:hidden;border-radius:150px 150px 12px 12px}.sun{position:absolute;width:130px;height:130px;background:#f4bc4a;border-radius:50%;top:55px;left:75px}.sun-eye{position:absolute;top:52px;width:5px;height:7px;background:#4b4534;border-radius:50%}.sun-eye.left{left:46px}.sun-eye.right{right:46px}.sun-smile{position:absolute;top:67px;left:53px;width:25px;height:12px;border-bottom:3px solid #4b4534;border-radius:0 0 20px 20px}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-back{height:160px;width:380px;background:#9cb694;left:-155px;bottom:-20px;transform:rotate(14deg)}.hill-front{height:150px;width:360px;background:#668d73;right:-150px;bottom:-40px;transform:rotate(-20deg)}.flower{position:absolute;bottom:48px;font-size:42px;color:#f9f1da;line-height:1}.flower:after{content:'';display:block;background:#f9f1da;width:2px;height:50px;margin:-8px auto 0}.flower-one{left:60px;transform:rotate(-12deg)}.flower-two{right:48px;bottom:14px;font-size:31px;transform:rotate(15deg);color:#f6c36d}.spark{position:absolute;color:#d77759;z-index:1}.spark-one{font-size:43px;left:8%;top:90px}.spark-two{font-size:32px;right:10%;top:85px;color:#d3a437}.spark-three{font-size:24px;right:8%;bottom:95px;color:#91aa88}.note-card{position:absolute;bottom:48px;left:2%;display:flex;align-items:center;gap:14px;padding:17px 22px;background:#fffdf7;border-radius:12px;box-shadow:0 12px 35px #978a7030;transform:rotate(-6deg);font-size:13px;line-height:1.5;color:#88897c}.note-card>span{font-size:35px;color:#e7957c}.note-card strong{color:#34382e;font-size:15px}.orbit{position:absolute;right:0;bottom:29px;font-size:9px;letter-spacing:1.5px;color:#8c8f7e;font-weight:700;transform:rotate(-90deg);transform-origin:right center}.orbit span{color:#e39376;padding:0 6px}.welcome-strip{margin:0 7.1%;border-block:1px solid #dedfd2;min-height:83px;display:flex;align-items:center;justify-content:space-between;color:#8c8e7f;font-size:10px;font-weight:700;letter-spacing:1.7px}.strip-stars{font-size:19px;color:#e39a7b;letter-spacing:14px}.strip-stars i{font-style:normal;color:#e5b84e}.closing{text-align:center;padding:72px 20px 80px}.closing-spark{color:#dea83f;font-size:25px}.closing p{font-family:Outfit,sans-serif;font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-1.2px;margin:17px 0}.closing-label{color:#999b8d;font-size:9px;letter-spacing:1.8px;font-weight:700}footer{margin:0 7.1%;padding:25px 0 35px;border-top:1px solid #dedfd2;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#898b7d;font-size:11px}footer strong{color:#575d4e}footer>span:last-child{font-size:9px;letter-spacing:1px}footer>span:last-child span{color:#dd876b;font-size:15px;margin-left:5px}@media(max-width:800px){.header{height:82px;padding-inline:6%}.logo{font-size:22px}.hero{grid-template-columns:1fr;padding:45px 6% 45px;gap:10px}.hero-copy{padding:0}h1{font-size:clamp(56px,11vw,78px);letter-spacing:-3px}.intro{font-size:16px}.art{height:400px}.art-backdrop{width:340px;height:340px}.arch{width:240px;height:300px}.sun{width:105px;height:105px;left:58px;top:42px}.sun-eye{top:42px}.sun-eye.left{left:36px}.sun-eye.right{right:36px}.sun-smile{top:54px;left:42px;width:21px}.note-card{left:5%;bottom:20px}.spark-one{left:10%;top:50px}.spark-two{right:10%;top:50px}.orbit{right:2%;bottom:20px}.welcome-strip{margin-inline:6%}.closing{padding:60px 20px}footer{margin-inline:6%;flex-wrap:wrap}footer>span:last-child{display:none}}@media(max-width:420px){.hero{padding-top:30px}h1{font-size:55px}.art{height:340px}.art-backdrop{width:290px;height:290px}.arch{transform:scale(.88) rotate(4deg)}.note-card{left:0;bottom:8px;padding:12px 15px}.welcome-strip{font-size:8px;letter-spacing:1px}.strip-stars{letter-spacing:6px}.orbit{display:none}footer{line-height:1.6}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Lucide icons inherit the surrounding accent color. */
.header-signin .lucide{width:16px;height:16px;vertical-align:middle;margin-left:10px}.button-arrow .lucide{width:19px;height:19px;display:block}.spark .lucide{display:block;width:1em;height:1em;stroke-width:1.7}.flower .lucide{display:block;width:1em;height:1em;stroke-width:1.8}.note-card>span .lucide{display:block;width:34px;height:34px;stroke-width:1.6}.orbit span .lucide{width:11px;height:11px;vertical-align:middle}.strip-stars{display:flex;gap:14px}.strip-stars .lucide{width:19px;height:19px}.strip-stars .lucide:nth-child(2){color:#e5b84e}.closing-spark .lucide{width:25px;height:25px}footer .lucide{width:13px;height:13px;vertical-align:middle}footer>span:last-child .lucide{width:15px;height:15px}

/* A quiet little game for the landing page. */
.puzzle-section{margin:0 7.1%;padding:100px 5%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8%;border-bottom:1px solid #dedfd2}.puzzle-copy h2{font-family:Outfit,sans-serif;font-size:clamp(42px,4.5vw,68px);font-weight:600;line-height:1.08;letter-spacing:-2.5px;margin:25px 0}.puzzle-copy h2 em{font-style:normal;color:#d97055}.puzzle-copy>p:not(.puzzle-status){max-width:410px;color:#737568;font-size:16px;line-height:1.8}.puzzle-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.puzzle-shuffle{border:0;border-radius:8px;background:#30332a;color:#fff;padding:16px 19px;font-size:13px;font-weight:700}.puzzle-shuffle:hover{background:#505846}.puzzle-shuffle span{font-size:19px;margin-left:12px}.puzzle-actions>span{font-size:12px;color:#777d68;font-weight:700}.puzzle-status{min-height:20px;color:#69826b;font-size:13px}.puzzle-hint{font-size:12px;color:#737568;margin-top:20px}.puzzle-hint span{font-size:9px;font-weight:700;letter-spacing:1.5px}.puzzle-hint img{display:block;width:min(240px,100%);aspect-ratio:4/3;object-fit:fill;border-radius:8px;margin-top:12px}.puzzle-credit{display:inline-block;color:#999b8d;font-size:10px;margin-top:18px;text-decoration:underline;text-underline-offset:3px}.puzzle-frame{background:#e9e9da;padding:18px;border-radius:18px;box-shadow:0 15px 35px #b7b39e30;transform:rotate(1deg)}.puzzle-frame-label,.puzzle-caption{display:flex;justify-content:space-between;align-items:center;color:#7d8473;font-size:9px;font-weight:700;letter-spacing:1.5px;padding:0 3px 13px}.puzzle-caption{padding:13px 3px 0}.puzzle-caption span:last-child{font-size:19px;color:#d97055}.puzzle-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);aspect-ratio:4/3;gap:4px;background:#d4d9c8;padding:4px;border-radius:8px;overflow:hidden}.puzzle-tile,.puzzle-space{min-width:0;min-height:0;border:0;border-radius:3px}.puzzle-tile{background-image:url('/images/landscape.jpg');background-size:300% 300%;padding:0;transition:filter .15s}.puzzle-tile:hover:not(:disabled){filter:brightness(1.12)}.puzzle-tile:focus-visible{outline:3px solid #fff;outline-offset:-4px;position:relative;z-index:1}.puzzle-tile:disabled{cursor:default}.puzzle-space{background:#c4ccba}
@media(max-width:800px){.puzzle-section{margin-inline:6%;padding:70px 0;grid-template-columns:1fr;gap:35px}.puzzle-frame{width:min(100%,520px);justify-self:center}.puzzle-copy h2{letter-spacing:-1.5px}}
@media(max-width:420px){.puzzle-frame{padding:12px}.puzzle-board{gap:3px;padding:3px}.puzzle-section{padding:55px 0}}

/* Bounce / Orchard identity. */
:root{--orchard-green:#638b47;--forest:#103b20;--orange:#e85a00;--ochre:#e7a20b;--cream:#fbf6e9;--muted-forest:#52664d;color:var(--forest);background:var(--cream)}
button:focus-visible,a:focus-visible{outline-color:var(--orange)}
.logo{display:block;font-family:Fredoka,Outfit,sans-serif;font-size:clamp(25px,2.3vw,32px);font-weight:600;letter-spacing:-1.4px;line-height:1}
.logo>span{display:flex;align-items:baseline;white-space:nowrap}
.logo-dot{display:inline-block;width:.7em;height:.7em;margin:0 .035em;align-self:center;transform:translateY(.13em)}
h1,.closing p,.puzzle-copy h2{font-family:Fredoka,Outfit,sans-serif;font-weight:600;letter-spacing:-.035em}
h1 em,.closing em,.puzzle-copy h2 em{color:#b94600}
.eyebrow{color:#4a6442}.eyebrow span{background:var(--orange)}
.intro,.puzzle-copy>p:not(.puzzle-status){color:#4e604b}
.google-button,.puzzle-shuffle{background:var(--forest);border-color:var(--forest)}
.google-button{box-shadow:0 5px 0 #dfd6ba}.google-button:hover{box-shadow:0 7px 0 #dfd6ba}.puzzle-shuffle:hover{background:#245b32}
.signin-note,.puzzle-actions>span,.puzzle-hint{color:#53674d}
.art-backdrop{background:#eee6cd}.arch{background:#dce7ce;border-color:var(--cream)}
.sun{object-fit:contain}.hill-back{background:#91ad70}.hill-front{background:#426f38}
.spark,.note-card>span,.orbit span,.strip-stars,.puzzle-caption span:last-child,footer>span:last-child span{color:var(--orange)}
.spark-two,.closing-spark,.strip-stars .lucide:nth-child(2){color:#b77800}.spark-three{color:var(--orchard-green)}
.note-card{color:#53674d}.note-card strong{color:var(--forest)}
.orbit,.welcome-strip,.closing-label,footer{color:#5d7056}.welcome-strip,.puzzle-section,footer{border-color:#d4dcc9}
.puzzle-status{color:#426f38}.puzzle-frame{background:#e1e9d7}.puzzle-frame-label,.puzzle-caption{color:#4d6547}.puzzle-board{background:#c6d5bb}.puzzle-space{background:#9db693}
footer strong{color:var(--forest)}
@media(max-width:800px){.logo{font-size:26px}}
