/* LunaKey · little widgets, warm colors, and room to breathe. */
:root {
  --ios-bg: #fffcf5;
  --ios-surface: #fffefa;
  --ios-text: #29271f;
  --ios-muted: #817b6f;
  --ios-border: #eee8db;
  --ios-blue: #ffd84d;
  --ios-blue-hover: #f3c933;
  --ios-blue-soft: #fff3be;
  --ios-yellow: #ffd84d;
  --ios-radius: 28px;
  --ios-shadow: 0 5px 0 #e9e0cd40, 0 12px 32px #6f542406;
  --locket-pink: #ffe9ed;
  --locket-mint: #e8f3e9;
  --locket-lavender: #eeeafb;
}
html { scroll-behavior: smooth; scroll-padding-top: 135px; }
body.ios26 { font-family: 'Be Vietnam Pro', sans-serif; font-size: 15px; line-height: 1.6; background: var(--ios-bg); color: var(--ios-text); }
body.ios26 h1 { font-size: clamp(28px, 3.5vw, 42px); font-weight: 800; letter-spacing: -.055em; }
body.ios26 h2 { font-size: 26px; font-weight: 750; letter-spacing: -.04em; }
body.ios26 h3 { font-size: 20px; font-weight: 700; }
body.ios26 h4 { font-size: 17px; }
body.ios26 .font-display { font-family: inherit; }
body.ios26 .text-xs { font-size: 12px; line-height: 1.6; }
body.ios26 .text-sm { font-size: 14px; line-height: 1.6; }
body.ios26 .text-base { font-size: 15px; }
body.ios26 :is(.text-\[9px\], .text-\[10px\], .text-\[11px\], .text-\[12px\], .text-\[13px\]) { font-size: 12px; line-height: 1.6; }
body.ios26 :is(button,input,select,textarea) { font-family: inherit; }
body.ios26 input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]), body.ios26 select, body.ios26 textarea { font-size: 15px; }
body.ios26 label { font-size: 14px; }
body.ios26 input::placeholder, body.ios26 textarea::placeholder { color: #999083; }
body.ios26 :focus-visible { outline: 3px solid #b67c26; outline-offset: 4px; }
body.ios26 ::selection { background: #ffec9b; color: #29271f; }
body.ios26 input[type=checkbox], body.ios26 input[type=radio] { accent-color: #bf941d; width: 18px; height: 18px; }
body.ios26 th, body.ios26 td { font-size: 13px; padding-top: 14px; padding-bottom: 14px; }
body.ios26 pre { font-size: 13px; }
body.ios26 .font-extrabold, body.ios26 .font-black { font-weight: 700; }
body.ios26 .bg-gradient-to-r.text-white, body.ios26 .bg-gradient-to-tr.text-white, body.ios26 .bg-gradient-to-br.text-white { background-color: #ffd84d; color: #3c321b; }
body.ios26 .bg-honey-400.text-white, body.ios26 .bg-honey-500.text-white { color: #493910; }
body.ios26 .btn-press { transition: transform .15s, background-color .15s, box-shadow .15s; }
body.ios26 .btn-press:active { transform: translateY(2px); }
.ios-card, .ios-panel, .locket-widget { box-shadow: var(--ios-shadow); border-color: var(--ios-border); }
.ios-help { font-size: 14px; }
.ios-eyebrow { font-size: 12px; color: #877024; }
.ios-field { border-color: #e9e1d2; background: #fffcf5; border-radius: 17px; }
.ios-field:focus { border-color: #c99e2d; }
.ios-button { min-height: 46px; padding: 11px 19px; font-size: 14px; font-weight: 650; border-color: #eae3d7; background: #fffefa; color: #373328; gap: 10px; }
.ios-button:hover { background: #f6f0e3; }
.ios-button.primary, .ios-button--primary { color: #3b321a; background: #ffd84d; border-color: #f3cd46; box-shadow: 0 3px 0 #dbb22c30; }
.ios-button.primary:hover, .ios-button--primary:hover { background: #f3c933; border-color: #e8be26; }
.ios-button.secondary, .ios-button--secondary { background: #ffedf0; color: #9c3f5a; border-color: #ffdae2; }
.ios-inline-link, .ios-skip { color: #9b572e; }
.ios-notice { background: #fff6d8; border-color: #f2e5b5; color: #79602c; font-size: 14px; }
.ios-notice.error { background: #fff0f2; color: #a92542; border-color: #f0c8cd; }
.ios-announcement { background: #fff1b7; color: #725c25; font-size: 12px; padding: 8px 20px; border-color: #f0e1aa; }
.ios-site-header { background: #fffcf5ef; border-color: #eee8db; backdrop-filter: blur(18px); }
.ios-header-inner { max-width: 1180px; padding: 18px 28px 10px; }
.ios-brand { gap: 10px; }
.ios-brand-mark { width: 43px; height: 43px; border-radius: 15px; background: #ffd84d; color: #fffefa; font-size: 22px; transform: rotate(-7deg); box-shadow: 0 3px 0 #ddbc4433; }
.ios-brand-mark i { filter: drop-shadow(0 2px 0 #c19d3225); }
.ios-brand-name { font-size: 21px; font-weight: 800; letter-spacing: -.06em; }
.ios-brand-subtitle { font-size: 10px; color: #a09581; margin-top: 4px; letter-spacing: .01em; }
.ios-header-actions .ios-button { min-height: 42px; font-size: 12px; padding: 10px 16px; }
.ios-wallet { min-height: 42px; background: #fff4c9; border-color: #f4e7b2; font-size: 13px; padding: 10px 15px; }
.ios-wallet i { color: #9a751a; }
.ios-quota { font-size: 12px; }
.ios-icon-button { min-height: 44px; min-width: 44px; font-size: 17px; background: #fffefa; border-color: #eae3d7; }
.ios-desktop-nav { padding-top: 9px; margin-top: 13px; border-color: #eee8db; gap: 8px; }
.ios-nav-link { min-height: 40px; padding: 10px 16px; font-size: 13px; font-weight: 500; color: #847b6c; }
.ios-nav-link i { font-size: 13px; }
.ios-nav-link:hover { background: #f5efe3; color: #484032; }
.ios-nav-link[aria-current=page], .ios-nav-link[data-active=true] { background: #ffd84d; color: #4d3a13; font-weight: 700; }
.ios-user-dropdown, .ios-more-links { border-color: #eee8db; background: #fffefa; border-radius: 23px; box-shadow: 0 12px 40px #6f542419; }
.ios-user-dropdown a { font-size: 13px; min-height: 43px; }
.ios-user-dropdown a:hover { background: #fff3cc; }
.ios-user-info small { font-size: 12px; }
.ios-user-info { font-size: 14px; }
.ios-mobile-menu { background: #fffcf5; border-color: #eee8db; }
.ios-mobile-menu .ios-nav-link { background: #f6f1e7; font-size: 13px; min-height: 48px; border-radius: 16px; }
.ios-mobile-menu .ios-nav-link[aria-current=page] { background: #ffd84d; color: #4d3a13; }
.ios-mobile-account { font-size: 13px; border-color: #eee8db; }

/* A small footer keeps the useful links without repeating the whole menu. */
.ios-site-footer { margin-top: 54px; padding: 24px 0; background: transparent; border-color: #eee8db; }
.locket-footer-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1120px; margin: auto; padding: 0 28px; }
.locket-footer-note { color: #9a9080; font-size: 12px; margin-left: 12px; }
.locket-footer-links { display: flex; gap: 10px 22px; align-items: center; flex-wrap: wrap; }
.locket-footer-links a { font-size: 12px; color: #827866; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; }
.locket-footer-links a:hover { color: #4d3a13; }
.locket-footer-links i { color: #a9956e; }

/* Home: a little illustrated widget and direct paths into the product. */
body.ios26 .ios-home { background: var(--ios-bg); padding-top: 30px; padding-bottom: 20px; font-size: 14px; }
.ios-home > .max-w-6xl { max-width: 1120px; }
.locket-welcome { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; min-height: 350px; padding: 10px 32px 28px; gap: 30px; }
.locket-kicker { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: #9c8460; font-weight: 500; }
.locket-kicker i { font-size: 11px; color: #d99494; }
body.ios26 .locket-welcome h1 { font-size: clamp(36px, 4.2vw, 56px); line-height: 1.18; margin: 15px 0; font-weight: 800; letter-spacing: -.065em; }
.locket-welcome h1 span { position: relative; z-index: 0; }
.locket-welcome h1 span:after { content: ''; position: absolute; z-index: -1; left: -4px; right: -5px; height: 14px; bottom: 3px; background: #ffe680; border-radius: 60% 30% 40% 20%; transform: rotate(-3deg); }
.locket-welcome p { font-size: 14px; color: #8c8170; margin: 0 0 23px; }
.locket-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.locket-device { display: inline-flex; align-items: center; gap: 6px; margin-top: 20px; font-size: 11px; color: #a09686; }
.locket-widget-scene { position: relative; width: 360px; height: 310px; margin: auto; }
.locket-photo-widget { position: absolute; width: 235px; height: 235px; left: 15px; top: 20px; border: 7px solid #fffefa; border-radius: 53px; overflow: hidden; transform: rotate(-9deg); box-shadow: 0 12px 24px #6d65451a, 0 0 0 1px #efe7d5; }
.locket-photo-widget svg { width: 100%; height: 100%; }
.locket-photo-caption { position: absolute; bottom: 17px; left: 0; right: 0; text-align: center; color: #fff; font-size: 12px; font-weight: 600; text-shadow: 0 1px 5px #3a533d80; }
.locket-heart-widget { position: absolute; top: 135px; right: 0; width: 135px; height: 135px; border: 5px solid #fffefa; border-radius: 34px; background: #ffd84d; display: flex; flex-direction: column; justify-content: center; align-items: center; transform: rotate(12deg); box-shadow: 0 8px 20px #8e742023, 0 0 0 1px #f0e6c8; gap: 9px; }
.locket-heart-widget i { color: #fffefa; font-size: 49px; filter: drop-shadow(0 3px 0 #dbb72f55); }
.locket-heart-widget span { font-size: 9px; font-weight: 600; color: #957728; }
.locket-scene-note { position: absolute; left: 25px; bottom: 2px; font-size: 11px; color: #9a8b70; transform: rotate(-5deg); }
.locket-scene-note span { font-size: 24px; color: #cb9f92; vertical-align: middle; margin-right: 4px; }
.locket-scene-sparkle { position: absolute; right: 40px; top: 18px; font-size: 39px; color: #d5b967; transform: rotate(12deg); }
.locket-scene-star { position: absolute; left: -20px; top: 155px; font-size: 30px; color: #c4b3da; }
.locket-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 10px 0 28px; }
.locket-shortcuts > a { display: flex; align-items: center; gap: 12px; min-width: 0; border: 1px solid #eee8db; border-radius: 24px; padding: 18px; background: #fffefa; box-shadow: var(--ios-shadow); transition: transform .18s, border-color .18s; }
.locket-shortcuts > a:hover { transform: translateY(-3px); border-color: #dac69a; }
.locket-shortcuts > a > span:nth-child(2) { flex: 1; font-size: 13px; font-weight: 650; }
.locket-shortcuts small { display: block; font-weight: 400; font-size: 11px; color: #a09686; margin-top: 4px; }
.locket-shortcuts > a > i { color: #b6aa94; font-size: 11px; }
.locket-shortcut-icon { width: 44px; height: 44px; flex: none; border-radius: 15px; display: grid; place-items: center; font-size: 17px; }
.locket-shortcut-icon.pink { background: #ffe9ed; color: #bb7085; }
.locket-shortcut-icon.mint { background: #e8f3e9; color: #74947a; }
.locket-shortcut-icon.lavender { background: #eeeafb; color: #9881b4; }
.home-activation { scroll-margin-top: 145px; padding: 28px 32px; background: #fffefa; border: 1px solid #eee8db; border-radius: 30px; box-shadow: var(--ios-shadow); }
.home-section-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 25px; }
.home-section-heading > div { flex: 1; }
body.ios26 .home-section-heading h2 { margin: 0 0 5px; font-size: 23px; }
.home-section-heading p { color: #9a9080; font-size: 12px; margin: 0; }
.locket-section-icon { width: 46px; height: 46px; display: grid; place-items: center; flex: none; border-radius: 16px; background: #fff2ba; color: #b29332; font-size: 19px; }
.locket-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; background: #fff7df; color: #b29a54; padding: 6px 11px; border-radius: 99px; }
.home-input-help { color: #a49986; font-size: 11px; font-weight: 400; }
body.ios26 #locket-input { min-height: 52px; font-size: 14px; border-radius: 16px; background: #faf7ef; border-color: #eae3d4; font-weight: 400; }
body.ios26 #btn-lookup { min-height: 52px; font-size: 14px; background: #ffd84d; color: #4c3a15; border: 1px solid #f2cd44; box-shadow: 0 3px 0 #d5ae2830; border-radius: 16px; }
body.ios26 #btn-lookup:hover { background: #f3c933; }
.home-plan-summary { background: #faf7ef; border: 1px solid #eee6d6; border-radius: 22px; }
body.ios26 #plan-title-label { font-size: 15px; color: #60533c; }
body.ios26 #top-plan-price-display { font-size: 27px; color: #7a6130; font-weight: 750; letter-spacing: -.045em; }
.home-conditions { border-top: 1px solid #e9e0cf; padding-top: 5px; }
.home-conditions summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; font-size: 12px; color: #988c76; min-height: 36px; }
.home-conditions summary::-webkit-details-marker { display: none; }
.home-conditions summary i { font-size: 10px; transition: transform .15s; }
.home-conditions[open] summary i { transform: rotate(180deg); }
.locket-conditions-list { list-style: disc; padding: 4px 0 0 18px; font-size: 12px; line-height: 1.9; color: #81755e; }
body.ios26 .plan-option { border-radius: 18px; border-width: 1px; min-height: 110px; padding-top: 20px; text-align: left; }
body.ios26 .plan-option.border-sakura-400 { background: #fff6d4; border-color: #dbb84e; box-shadow: 0 0 0 2px #f4d77638; }
body.ios26 .plan-option.border-sakura-200 { border-color: #eee5d2; }
body.ios26 .plan-option > span:first-of-type.absolute { font-size: 9px; top: 8px; right: 9px; }
body.ios26 .plan-option .text-sakura-600 { color: #9a7932; }
body.ios26 .plan-option .font-mono { font-family: inherit; font-size: 17px; }
body.ios26 #btn-activate { background: #ffd84d; color: #453517; font-size: 14px; box-shadow: 0 4px 0 #dcb72e40; }
.home-activation > .space-y-5 > div:last-child > a { color: #453517; }
body.ios26 .payment-option { font-size: 13px; }
.home-monthly { margin-top: 20px; padding: 22px; background: #eef4e9; border: 1px solid #dfe8d7; border-radius: 24px; }
.home-monthly h3 { font-size: 18px; }
.home-monthly p { font-size: 12px; font-weight: 400; }
.home-monthly a { background: #fffefa; border: 1px solid #d7e1cd; color: #63754a; font-size: 12px; box-shadow: none; }
.home-monthly .w-16 { width: 48px; height: 48px; border-radius: 17px; border-color: #dfe8d7; background: #fffefa; }
.home-monthly .w-16 i { color: #8b9d6c; font-size: 20px; }
.home-guide { margin-top: 38px; scroll-margin-top: 145px; }
.home-guide-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
body.ios26 .home-guide h2 { font-size: 23px; margin: 7px 0; }
.home-guide-heading p { font-size: 12px; color: #9a9080; margin: 0; }
.studio-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 11px 18px; border-radius: 99px; font-size: 12px; font-weight: 600; border: 1px solid #eae1ce; color: #756442; background: #fffefa; text-align: center; }
.home-guide-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.home-guide-steps li { padding: 22px; border: 1px solid #eee8db; border-radius: 24px; background: #fffefa; }
.home-guide-steps li:nth-child(2) { background: #fff5e9; }
.home-guide-steps li:nth-child(3) { background: #f2eff8; }
.home-guide-number { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 11px; background: #f6edd8; color: #a38a54; font-size: 12px; font-weight: 700; margin-bottom: 13px; }
body.ios26 .home-guide-steps h3 { font-size: 15px; margin: 0 0 10px; }
.home-guide-steps p { font-size: 12px; color: #918674; margin: 0; line-height: 1.8; }
.home-guide-steps strong { font-weight: 500; color: #70634f; }
.home-guide-footer { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 18px; }
.home-guide-footer p { font-size: 11px; color: #a09686; margin: 0; max-width: 650px; }
.home-guide-footer a { font-size: 12px; color: #a27d42; min-height: 40px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.home-guide-note { color: #aaa08e; font-size: 10px; margin-top: 8px; }
.home-faq { max-width: 780px; margin: 42px auto 0; }
body.ios26 .home-faq > h2 { font-size: 22px; margin-bottom: 20px; }
.home-faq details { background: transparent; border: 0; border-bottom: 1px solid #ece3d2; border-radius: 0; padding: 8px 4px; box-shadow: none; }
.home-faq summary { font-size: 13px; min-height: 42px; gap: 14px; }
.home-faq summary i { font-size: 10px; color: #b3a383; flex: none; }
.home-faq details > p, .home-faq details > div { font-size: 12px; color: #958a76; line-height: 1.8; font-weight: 400; border: 0; padding: 0 0 14px; }
.home-faq details > div p { margin-top: 8px; }

/* Account forms and the shorter secondary page headers. */
.ios-auth { max-width: 490px; margin: 45px auto; }
.ios-auth .ios-card { padding: 32px; border-radius: 32px; }
.ios-auth-icon { background: #fff1b6; color: #af8d31; width: 54px; height: 54px; border-radius: 19px; transform: rotate(-6deg); }
body.ios26 .ios-auth h1 { font-size: 29px !important; margin-bottom: 8px; }
.ios-auth-form { gap: 18px; }
.ios-auth-form label { font-size: 13px; }
.ios-auth-bottom { font-size: 13px; border-color: #eee8db; }
.ios-auth .ios-help, .ios-demo { font-size: 12px; }
.ios-guide { max-width: 1050px; padding-top: 34px; }
.ios-guide-intro { margin-bottom: 24px; }
.ios-guide-intro p { font-size: 14px; }
.ios-guide-download { background: #fff6d6; border-color: #eee0ad; padding: 24px; }
body.ios26 .ios-guide-download h2 { font-size: 22px !important; }
.ios-step p, .ios-guide-faq p { font-size: 14px; }
body.ios26 .ios-step h2 { font-size: 19px !important; }
.ios-step-number { background: #fff0b4; color: #a1802d; font-size: 17px; }
.ios-guide-faq summary { font-size: 15px; }
.ios-path { background: #f8f3e9; color: #8d7c5c; font-size: 13px; }
.locket-page-head { margin-bottom: 24px; }
.locket-page-head > p { max-width: 650px; }
.locket-page > .bg-white, .locket-page .locket-widget { border-color: #eee8db; border-radius: 26px; }
.locket-page details > summary { cursor: pointer; }
.locket-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 40px; list-style: none; font-size: 14px; font-weight: 650; color: #7b6846; cursor: pointer; }
.locket-details > summary::-webkit-details-marker { display: none; }
.locket-details > summary:after { content: '+'; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #fff1bd; color: #9e8039; flex: none; font-size: 17px; font-weight: 500; }
.locket-details[open] > summary:after { content: '−'; }
.locket-details[open] > summary { margin-bottom: 18px; }
body.ios26 .locket-details > summary h2 { font-size: 18px; margin: 0; }
body.ios26 .swal2-popup { background: #fffefa !important; border-color: #eee8db !important; border-radius: 30px !important; font-size: 14px !important; }
body.ios26 .swal2-title { font-size: 23px !important; }
body.ios26 .swal2-html-container { font-size: 14px !important; }
body.ios26 .swal2-styled { font-size: 14px !important; }
body.ios26 .swal2-confirm { background: #ffd84d !important; color: #49391b !important; }
body.ios26 .swal2-cancel { background: #f2ece0 !important; color: #81735e !important; }

@media (max-width: 1099px) {
  .ios-header-inner { padding: 15px 24px; }
  .locket-welcome { padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 800px) {
  .locket-welcome { grid-template-columns: 1.1fr 1fr; gap: 0; padding: 12px 0 25px; min-height: 305px; }
  .locket-widget-scene { transform: scale(.8); transform-origin: center; width: 310px; margin-left: -15px; }
  .locket-shortcuts { gap: 10px; }
  .locket-shortcuts > a { gap: 9px; padding: 14px 11px; border-radius: 20px; }
  .locket-shortcuts small { font-size: 10px; }
  .locket-shortcuts > a > i { display: none; }
  .locket-shortcut-icon { width: 37px; height: 37px; border-radius: 13px; font-size: 15px; }
  .locket-shortcuts > a > span:nth-child(2) { font-size: 11px; }
  .home-guide-steps { gap: 10px; }
  .home-guide-steps li { padding: 18px; }
}
@media (max-width: 639px) {
  html { scroll-padding-top: 100px; }
  body.ios26 { font-size: 14px; }
  .ios-header-inner { padding: 13px 18px; }
  .ios-brand-name { font-size: 20px; }
  .ios-brand-mark { width: 39px; height: 39px; font-size: 20px; border-radius: 14px; }
  .ios-brand-subtitle { font-size: 9px; }
  .ios-wallet { font-size: 12px; min-height: 40px; max-width: 140px; }
  body.ios26 .ios-home { padding-top: 10px; }
  .locket-welcome { display: flex; flex-direction: column; padding: 22px 8px 10px; gap: 0; text-align: center; }
  body.ios26 .locket-welcome h1 { font-size: 40px; margin: 13px 0; }
  .locket-welcome p { font-size: 12px; margin-bottom: 18px; }
  .locket-kicker { font-size: 11px; }
  .locket-hero-actions { justify-content: center; gap: 8px; }
  .locket-hero-actions .ios-button { font-size: 12px; padding: 11px 15px; }
  .locket-device { margin-top: 15px; font-size: 10px; }
  .locket-widget-scene { width: 320px; height: 255px; margin: -7px auto -10px; transform: scale(.78); transform-origin: center; }
  .locket-photo-widget { top: 0; }
  .locket-heart-widget { top: 105px; right: -15px; }
  .locket-scene-note { bottom: -22px; }
  .locket-scene-sparkle { right: 6px; top: -10px; }
  .locket-scene-star { left: -6px; top: 160px; }
  .locket-shortcuts { margin-top: 12px; margin-bottom: 20px; gap: 8px; }
  .locket-shortcuts > a { flex-direction: column; padding: 14px 6px; gap: 9px; text-align: center; border-radius: 22px; }
  .locket-shortcuts > a > span:nth-child(2) { font-size: 10px; }
  .locket-shortcuts small { display: none; }
  .locket-shortcut-icon { width: 38px; height: 38px; }
  .home-activation { padding: 22px 18px; border-radius: 26px; scroll-margin-top: 100px; }
  .home-section-heading { gap: 10px; margin-bottom: 22px; }
  body.ios26 .home-section-heading h2 { font-size: 18px; }
  .home-section-heading p { font-size: 11px; }
  .locket-section-icon { width: 39px; height: 39px; border-radius: 14px; font-size: 16px; }
  .home-section-heading > .locket-pill { display: none; }
  .home-input-help { font-size: 10px; }
  body.ios26 #locket-input { font-size: 16px; }
  body.ios26 .home-plan-summary { padding: 17px; }
  .home-plan-summary > div:first-child { align-items: flex-start; gap: 15px; }
  .home-plan-summary > div:first-child > .text-right { text-align: left; }
  body.ios26 #plan-title-label { font-size: 13px; }
  body.ios26 .plan-option { min-height: 105px; }
  .home-monthly { padding: 18px; }
  body.ios26 .home-monthly h3 { font-size: 17px; }
  .home-monthly .flex-col { gap: 13px; }
  .home-monthly .w-16 { display: none; }
  .home-monthly a { min-height: 44px; }
  .home-guide { margin-top: 32px; }
  .home-guide-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  body.ios26 .home-guide h2 { font-size: 21px; }
  .home-guide-heading > .studio-button { width: 100%; }
  .home-guide-steps { grid-template-columns: 1fr; gap: 10px; }
  .home-guide-steps li { padding: 20px; }
  .home-guide-number { float: left; margin: 0 12px 0 0; }
  body.ios26 .home-guide-steps h3 { min-height: 30px; display: flex; align-items: center; margin-bottom: 9px; }
  .home-guide-steps p { clear: both; }
  .home-guide-footer { flex-direction: column; align-items: flex-start; gap: 4px; }
  .home-faq { margin-top: 30px; }
  body.ios26 .home-faq > h2 { font-size: 20px; }
  .home-faq summary { font-size: 12px; }
  .locket-footer-row { flex-direction: column; align-items: flex-start; gap: 14px; padding: 0 22px; }
  .locket-footer-links { gap: 5px 18px; }
  .ios-site-footer { margin-top: 35px; }
  .ios-auth .ios-card { padding: 28px 24px; }
  .ios-auth { margin: 30px auto; }
  .ios-auth-bottom { text-align: center; }
  body.ios26 input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]), body.ios26 select, body.ios26 textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .locket-shortcuts > a:hover { transform: none; }
}
@media (prefers-contrast: more) {
  :root { --ios-muted: #655c4b; --ios-border: #afa08a; }
  .locket-device, .locket-kicker, .locket-shortcuts small, .home-section-heading p, .home-input-help, .home-guide-steps p, .home-guide-footer p, .home-guide-note, .home-faq details > p, .home-faq details > div { color: #655c4b; }
}
