@font-face{font-family:Switzer;src:url('assets/fonts/Switzer-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Clash;src:url('assets/fonts/ClashGrotesk-Variable.ttf') format('truetype');font-weight:200 700;font-display:swap}
:root{--paper:#f3f6f2;--ink:#14231e;--muted:#556c5e;--green:#0a7455;--line:#d3ddd3;--sage:#e4ece1;--deep:#132a20}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 Switzer,system-ui,sans-serif}
body.dialog-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{max-width:100%;height:auto;display:block}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
h1,h2,h3{font-family:Clash,system-ui,sans-serif;letter-spacing:-.04em;line-height:1.04;margin:0;font-weight:550}
header,main,footer{max-width:1240px;margin:auto;padding-left:36px;padding-right:36px}
.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;gap:10px;align-items:center;font:600 27px Clash,system-ui,sans-serif;white-space:nowrap}
.brand img{border-radius:10px}
.badge{font:500 11px Switzer,system-ui,sans-serif;background:var(--sage);border-radius:20px;padding:5px 9px;margin-left:4px}
nav{display:flex;align-items:center;gap:28px;font-size:14px}
nav>a{display:inline-flex;align-items:center;min-height:44px}
nav .repo{border:1px solid var(--line);border-radius:24px;padding:10px 16px;gap:5px}
.repo svg{width:16px;height:16px}
.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:20px 0 64px}
h1{font-size:clamp(58px,6.4vw,88px)}
.intro{font-size:20px;line-height:1.6;color:var(--muted);margin:28px 0 30px;max-width:400px}
.button{display:inline-flex;align-items:center;gap:30px;background:var(--green);color:#fff;border-radius:32px;padding:16px 24px;font-weight:550;transition:background .15s ease}
.button:hover{background:#075a43}
.caption{font-size:12px;color:var(--muted);margin-top:17px}
.hero-art{position:relative;height:580px;isolation:isolate}
.hero-art:before{content:"";position:absolute;inset:0 -8px;border-radius:50%;background:radial-gradient(ellipse,#cfe3d4 0,transparent 68%);z-index:-1}
.phone{border:5px solid #17221d;box-shadow:0 24px 50px #0d27171c;border-radius:33px;width:260px;background:#17221d}
.hero .phone{position:absolute;width:270px}
.behind{top:74px;left:0;transform:rotate(-8deg)}
.front{right:6px;top:8px;transform:rotate(6deg)}
.screens{border-top:1px solid var(--line);padding:66px 0 80px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
h2{font-size:clamp(38px,4.2vw,55px)}
.appearance{display:inline-flex;border:1px solid var(--line);border-radius:28px;padding:4px;gap:2px;flex-shrink:0}
.appearance button{min-height:44px;border:0;border-radius:22px;background:transparent;color:var(--muted);padding:9px 18px;font-size:14px}
.appearance [aria-pressed=true]{background:var(--deep);color:#fff}
.screen-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:5px;background:var(--sage);border-radius:18px;margin-bottom:16px}
.screen-tabs button{border:0;border-radius:13px;background:transparent;color:#4a6254;padding:14px 10px;min-height:50px;font-size:15px;font-weight:550;transition:background .15s ease,color .15s ease}
.screen-tabs [aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 5px #14231e0a}
.screen-tabs button:hover:not([aria-selected=true]){background:#d7e3d3}
.screen-panel{display:grid;grid-template-columns:1fr 1fr;border-radius:32px;background:var(--sage);overflow:hidden;min-height:572px}
.screen-stage{display:grid;place-items:center;padding:36px 30px 24px;background:#dce7d8}
.screen-preview{display:flex;flex-direction:column;align-items:center;gap:14px;border-radius:30px;max-width:100%}
.screen-preview .phone{width:234px;box-shadow:0 15px 35px #17371f1a;border-radius:28px}
.enlarge{display:flex;align-items:center;gap:7px;color:#425c49;font-size:12px;min-height:32px}
.enlarge svg{width:16px;height:16px}
.screen-copy{align-self:center;padding:44px 48px}
.screen-copy h3{font-size:clamp(34px,4vw,50px);max-width:340px}
.screen-copy>p:not(.screen-caption){font-size:18px;line-height:1.65;color:var(--muted);max-width:330px;margin:24px 0}
.text-link{display:inline-flex;align-items:center;gap:12px;color:#096546;font-size:15px;font-weight:600;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#09654655}
.text-link svg{width:20px;height:20px}
.screen-caption{margin:36px 0 0;font-size:12px;color:#536c5a}
.widgets-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;background:var(--deep);color:#f0f5ed;border-radius:32px;padding:52px 56px;margin-bottom:32px}
.widget-heading{align-self:center}
.widget-heading>p{font-size:18px;line-height:1.6;color:#bdd0c1;margin:22px 0 0;max-width:320px}
.widget-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}
.widget-gallery figure{margin:0;min-width:0}
.widget-preview{display:block;border-radius:24px}
.widget-gallery img{width:100%;border-radius:24px}
.widget-gallery figcaption{font-size:14px;margin-top:14px;color:#e0e9df}
.widget-caption{grid-column:2;font-size:12px;color:#b5c9ba;margin:0}
.preview-note{margin:0 0 54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.preview-note summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:21px 0;font-size:14px;color:var(--ink)}
.preview-note summary::-webkit-details-marker{display:none}
.preview-note summary svg{width:18px;height:18px;transition:transform .15s ease}
.preview-note[open] summary svg{transform:rotate(180deg)}
.preview-note>div{max-width:850px;padding:0 0 24px;line-height:1.7}
.preview-note p{margin:0 0 12px}
.preview-note a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 0;color:#096546}
footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:120px;border-top:1px solid var(--line);padding-top:24px;padding-bottom:32px;font-size:12px;color:var(--muted)}
footer .brand{color:var(--ink);font-size:24px}
footer>a:last-child{padding:12px 0}
dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff22;border-radius:24px;background:#f3f6f2;color:var(--ink);box-shadow:0 28px 100px #0005;overflow:auto}
dialog::backdrop{background:#0c201bd9;backdrop-filter:blur(12px)}
.dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;background:var(--paper)}
.dialog-header h2{font:550 22px/1.25 Clash,system-ui,sans-serif;letter-spacing:-.02em}
.close-dialog{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;background:var(--sage);border:0;border-radius:50%;color:var(--ink)}
.dialog-body{padding:8px 20px;display:flex;justify-content:center}
.dialog-body img{border-radius:18px;max-height:calc(100dvh - 195px);width:auto;max-width:100%;object-fit:contain}
#dialog-caption{margin:12px 20px 20px;color:var(--muted);font-size:12px;text-align:center}
.skip{position:absolute;left:10px;top:-80px;padding:12px;background:white;z-index:10}
.skip:focus{top:10px}
:focus-visible{outline:3px solid #0a7455;outline-offset:5px}
.widgets-section :focus-visible{outline-color:#9cdfb8}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:851px) and (max-width:1050px){.hero .phone{width:235px}.hero-art{height:520px}.hero{min-height:620px}.behind{left:-10px;top:75px}.front{right:0;top:25px}.screen-copy{padding:36px}}
@media(max-width:850px){nav{gap:18px}nav>a:not(.repo){display:none}.hero{grid-template-columns:1fr;padding-top:45px;gap:20px}.hero-copy{max-width:620px}.hero-art{max-width:500px;width:100%;margin:auto;height:570px}.screen-panel{grid-template-columns:.95fr 1fr}.screen-copy{padding:28px}.screen-copy h3{font-size:39px}.screen-copy>p:not(.screen-caption){font-size:16px}.screen-stage{padding:30px 22px 20px}.screen-tabs button{font-size:14px;padding-left:4px;padding-right:4px}.widgets-section{padding:40px 36px}.widget-heading>p{font-size:16px}}
@media(max-width:560px){header,main,footer{padding-left:22px;padding-right:22px}.site-header{min-height:84px;gap:12px}.brand{font-size:25px;gap:8px}.brand img{width:34px;height:34px}.badge{margin-left:0}nav .repo{font-size:12px;padding:8px 12px}.hero{padding:32px 0 26px;gap:20px}h1{font-size:clamp(49px,13.8vw,70px)}.intro{font-size:18px;line-height:1.6;margin:22px 0 24px}.hero-art{height:466px;max-width:358px;margin-top:14px}.hero .phone{width:210px;border-width:4px;border-radius:26px}.behind{left:0;top:63px;transform:rotate(-7deg)}.front{right:0;top:15px;transform:rotate(6deg)}.hero-art:before{inset:0}.button{padding:14px 22px}.caption{font-size:11px}.screens{padding:42px 0 48px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:24px}h2{font-size:39px}.appearance{align-self:flex-start}.screen-tabs{grid-template-columns:repeat(3,1fr);gap:4px;border-radius:17px;margin-bottom:12px}.screen-tabs button{min-height:44px;padding:9px 5px;font-size:14px;border-radius:12px}.screen-panel{grid-template-columns:1fr;border-radius:24px;min-height:0}.screen-copy{grid-row:1;padding:30px 28px 24px}.screen-copy h3{font-size:34px;max-width:270px}.screen-copy h3 br{display:none}.screen-copy>p:not(.screen-caption){font-size:16px;line-height:1.6;margin:16px 0 10px;max-width:290px}.screen-caption{display:none}.text-link{font-size:14px}.screen-stage{padding:28px 24px 18px}.screen-preview .phone{width:225px;max-width:100%;border-width:4px;border-radius:27px}.screen-preview{gap:9px}.widgets-section{display:block;padding:32px 26px;border-radius:24px;margin-bottom:24px}.widget-heading>p{margin-top:18px}.widget-heading h2{font-size:37px}.widget-heading>p{font-size:16px}.widget-heading>p br{display:none}.widget-gallery{grid-template-columns:1fr;gap:25px;margin-top:30px}.widget-gallery img{border-radius:20px}.widget-gallery figcaption{margin-top:10px}.widget-caption{font-size:11px;line-height:1.6;margin-top:26px}.preview-note{margin-bottom:32px}.preview-note summary{font-size:13px}footer{gap:20px;flex-wrap:wrap;min-height:120px}footer p{order:3;width:100%;margin:0}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.dialog-header{padding:12px 16px;gap:12px}.dialog-header h2{font-size:20px}.dialog-body{padding:4px 16px}.dialog-body img{max-height:calc(100dvh - 180px)}#dialog-caption{margin:12px 16px 16px;font-size:11px}}
@media(max-width:360px){header,main,footer{padding-left:18px;padding-right:18px}.site-header .badge{display:none}.hero .phone{width:188px}.hero-art{height:420px}.screen-copy{padding:26px 22px 20px}.screen-copy h3{font-size:31px}.screen-stage{padding-left:22px;padding-right:22px}.screen-preview .phone{width:212px}.widgets-section{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
