@font-face{font-family:'Alice';src:url('assets/fonts/Alice-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--plum:#54244f;--rose:#e8a6bc;--olive:#b9bf8a;--cream:#fbf5e9;--ink:#30212f;--muted:#695466;--line:#d8cfc7;--serif:'Alice',Georgia,serif;--text:var(--serif);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--text);font-synthesis:none;line-height:1.65}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.015em;font-synthesis:none}h1{font-size:clamp(64px,7.7vw,112px)}h2{font-size:clamp(40px,4.7vw,68px)}h3{font-size:23px;line-height:1.3;letter-spacing:-.025em}em{font-weight:400;font-style:normal}p+p{margin-top:20px}p{font-size:18px}a:focus-visible{outline:3px solid var(--plum);outline-offset:6px;border-radius:4px}.hero a:focus-visible{outline-color:var(--cream)}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--cream);padding:12px}.skip:focus{top:10px}.site-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 5%}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-family:var(--serif);font-size:34px;line-height:1;font-weight:400;font-synthesis:none}.brand img,.support>img{border-radius:24%}nav{display:flex;gap:30px}nav a{min-height:44px;display:flex;align-items:center;font-size:15px;font-weight:400;text-decoration:none}nav a:hover{text-decoration:underline}.hero{position:relative;background:var(--plum);color:var(--cream);padding:70px max(6%,calc((100vw - 1260px)/2)) 80px;display:grid;grid-template-columns:1.35fr .65fr;gap:8%;align-items:center;overflow:hidden}.eyebrow{font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--olive);margin-right:8px}.hero h1 em{color:var(--rose)}.lead{max-width:565px;margin-top:30px;font-size:20px;line-height:1.7}.actions{display:flex;align-items:center;gap:28px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:14px 24px;border-radius:12px;text-decoration:none;font-size:16px;font-weight:400;border:1px solid transparent;transition:transform .15s}.button:hover{transform:translateY(-2px)}.rose{background:var(--rose);color:var(--ink)}.plum{background:var(--plum);color:var(--cream)}.text-link{font-size:15px;font-weight:400}.hero-note{font-size:13px;color:var(--cream);margin-top:28px}.hero-screen{width:100%;max-width:292px;justify-self:center;transform:rotate(3deg)}.hero-screen>img{border-radius:28px;border:6px solid #30172c;box-shadow:14px 20px 0 #3b1837}.hero-screen figcaption{font:400 16px var(--text);text-align:center;margin-top:30px}.hero-number{position:absolute;bottom:22px;left:6%;font-size:10px;letter-spacing:.18em}.section-pad{padding:90px max(6%,calc((100vw - 1260px)/2))}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.intro h2 em{color:var(--plum)}.intro-grid>div{padding-top:8px;color:var(--muted)}.large-copy{font:32px var(--serif);color:var(--ink);margin-bottom:20px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:68px;padding-top:34px;border-top:1px solid var(--line)}.step{display:block;font-size:11px;letter-spacing:.13em;font-weight:400;margin-bottom:20px;color:var(--plum)}.principles p,.feature-grid p{color:var(--muted);font-size:16px;margin-top:14px}.screens{background:#efe6e5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.section-heading>p{max-width:340px;color:var(--muted)}.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:850px;margin:auto}.phone-grid figure>a{display:block;max-width:320px;margin:0 auto 34px}.phone-grid img{border-radius:27px;box-shadow:0 16px 35px #54244f20;border:1px solid #d2c3cb}.phone-grid figcaption{max-width:340px;margin:auto}.phone-grid figcaption p,.mac-shot figcaption p{font-size:16px;color:var(--muted);margin-top:12px}.mac-shot{margin-top:75px}.mac-shot img{border-radius:16px;box-shadow:0 18px 40px #54244f20;border:1px solid #c6b5bd}.mac-shot figcaption{text-align:center;margin-top:32px}.caption-note{text-align:center;margin-top:30px;font-size:12px;color:var(--muted)}.details h2 em{color:var(--plum)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px;margin-top:50px}.feature-grid article{padding-top:24px;border-top:1px solid var(--line)}.availability{background:var(--olive);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.availability .eyebrow{color:var(--ink)}.availability h2{font-size:clamp(38px,4vw,58px)}.availability p{font-size:16px}.support{text-align:center;max-width:900px;margin:auto}.support>img{margin:0 auto 25px}.support .eyebrow{margin-bottom:20px}.support>p:not(.eyebrow){max-width:520px;margin:25px auto;color:var(--muted)}.support .support-note{font-size:12px!important}footer{border-top:1px solid var(--line);max-width:1260px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer .brand{font-size:28px}footer p,footer>a:last-child{font-size:13px}.policy{max-width:820px;margin:auto;padding:65px 28px 100px}.policy h1{font-size:58px;margin-bottom:32px}.policy h2{font-family:var(--text);font-size:25px;letter-spacing:-.02em;margin:35px 0 15px}.policy p{font-size:17px;color:var(--muted)}.policy .eyebrow{font-size:12px}
@media(min-width:1600px){.hero{gap:100px}.hero-screen{max-width:320px}}
@media(max-width:760px){.site-header{padding:20px 6%}.brand{font-size:29px}.brand img{width:36px;height:36px}nav{gap:18px}nav a{font-size:13px}nav a:first-child{display:none}.hero{padding:55px 7% 65px;grid-template-columns:1fr;gap:50px}.hero h1{font-size:clamp(52px,11vw,80px)}.hero .lead{font-size:18px}.hero-screen{width:68%;max-width:265px;transform:rotate(2deg)}.hero-number{display:none}.section-pad{padding:65px 7%}.intro-grid,.availability{grid-template-columns:1fr;gap:30px}.principles{grid-template-columns:1fr;gap:32px;margin-top:40px}.principles article{padding-top:20px;border-top:1px solid var(--line)}.principles{border:0;padding:0}.step{margin-bottom:12px}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:25px;max-width:none}.phone-grid{gap:30px}.phone-grid figure>a{margin-bottom:25px}.phone-grid img{border-radius:16px}.phone-grid h3{font-size:19px}.phone-grid p{font-size:14px!important}.feature-grid{gap:30px;grid-template-columns:1fr}.mac-shot{margin-top:45px}.mac-shot img{border-radius:8px}footer{flex-wrap:wrap;padding:25px 7%}footer p{order:3;flex-basis:100%}.policy h1{font-size:46px}}
@media(max-width:400px){nav{gap:12px}.actions{gap:20px}.phone-grid{grid-template-columns:1fr;gap:45px}.phone-grid figure>a{max-width:250px}.phone-grid figcaption{max-width:280px}.hero .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.product-summary{max-width:820px;margin-bottom:55px;padding-bottom:30px;border-bottom:1px solid var(--line)}.answer-heading{font:400 24px var(--text);letter-spacing:-.025em;margin-bottom:15px}.product-summary p{color:var(--muted)}.questions{background:#efe6e5}.answer-list{display:grid;grid-template-columns:1fr 1fr;gap:32px 60px;margin-top:40px}.answer-list article{border-top:1px solid #cdbec6;padding-top:24px}.answer-list h3{font-size:20px}.answer-list p{font-size:16px;color:var(--muted);margin-top:12px}.guide-link{margin-top:40px;font-weight:400}.policy ol,.policy ul{padding-left:25px;color:var(--muted);font-size:17px}.policy li+li{margin-top:14px}.policy h1{font-size:clamp(38px,6vw,58px)}.guide-aside{margin:30px 0;padding:22px;background:#efe6e5;border-left:3px solid var(--plum)}@media(max-width:760px){.answer-list{grid-template-columns:1fr}.product-summary{margin-bottom:35px}}

/* The selected family has one real weight. Preserve hierarchy through size and spacing. */
h3,strong,b{font-weight:400}

/* Official linked brand artwork is locally hosted and keeps its original colors. */
.app-store-badge{display:inline-flex;align-items:center;padding:14px;margin:-14px;line-height:0;border-radius:12px;text-decoration:none}
.app-store-badge img{display:block;height:56px;width:auto;max-width:100%}
.button-label{display:inline-flex;align-items:center;gap:12px}
.coffee-logo{display:block;width:24px;height:auto;flex-shrink:0}
.brand-credits{max-width:1260px;margin:0 auto;padding:0 5% 28px;font-size:12px;color:var(--muted);line-height:1.6}

.site-header nav{align-items:center}
.header-coffee{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;min-height:44px;background:var(--cream);color:var(--plum);border:1px solid var(--plum);border-radius:12px;text-decoration:none;white-space:nowrap}
.header-coffee img{width:18px;height:26px;object-fit:contain;flex-shrink:0}
.donation-short-label{display:none}
@media(max-width:760px){.header-coffee{gap:8px;padding:8px 12px}.donation-label{display:none}.donation-short-label{display:inline}}
@media(max-width:480px){.site-header nav>a:nth-child(2):not(.header-coffee){display:none}}

.policy code{overflow-wrap:anywhere}

.coffee-button{background:var(--cream);color:var(--plum);border-color:var(--plum)}
.coffee-button:hover,.header-coffee:hover{background:#f4e6e9}
