/* TheKosheriPhone.com — own identity: boutique Apple-specialist minimalism.
   White space, near-black ink, one blue accent, hairlines, system type. */
:root{
  --bg:#FFFFFF;--bg-soft:#F5F5F7;--ink:#1D1D1F;--gray:#6E6E73;--hair:#D2D2D7;
  --blue:#0071E3;--blue-deep:#0058B0;--dark:#000;
  --ft:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ft);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:inherit}
.wrap{max-width:1024px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:700;letter-spacing:-.022em;line-height:1.08}
.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);display:inline-block;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:1.02rem;padding:13px 26px;border-radius:980px;cursor:pointer;text-decoration:none;transition:background .15s,transform .12s;border:none;font-family:var(--ft)}
.btn:focus-visible{outline:3px solid rgba(0,113,227,.45);outline-offset:3px}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-deep);transform:translateY(-1px)}
.btn-quiet{color:var(--blue);background:transparent}
.btn-quiet:hover{text-decoration:underline}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:#e8e8ed}

/* countdown strip */
.strip{background:var(--bg-soft);border-bottom:1px solid var(--hair)}
.strip-in{display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 24px;flex-wrap:wrap;text-align:center;font-size:.88rem;color:var(--ink)}
.strip-in .lab{font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
.strip-in b{font-variant-numeric:tabular-nums;font-weight:700}
.strip-in a{color:var(--blue);font-weight:600;text-decoration:none;white-space:nowrap}
.strip-in a:hover{text-decoration:underline}

/* nav */
nav.ti{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--hair)}
.ti-in{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--ink)}
.brand .mk{width:44px;height:28px;border-radius:8px;background:linear-gradient(160deg,#3A3A3C,#111);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 6px rgba(0,0,0,.25)}
.brand small{font-weight:500;font-size:.62rem;color:var(--gray);display:block;line-height:1.2}
.ti-links{display:flex;gap:24px;align-items:center}
.ti-links a{text-decoration:none;font-weight:500;font-size:.86rem;color:var(--ink);opacity:.85}
.ti-links a:hover{opacity:1;color:var(--blue)}
.ti-cta{background:var(--blue);color:#fff !important;padding:7px 16px;border-radius:980px;font-weight:600;opacity:1 !important}
@media(max-width:800px){.ti-links a:not(.ti-cta){display:none}}

/* hero */
.hero{padding:110px 0 90px;text-align:center;background:var(--bg)}
.hero .pchip{display:inline-flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--hair);border-radius:980px;padding:7px 16px;font-weight:600;font-size:.82rem;color:var(--gray);margin-bottom:28px}
.hero .pchip .k{width:18px;height:18px;border-radius:5px;background:linear-gradient(100deg,#2E6BFF,#38E1D4);color:#fff;font-weight:800;font-size:.66rem;display:inline-flex;align-items:center;justify-content:center}
.hero h1{font-size:clamp(2.8rem,7vw,5rem);margin-bottom:22px}
.hero h1 .quiet{color:var(--gray)}
.hero .lead{font-size:1.3rem;color:var(--gray);max-width:34em;margin:0 auto 34px;font-weight:400}
.hero .ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:60px}

/* device visual — 2026-grade: titanium frame, mesh wallpaper, glossy gradient icons, frosted dock */
.iph2{width:272px;margin:0 auto;position:relative;background:linear-gradient(155deg,#4A4A4E,#1C1C1E 40%,#3E3E42 90%);border-radius:47px;padding:11px;box-shadow:0 50px 100px rgba(0,0,0,.32),0 12px 30px rgba(0,0,0,.18),inset 0 0 0 2px rgba(255,255,255,.16)}
.bside{position:absolute;background:linear-gradient(90deg,#606064,#2A2A2C);border-radius:2px;width:3px}
.bs1{left:-3px;top:96px;height:24px}.bs2{left:-3px;top:130px;height:42px}.bs3{left:-3px;top:180px;height:42px}.bs4{right:-3px;top:148px;height:62px}
.scr2{position:relative;border-radius:38px;overflow:hidden;padding:10px 12px 14px;background:
 radial-gradient(120% 90% at 15% 8%,#CFE4FF 0%,transparent 55%),
 radial-gradient(110% 80% at 90% 18%,#EADCFF 0%,transparent 55%),
 radial-gradient(120% 110% at 55% 108%,#BFF3E2 0%,transparent 60%),
 linear-gradient(165deg,#EAF1FB,#DDE6F5)}
.isl2{width:80px;height:22px;background:#000;border-radius:13px;margin:4px auto 2px}
.sb2{display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:.64rem;font-weight:700;color:#1D1D1F;margin-bottom:12px}
.sbr{display:flex;gap:4px;align-items:center}
.sbr i{display:inline-block;background:#1D1D1F}
.sig{width:13px;height:8px;clip-path:polygon(0 100%,100% 0,100% 100%)}
.wif{width:11px;height:8px;border-radius:50% 50% 0 0/100% 100% 0 0}
.bat{width:20px;height:9px;border-radius:3px;opacity:.9}
.ig{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 6px;padding:0 2px}
.ia{display:flex;flex-direction:column;align-items:center;gap:4px}
.tile{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.02rem;position:relative;box-shadow:0 3px 8px rgba(20,30,60,.22);font-style:normal}
.tile::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.07) 42%,transparent 48%)}
.lbl{font-size:.5rem;font-weight:600;color:#2A2E42;text-shadow:0 1px 2px rgba(255,255,255,.65)}
.t1{background:linear-gradient(160deg,#4CD964,#12873E)}
.t2{background:linear-gradient(160deg,#5AC8FA,#0A6FDB)}
.t3{background:linear-gradient(160deg,#8E8E93,#3A3A3C)}
.t4{background:linear-gradient(160deg,#FFD60A,#FF9F0A)}
.t5{background:linear-gradient(160deg,#FF6482,#D3305E)}
.t6{background:linear-gradient(160deg,#34AADC,#2A5CAA)}
.t7{background:linear-gradient(160deg,#63E6BE,#0CA678)}
.t8{background:linear-gradient(160deg,#B197FC,#6741D9)}
.t9{background:linear-gradient(160deg,#FF922B,#E8590C)}
.t10{background:linear-gradient(160deg,#FFE066,#F0B429);color:#7A5305}
.t11{background:linear-gradient(160deg,#243B6B,#0F1E3D)}
.t12{background:linear-gradient(160deg,#20C5D9,#0E7C9C)}
.dock2{margin:14px 4px 0;background:rgba(255,255,255,.38);backdrop-filter:blur(14px);border-radius:22px;display:flex;justify-content:space-around;padding:8px 8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.dock2 .tile{width:42px;height:42px}
.float{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(prefers-reduced-motion:reduce){.float{animation:none}}
@media(max-width:640px){.iph2{width:min(240px,66vw)}}

/* feature rows */
section.s{padding:100px 0}
section.s.soft{background:var(--bg-soft)}
section.s.dark{background:var(--dark);color:#F5F5F7}
section.s.dark h2,section.s.dark h3{color:#fff}
.s-head{max-width:640px;margin:0 auto 60px;text-align:center}
.s-head h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:14px}
.s-head p{color:var(--gray);font-size:1.14rem}
.s.dark .s-head p{color:#A1A1A6}
.frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.fcell{background:var(--bg);border-radius:20px;padding:34px 28px;text-align:center;transition:transform .18s,box-shadow .18s}
.s.soft .fcell{background:#fff}
.s.dark .fcell{background:#161617}
.fcell:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.09)}
.s.dark .fcell:hover{box-shadow:0 18px 40px rgba(0,0,0,.5)}
.fcell .ic{width:52px;height:52px;border-radius:15px;background:var(--bg-soft);margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.s.dark .fcell .ic{background:#2C2C2E}
.fcell h3{font-size:1.1rem;margin-bottom:8px}
.fcell p{color:var(--gray);font-size:.92rem}
.s.dark .fcell p{color:#A1A1A6}

/* resource list */
.rlist{max-width:760px;margin:0 auto}
.rrow{display:block;text-decoration:none;padding:28px 6px;border-bottom:1px solid var(--hair);transition:padding .18s}
.rrow:hover{padding-left:14px}
.rrow .cat{font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.rrow h3{font-size:1.35rem;margin:6px 0 6px}
.rrow p{color:var(--gray);font-size:.98rem}
.rrow .go{color:var(--blue);font-weight:600;font-size:.9rem}

/* article */
.art{max-width:680px;margin:0 auto;padding:76px 24px 90px}
.art h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:12px 0 20px}
.art .standfirst{font-size:1.22rem;color:var(--gray);margin-bottom:40px;font-weight:400}
.art h2{font-size:1.55rem;margin:46px 0 14px}
.art p{margin-bottom:18px;font-size:1.05rem}
.art ul,.art ol{margin:0 0 18px 22px}
.art li{margin-bottom:8px}
.art a{color:var(--blue);font-weight:600;text-decoration:none}
.art a:hover{text-decoration:underline}
.art .pull{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-align:center;margin:38px 0;line-height:1.3}
.art .backrow{margin-top:54px;padding-top:24px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.art .backrow a{font-weight:600;color:var(--blue);text-decoration:none}

/* faq */
.faq{max-width:680px;margin:0 auto}
.faq details{border-bottom:1px solid var(--hair);padding:22px 4px}
.faq summary{font-weight:600;font-size:1.1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::after{content:'+';color:var(--blue);font-size:1.3rem;font-weight:400}
.faq details[open] summary::after{content:'−'}
.faq details p{color:var(--gray);margin-top:12px}

/* cta band */
.band{background:var(--bg-soft);text-align:center;padding:96px 24px;border-top:1px solid var(--hair)}
.band h2{font-size:clamp(2rem,4.6vw,3.1rem);margin-bottom:12px}
.band p{color:var(--gray);font-size:1.15rem;margin-bottom:32px}

footer.ti{background:var(--bg-soft);color:var(--gray);padding:38px 0;font-size:.82rem;border-top:1px solid var(--hair)}
.tif{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.tif a{color:var(--ink);text-decoration:none;font-weight:500}
.tif a:hover{color:var(--blue)}
.tif .links{display:flex;gap:18px;flex-wrap:wrap}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== MOBILE-FIRST UPGRADE LAYER (48px targets, thumb-zone CTAs, compact chrome) ===== */
*{-webkit-tap-highlight-color:transparent}
.btn{min-height:48px}
.btn:active{transform:scale(.97)}
.ti-cta{min-height:40px;display:inline-flex;align-items:center;white-space:nowrap}
.brand>span:last-child{white-space:nowrap}
@media(max-width:759px){
  .strip-in{padding:8px 12px;gap:8px}
  .strip-in .full{display:none}
  .strip-in .lab{display:none}
}
@media(min-width:760px){.strip-in .mini{display:none}}

.burger{display:none;width:48px;height:48px;border:none;background:none;cursor:pointer;padding:13px;flex:none}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;margin:5px 0;transition:transform .25s,opacity .25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:70;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:24px;transform:translateY(-102%);transition:transform .35s cubic-bezier(.2,.8,.3,1)}
.mnav.open{transform:none}
.mnav a{display:flex;align-items:center;min-height:54px;font-weight:600;font-size:1.5rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hair);padding:0 6px}
.mnav a:active{color:var(--blue)}
.mnav .mnav-cta{background:var(--blue);color:#fff;border-radius:980px;justify-content:center;border-bottom:none;margin-top:18px;font-size:1.05rem}
.mnav .mnav-x{position:absolute;top:10px;right:14px;border-bottom:none;min-height:48px;width:48px;justify-content:center;font-size:1.9rem}
@media(max-width:800px){
  .burger{display:block}
  .brand small{display:none}
  .ti-links{display:none}
}

@media(max-width:640px){
  section.s{padding:60px 0}
  .hero{padding:64px 0 60px}
  .hero .lead{font-size:1.08rem}
  .hero .ctas{margin-bottom:44px}
  .s-head{margin-bottom:36px}
  .band{padding:64px 24px}
  .art{padding:52px 20px 64px}
  .iph{width:min(230px,64vw)}
}

/* scroll-driven polish: reading progress on articles; compositor-thread, JS-free */
@supports (animation-timeline: scroll()) {
  .readbar{position:fixed;top:0;left:0;right:0;height:2px;background:var(--blue);transform-origin:0 50%;transform:scaleX(0);animation:readgrow linear both;animation-timeline:scroll();z-index:80}
  @keyframes readgrow{to{transform:scaleX(1)}}
}
@media(prefers-reduced-motion:reduce){.readbar{animation:none}}
