:root{--ink:#101415;--pink:#F6507C;--lav:#f7f5fb;--paper:#fff;--shade:rgba(16,20,21,.74)}
*,*:before,*:after{box-sizing:border-box}
html{background:var(--lav)}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}
button{cursor:pointer}a{color:inherit}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.hidden{display:none!important}
.rf-head{height:74px;padding:0 clamp(20px,4vw,62px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,251,.97);position:relative;z-index:12}
.rf-brand{color:var(--ink);font-weight:900;font-size:19px;letter-spacing:-.04em;text-decoration:none}
.rf-brand b{font-weight:900;color:var(--pink)}
.rf-links{display:flex;align-items:center;gap:24px}
.rf-links a{font-weight:700;font-size:12px;text-decoration:none}
.rf-menu{width:33px;min-height:33px;background:none;border:0;color:var(--ink);display:grid;gap:5px;align-content:center;padding:4px}
.rf-menu i{height:2px;width:24px;background:currentColor;display:block;border-radius:2px}
.rf-stage{min-height:calc(100svh - 74px);height:clamp(690px,calc(100svh - 74px),940px);position:relative;isolation:isolate;overflow:hidden;background:#31363c;color:white;--reveal:0%}
.rf-art{position:absolute;inset:0;background-image:url('/giant-phone-hero-original.jpg');background-size:cover;background-position:center 35%;filter:saturate(.84);transform:scale(1.02);z-index:-3}
.rf-art:after{content:"";position:absolute;inset:0;background:linear-gradient(93deg,rgba(16,20,21,.79),rgba(16,20,21,.29) 49%,rgba(16,20,21,.16)),linear-gradient(0deg,rgba(16,20,21,.30),transparent 50%)}
.rf-grain{pointer-events:none;position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.05),transparent 50%);opacity:.6}
.rf-reveal{position:absolute;inset:0;z-index:-1;overflow:hidden;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);background:linear-gradient(93deg,rgba(16,20,21,.87),rgba(16,20,21,.67) 65%,rgba(16,20,21,.35))}
.rf-reveal:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,80,124,.19),transparent 60%);mix-blend-mode:screen}
.rf-progress{position:absolute;inset:0 auto 0 0;width:2px;left:var(--reveal);z-index:3;background:var(--pink);opacity:0;pointer-events:none;transform:translateX(-1px)}
.rf-stage.is-interacting .rf-progress,.rf-stage.is-revealed .rf-progress{opacity:.9}
.rf-stage.is-animating .rf-progress{transition:left .58s cubic-bezier(.22,.7,.2,1)}
.rf-stage.is-animating .rf-reveal{transition:clip-path .58s cubic-bezier(.22,.7,.2,1)}
.rf-topline{position:absolute;z-index:3;top:clamp(22px,4vw,62px);left:clamp(20px,4vw,62px);right:clamp(20px,4vw,62px);display:flex;justify-content:space-between;align-items:center;gap:15px}
.rf-eyebrow{color:white;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:900;text-shadow:0 1px 12px rgba(0,0,0,.22)}
.rf-eyebrow span{color:var(--pink)}
.rf-topnote{font-size:10px;letter-spacing:.12em;font-weight:750;text-transform:uppercase;opacity:.9}
.rf-main{position:relative;z-index:4;height:100%;display:grid;grid-template-columns:minmax(310px,480px) minmax(0,1fr);align-items:center;gap:clamp(36px,6vw,100px);padding:clamp(80px,9vw,148px) clamp(20px,6.5vw,110px) clamp(98px,10vw,150px);pointer-events:none}
.rf-checker{pointer-events:auto;width:100%;max-width:480px;border-radius:13px;padding:clamp(26px,3.2vw,38px);background:white;color:var(--ink);box-shadow:0 22px 65px rgba(0,0,0,.17)}
.rf-small-label{color:#727783;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;margin:0 0 15px}
.rf-checker h1{font-size:clamp(27px,3.2vw,38px);font-weight:750;letter-spacing:-.047em;line-height:1.07;margin:0 0 13px}
.rf-intro{font-size:13px;line-height:1.6;color:#606570;margin:0 0 25px}
.rf-checker label{display:block;font-weight:730;font-size:12px;margin:0 0 10px}
.rf-checker #url{height:52px;border:1px solid #ced0d8;width:100%;border-radius:8px;padding:0 14px;min-width:0;font-size:14px;outline:0}
.rf-checker #url:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(16,20,21,.065)}
.rf-checker #expectation{height:46px;border:1px solid #ced0d8;width:100%;border-radius:8px;padding:0 12px;font-size:12px;background:white;color:var(--ink)}
.rf-expectation{margin-top:18px}
.rf-checker .run{width:100%;height:52px;background:var(--ink);color:#fff;border:0;border-radius:8px;margin-top:16px;font-weight:750;font-size:13px}
.rf-checker .run:hover{background:#2d3335}.rf-checker .run:disabled{opacity:.65;cursor:wait}
.rf-note{color:#747982;font-size:10px;line-height:1.55;margin:15px 0 0;text-align:center}
.rf-checker .loading{padding:15px 0 0;color:var(--ink);font-size:12px}
.rf-checker .loading p{margin:4px 0;color:#6f747e;font-size:11px}
.rf-spin{width:20px;height:20px;border:2px solid #e7e5e9;border-top-color:var(--ink);border-radius:50%;animation:rfspin .7s linear infinite;display:inline-block;margin-right:10px;vertical-align:middle}
@keyframes rfspin{to{transform:rotate(360deg)}}
.rf-copy{position:relative;max-width:780px;min-height:295px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-shadow:0 2px 18px rgba(0,0,0,.12)}
.rf-prelabel{font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 18px;color:#fff}
.rf-copy h2{font-size:clamp(38px,4.8vw,82px);line-height:.97;letter-spacing:-.048em;font-weight:900;text-transform:uppercase;max-width:12ch;margin:0;opacity:0;transform:translateX(15px);transition:opacity .32s,transform .32s}
.rf-stage.is-revealed .rf-copy h2,.rf-stage.is-interacting .rf-copy h2{opacity:1;transform:translateX(0)}
.rf-copy p{font-size:clamp(13px,1.2vw,16px);font-weight:650;line-height:1.45;max-width:31ch;opacity:0;transform:translateY(8px);transition:opacity .25s .1s,transform .25s .1s;margin:22px 0 0}
.rf-stage.is-revealed .rf-copy p,.rf-stage.is-interacting .rf-copy p{opacity:1;transform:translateY(0)}
.rf-interaction{position:absolute;z-index:7;bottom:26px;right:clamp(18px,4vw,65px);display:flex;align-items:center;gap:13px;color:white}
.rf-drag-hint{text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:11px;text-shadow:0 1px 9px rgba(0,0,0,.3)}
.rf-arrow{border:1px solid rgba(255,255,255,.8);background:rgba(16,20,21,.28);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:50%;color:white;width:49px;height:49px;display:grid;place-items:center;font-size:21px;transition:background .18s}
.rf-arrow:hover{background:var(--ink)}
.rf-drag-surface{position:absolute;z-index:2;inset:0;touch-action:pan-y;cursor:ew-resize}
.rf-main,.rf-topline,.rf-interaction{pointer-events:none}.rf-checker,.rf-interaction button{pointer-events:auto}
.rf-caption{position:absolute;z-index:3;left:clamp(20px,4vw,62px);bottom:32px;font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.85;pointer-events:none}
.rf-status{min-height:42px;text-align:center;font-size:10px;color:#666d76;display:none}
.rf-result{margin-top:19px;max-width:480px;background:#fff;color:var(--ink);border:1px solid #e1e3e7;border-radius:11px;padding:24px;pointer-events:auto;max-height:380px;overflow:auto}
.rf-result .badge{display:inline-block;background:#e9e8ee;font-size:12px;font-weight:800;padding:7px 11px;border-radius:5px}
.rf-result .badge.FAIL,.rf-result .badge.BROKEN{background:#f6dbe3}
.rf-result .badge.PASS{background:#e0eddf}
.rf-result .badge.INCONCLUSIVE,.rf-result .badge.WARN{background:#f8f0d7}
.rf-result h2{font-size:21px;line-height:1.15;margin:11px 0 15px;overflow-wrap:anywhere}
.rf-result .plain,.rf-result .fix{border-top:1px solid #e2e2e7;padding-top:12px;font-size:12px;line-height:1.55;margin:10px 0}
.rf-result .fix{padding:13px;border:1px solid #e2e2e7;background:#f7f5fb;border-radius:8px}
.rf-result .hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}
.rf-result .btn{display:inline-block;background:var(--ink);color:white;font-size:11px;font-weight:800;padding:10px;text-decoration:none;border-radius:5px}
.rf-result .btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--ink)}
.rf-result .mono{overflow-wrap:anywhere;font-family:monospace}
.rf-result details{font-size:11px;margin-top:15px}.rf-result summary{cursor:pointer;font-weight:750}
.rf-result .row{margin:9px 0}
.rf-below{background:var(--lav);padding:clamp(36px,5vw,72px) 24px}
.rf-below-inner{max-width:950px;margin:auto}
.rf-below h2{font-size:clamp(25px,3.8vw,40px);letter-spacing:-.035em;margin:0 0 21px}
.rf-below p{color:#555b63;line-height:1.65;font-size:14px;max-width:650px}
.rf-below a{font-weight:750;text-decoration:underline;text-underline-offset:3px}
.rf-footer{background:#fff;padding:24px clamp(20px,4vw,62px);display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:#646a72}
.rf-footer a{margin-left:15px;text-decoration:none}
.rf-feature-cta{position:absolute;z-index:8;right:clamp(18px,4vw,62px);top:clamp(68px,8vw,108px);bottom:auto;left:auto;display:flex;flex-direction:row-reverse;align-items:center;gap:12px;color:#fff;text-decoration:none;pointer-events:auto;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.rf-feature-cta small{font-size:10px;text-shadow:0 1px 9px #0008}
.rf-feature-cta span{background:#fff;color:var(--ink);border-radius:30px;padding:12px 18px;white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.17);font-size:11px}
.rf-feature-cta:hover span{background:var(--pink);color:#fff}
.rf-progress{pointer-events:none}
@media(max-width:780px){.rf-feature-cta{left:auto;right:18px;top:64px;bottom:auto;gap:0}.rf-feature-cta span{font-size:10px;padding:11px 14px}.rf-feature-cta small{display:none}.rf-caption{display:none}.rf-drag-hint{display:none}}
#rfMenu[hidden]{display:none!important}
.rf-drag-surface{outline-offset:-5px}
.rf-stage.is-revealed .rf-art{filter:saturate(.84)}
@media(max-width:780px){
.rf-head{height:63px;padding:0 18px}.rf-brand{font-size:18px}.rf-links a{display:none}
.rf-stage{min-height:750px;height:auto}.rf-art{background-position:center 25%;filter:saturate(.82)}
.rf-art:after{background:linear-gradient(180deg,rgba(16,20,21,.37),rgba(16,20,21,.18) 37%,rgba(16,20,21,.45) 70%,rgba(16,20,21,.35))}
.rf-main{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;min-height:750px;height:auto;padding:114px 19px 110px}
.rf-copy{order:0;justify-content:flex-start;min-height:190px;padding:0 5px 25px}
.rf-copy h2{font-size:clamp(34px,10vw,47px);line-height:.98;max-width:12ch}
.rf-copy p{font-size:13px;margin-top:10px;max-width:28ch}
.rf-checker{order:1;max-width:none;margin-top:auto;padding:25px 23px 21px;box-shadow:0 12px 32px rgba(0,0,0,.16)}
.rf-checker h1{font-size:29px}.rf-intro{font-size:12px;margin-bottom:22px}
.rf-topline{top:25px;left:23px;right:20px}.rf-eyebrow{font-size:10px}.rf-topnote{font-size:9px}
.rf-interaction{right:20px;bottom:21px}.rf-drag-hint{font-size:10px}.rf-arrow{width:45px;height:45px}
.rf-caption{bottom:30px;left:22px;font-size:9px}.rf-result{max-height:none}
}
@media(max-width:380px){.rf-main{padding-left:13px;padding-right:13px}.rf-checker{padding:23px 19px}.rf-copy h2{font-size:34px}.rf-drag-hint{max-width:90px}}
@media(prefers-reduced-motion:reduce){.rf-copy h2,.rf-copy p,.rf-reveal,.rf-progress{transition:none!important}.rf-spin{animation:none}} 
@media(min-width:1000px){.rf-art{background-size:contain;background-repeat:no-repeat;background-color:#31363c;background-position:76% center}}
.rf-eyebrow span{background:#9e1945;color:#fff;padding:3px 6px;border-radius:3px}
@media(max-width:640px){.rf-checker{margin-bottom:66px}.rf-stage{height:auto;min-height:820px}}
@media(max-width:780px){.rf-art{background-size:cover;background-repeat:no-repeat;background-position:center top;transform:none;background-color:#31363c}.rf-badge-note{font-size:11px;line-height:1.5}.rf-result{margin:20px auto;width:calc(100% - 32px)}}
/* Wide outpainted photograph on desktop only; original mobile art is unchanged. */
@media(min-width:781px){.rf-art{background-image:url('/giant-phone-hero-desktop.jpg');background-size:cover;background-repeat:no-repeat;background-position:center center;transform:none}}