@font-face{font-family:Caudex;src:url('assets/caudex.woff2?v=26cd870bd19d') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#efd4bc;--ink:#803e2c;--clay:#964c36;--cream:#fff0d8;--serif:Caudex,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 20px/1.45 var(--serif);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0;font-weight:400}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid currentColor;outline-offset:7px}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
html.js .word-reveal.words-ready .reveal-word{display:inline-block}
html.js .block-reveal{opacity:0;transform:translateY(22px)}
.wrap{width:min(1160px,calc(100% - 100px));margin-inline:auto}
.welcome{overflow:hidden}
.skip-link{position:absolute;z-index:20;top:14px;left:20px;background:var(--cream);padding:10px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
main:focus{outline:none}
.hero{position:relative;text-align:center;padding-top:55px}
.hero h1{font-size:clamp(140px,20vw,288px);line-height:1;letter-spacing:-.058em;padding-right:.06em}
.hero-greeting{font-size:clamp(24px,2.5vw,34px);margin-top:0;letter-spacing:-.035em}
.chair-area{position:relative;width:min(820px,100%);margin:-9px auto 0}
.chair-stage{position:relative;width:min(660px,100%);height:500px;margin:0 auto;isolation:isolate}
.chair-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}
.chair-stage canvas:active{cursor:grabbing}
.chair-stage canvas:focus-visible{outline-offset:-12px;border-radius:16px}
.chair-invitation{position:absolute;right:0;top:37%;transform:rotate(7deg);text-align:left}
.chair-invitation button{border:0;border-bottom:1px solid currentColor;padding:3px 0 5px;background:none;font-size:22px;cursor:pointer;white-space:nowrap}
.curved-arrow{display:block;width:69px;height:62px;margin-left:21px;transform:rotate(-28deg);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.chair-help{font-size:16px;margin-top:-5px;color:#8c513f}
.intro{text-align:center;padding:100px 0 108px}
.intro>p{max-width:1020px;margin-inline:auto;font-size:clamp(26px,2.6vw,37px);line-height:1.4;letter-spacing:-.025em}
h2{font-size:clamp(58px,6.4vw,88px);line-height:1.08;letter-spacing:-.05em}
.apps{background:var(--clay);color:var(--cream);padding:76px 0;scroll-margin-top:-30px}
.apps-inner{display:flex;flex-direction:column;align-items:center;gap:34px;text-align:center}
.apps-heading p{font-size:24px;margin-top:28px}
.app-link{display:block;width:280px;flex:none;text-align:center;text-decoration:none}
.app-link img{width:100%;filter:drop-shadow(0 16px 14px #47261e35);transition:transform .35s ease,filter .35s ease}
.app-name{display:table;margin:20px auto 0;padding:8px 18px 9px;border-radius:999px;background:rgba(0,0,0,.2);font:600 20px/1 Arial,sans-serif;letter-spacing:.01em;transition:transform .35s ease,background-color .35s ease}
.app-link:hover img,.app-link:focus-visible img{transform:translateY(-8px);filter:drop-shadow(0 25px 22px #47261e55)}
.app-link:hover .app-name,.app-link:focus-visible .app-name{transform:scale(1.06);background-color:rgba(0,0,0,.27)}
.patio-section{padding:100px 0 76px}
.patio-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:85px}
.patio-heading h2{font-size:clamp(62px,7vw,100px)}
.patio-heading p{font-size:22px;line-height:1.5;padding-bottom:5px}
.photo-pile{position:relative;isolation:isolate;width:min(1180px,calc(100% - 110px));aspect-ratio:1.1;margin:0 auto 90px}
.photo-print{position:absolute;transform:rotate(var(--angle));transform-origin:50% 55%}
.print-garden{--angle:-7deg;width:63%;left:0;top:0;z-index:1}
.print-lemon{--angle:8deg;width:55%;right:0;top:24%;z-index:2}
.print-patio{--angle:-4deg;width:61%;left:8%;top:55%;z-index:3}
.patio-photo{position:relative;display:block;width:100%;aspect-ratio:1.5;overflow:hidden;isolation:isolate;border-radius:14px;background:#bf8766;color:#fff1d8}
.print-lemon .patio-photo{aspect-ratio:1.25}
.sun-shape{position:absolute;width:65%;aspect-ratio:1;border-radius:50%;background:#e4b17d;right:-10%;top:-25%;box-shadow:0 0 80px #e4b17d55}
.garden-shadows{position:absolute;inset:-30%;opacity:.22;transform:rotate(-26deg);background:repeating-linear-gradient(90deg,transparent 0 14%,#623622 15% 17%,transparent 18% 27%);filter:blur(9px)}
.photo-garden::after{content:"";position:absolute;width:47%;height:115%;border-radius:50% 50% 0 0;bottom:-37%;left:13%;background:#7e624a;opacity:.2;transform:rotate(-18deg);pointer-events:none}
.photo-lemon{background:#9ba584;color:#fff9d7}
.photo-lemon .sun-shape{background:#d8cf84;width:53%;right:12%;top:19%;box-shadow:0 0 90px #c8c88866}
.photo-lemon .garden-shadows{transform:rotate(38deg);opacity:.21;background:repeating-linear-gradient(60deg,transparent 0 12%,#394d30 13% 17%,transparent 18% 25%);filter:blur(18px)}
.photo-patio{background:#bb7255}
.photo-patio .sun-shape{right:48%;top:-9%;width:80%;background:#e5b685;box-shadow:0 0 100px #e5b68588}
.photo-patio .garden-shadows{transform:rotate(23deg);opacity:.15}
.patio-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.site-footer{border-top:1px solid #803e2c40;display:flex;align-items:center;gap:32px;padding:30px 0 38px;font-size:16px}
.footer-brand{font-size:38px;letter-spacing:-.05em;text-decoration:none;margin-right:auto}
.copyright{opacity:.8}
@media(min-width:1700px){.hero h1{font-size:300px}.chair-stage{height:560px;width:620px}.chair-area{width:900px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.chair-area{width:760px;max-width:100%}.chair-invitation{right:20px;top:40%}.chair-invitation button{font-size:20px}.app-link{width:240px}.photo-pile{width:calc(100% - 90px);aspect-ratio:1.04}.patio-heading p{font-size:20px}}
@media(max-width:760px){
 .wrap{width:calc(100% - 40px)}
 .hero{padding-top:48px}
 .hero h1{font-size:clamp(118px,29vw,220px);line-height:.98;letter-spacing:-.065em}
 .hero-greeting{font-size:24px;margin-top:12px}
 .chair-area{margin-top:7px}
 .chair-stage{height:400px;width:100%;max-width:440px}
 .chair-invitation{position:static;transform:rotate(-4deg);text-align:center;margin:0 auto;width:max-content}
 .chair-invitation button{font-size:20px}
 .curved-arrow{display:none}
 .chair-help{margin-top:16px;font-size:14px}
 .intro{padding:78px 0 76px}
 .intro>p{font-size:clamp(23px,5.8vw,30px);line-height:1.45}
 h2{font-size:58px}
 .apps{padding:48px 0 44px}
 .apps-inner{gap:40px}
 .apps-heading p{font-size:20px;margin-top:18px}
 .app-link{width:220px}
 .app-name{font-size:30px;margin-top:18px}
 .patio-section{padding:62px 0 50px}
 .patio-heading{display:block;margin-bottom:60px}
 .patio-heading h2{font-size:clamp(49px,12vw,78px)}
 .patio-heading p{font-size:20px;margin-top:21px;padding:0}
 .photo-pile{width:calc(100% - 42px);aspect-ratio:.47}
 .print-garden{width:91%;left:0;top:0;--angle:-5deg}
 .print-lemon{width:88%;right:0;top:29%;--angle:6deg}
 .print-patio{width:93%;left:0;top:64%;--angle:-4deg}
 .patio-photo{aspect-ratio:1.15}
 .print-lemon .patio-photo{aspect-ratio:1.05}
 .site-footer{flex-wrap:wrap;gap:13px 23px;padding-block:24px 30px;font-size:14px}
 .footer-brand{font-size:33px;flex-basis:100%;margin-bottom:3px}
 .site-footer>a:last-child{margin-left:auto}
}
@media(max-width:360px){.chair-stage{height:360px}.photo-pile{aspect-ratio:.45}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
