/* Appearance tokens shared by every public page and the service panel. */
:root{color-scheme:light;--surface:#f5f5f7;--surface-raised:#fff;--surface-hover:#eceef2;--glass:#ffffffdf;--glow-blue:#0071e310;--glow-orange:#ef81351a;--field:#fafafa}
:root[data-theme=dark]{color-scheme:dark;--ink:#f5f5f7;--muted:#a8a9b2;--paper:#101114;--white:#191b20;--line:#34363e;--surface:#191b20;--surface-raised:#202229;--surface-hover:#292c34;--glass:#14161ce8;--green:#6bb4ff;--accent:#6bb4ff;--glow-blue:#348cff18;--glow-orange:#ef813528;--field:#15171c}
body{background:var(--paper);color:var(--ink)}
.theme-toggle{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);transition:background .2s,transform .2s}
.theme-toggle:hover{background:var(--surface-hover);transform:rotate(-12deg)}.theme-toggle svg{width:19px;height:19px}.theme-sun{display:none}[data-theme=dark] .theme-moon{display:none}[data-theme=dark] .theme-sun{display:block}.no-js .theme-toggle{display:none}.header .nav{gap:19px}.brand{color:var(--ink)}
.header{background:var(--glass);color:var(--ink);border-color:var(--line)}.topbar{background:var(--surface);color:var(--muted);border-color:var(--line)}.topbar b{color:var(--ink)}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 35%,var(--glow-orange),transparent 55%),radial-gradient(ellipse at 20% 0%,var(--glow-blue),transparent 55%),linear-gradient(var(--surface),var(--paper));color:var(--ink)}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;opacity:.24;mask-image:linear-gradient(110deg,transparent 35%,#000)}
.hero h1 em{background:linear-gradient(105deg,#76777e,#c36638);background-clip:text;color:transparent}[data-theme=dark] .hero h1 em{background-image:linear-gradient(105deg,#b8bbc7,#ffac75)}
.hero .eyebrow,.hero-copy>p:not(.eyebrow),.hero-points{color:var(--muted)}
.phone-scene{--phone-scale:.51;height:640px;position:relative;overflow:visible;isolation:isolate}.phone-stage{position:absolute;inset:0;z-index:2}.phone-assembly{position:absolute;left:50%;top:47%;width:384px;height:1024px;transform:translate(-50%,-50%) scale(var(--phone-scale));transform-origin:center}
.phone-layer{position:absolute;inset:0;will-change:transform;animation:separate-layers 14s cubic-bezier(.45,0,.2,1) infinite;animation-delay:-5s;transform:translate(var(--spread),var(--lift));filter:drop-shadow(10px 14px 11px #00000025)}
.phone-texture{width:384px;height:1024px;background-image:url('assets/iphone-orange-layers.webp');background-repeat:no-repeat;background-size:1536px 1024px}
.layer-display-back{--spread:-325px;--lift:-12px;z-index:1}.layer-display-back .phone-texture{background-position:0 0}
.layer-internals{--spread:-112px;--lift:-6px;z-index:2}.layer-internals .phone-texture{background-position:-384px 0}
.layer-frame{--spread:105px;--lift:0px;z-index:3}.layer-frame .phone-texture{background-position:-768px 0}
.layer-rear{--spread:320px;--lift:6px;z-index:4}.layer-rear .phone-texture{background-position:-1152px 0}
@keyframes separate-layers{0%,12%,94%,100%{transform:translate(0,0)}34%,72%{transform:translate(var(--spread),var(--lift))}}
.hero-visual.phone-scene:before{content:"";position:absolute;left:10%;right:10%;bottom:54px;height:30px;width:auto;background:#00000018;border-radius:50%;filter:blur(20px);z-index:0}
.scene-halo{position:absolute;width:85%;aspect-ratio:1;top:15%;left:8%;border-radius:50%;background:radial-gradient(circle,var(--glow-orange),transparent 68%);animation:halo-breathe 9s ease-in-out infinite}
.scene-orbit{position:absolute;left:4%;top:18%;width:92%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;transform:rotateX(60deg) rotate(-25deg);opacity:.55}.scene-orbit:before{content:"";position:absolute;inset:10%;border:1px dashed var(--line);border-radius:50%}
@keyframes halo-breathe{50%{transform:scale(1.15) translateY(-10px);opacity:.5}}
.phone-caption{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:11px;color:var(--muted);letter-spacing:.045em}
.animation-toggle{position:absolute;bottom:61px;right:4px;z-index:4;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-radius:25px;padding:10px 13px;min-height:40px;font-size:12px;display:flex;gap:6px;align-items:center}.animation-toggle span{font-size:11px}
.is-paused .phone-layer,.offscreen .phone-layer,.tab-hidden .phone-layer,.is-paused .scene-halo,.offscreen .scene-halo,.tab-hidden .scene-halo{animation-play-state:paused}.no-js .phone-layer,.no-js .scene-halo{animation:none}.no-js .animation-toggle{display:none}
.category-card,.tool-card,.service-card,.review-card{transition:transform .3s,box-shadow .3s,border-color .3s}.category-card:hover,.tool-card:hover,.service-card:hover{box-shadow:0 16px 42px #0000000b;border-color:var(--line);transform:translateY(-5px)}.category-card img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.category-card:hover img{transform:translateY(-6px) rotate(-3deg)}
.process{position:relative;background:var(--surface);overflow:hidden}.steps article{position:relative}.step-number{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--green);transition:box-shadow .3s}.steps article:hover .step-number{box-shadow:0 0 0 7px var(--glow-blue)}
.care-visual{background:radial-gradient(ellipse at 50% 40%,var(--glow-blue),transparent 65%),var(--surface)}.reveal-item{transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s ease var(--reveal-delay,0ms),transform .3s,box-shadow .3s}.reveal-pending{opacity:0;translate:0 24px}
/* Surfaces and type, including all form and content states. */
.trust-strip,.category-card,.review-card,.cta-panel,.service-image,.aside-product,.service-note,.aside-note,.photo-note,.price-result,.empty-panel,.google-links,.tracking-note,.mega-image,.review-avatar,.form-panel legend span,.filter-chip,footer,.admin-body,.private-link,.admin-photo{background:var(--surface);border-color:var(--line)}
.service-card,.form-panel,.gallery-card,.admin-header,.admin-row{background:var(--surface-raised);border-color:var(--line)}
.nav-services .mega-panel{background:var(--surface-raised);color:var(--ink);border-color:var(--line)}.mega-image:hover,.mega-main:hover .mega-image,.category-card:hover,.nav-cta:hover,.review-controls button:hover{background:var(--surface-hover)}
.mega-bottom,.steps article,.footer-bottom,.category-top>.icon,.nav-cta,.tool-card,.tracking-result,.status-timeline li{border-color:var(--line)}
.nav-cta,.mega-panel .mega-head>a,.mega-panel .mega-bottom a,.mega-panel .mega-sub a:hover,.service-body .text-link,.tool-card strong,.button.secondary,.hero .secondary,#navigation>a:hover,#navigation [aria-current=page]{color:var(--green)}
.button.secondary:hover,.hero .secondary:hover{background:var(--glow-blue)}
.mega-head,.mega-bottom,.mega-panel .mega-sub a,.hero .eyebrow,.eyebrow,.review-avatar,.filter-chip,.footer-grid p,.footer-grid>div>a:not(.brand),.footer-bottom,.category-top,.care-caption,.step-number,.tracking-updated,.status-timeline time,.admin-row small,.admin-header>span{color:var(--muted)}
.price-amount,.footer-grid .brand,.footer-grid h2,.footer-grid a.footer-phone,.admin-row h2{color:var(--ink)}.trust-strip .icon,.mega-image>svg{color:var(--muted)}
.field input,.field select,.field textarea,.private-link input{background:var(--field);color:var(--ink);border-color:var(--line)}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.mobile-actions{background:var(--glass)}.mobile-actions a{background:var(--surface)}.mobile-actions a:last-child{background:#0071e3;color:#fff}.review-controls button{border-color:var(--line)}.review-track{scrollbar-color:var(--muted) var(--surface)}
.filter-chip.active,.admin-tabs button.active,.category-tabs a[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.admin-tabs button{background:var(--surface-hover);color:var(--ink)}.admin-header>button{background:var(--surface);color:var(--ink);border-color:var(--line)}.admin-header>.theme-toggle{padding:0;margin-left:0}
[data-theme=dark] .form-status:not(:empty),[data-theme=dark] .status-pill,[data-theme=dark] .checkbox-grid label:has(:checked){background:#162d47;color:#99ceff;border-color:#305478}[data-theme=dark] .form-status.error{background:#3a211e;color:#ffc0af;border-color:#674039}[data-theme=dark] .small-button{color:#ffaaa3}[data-theme=dark] .console-art{background:#343740;box-shadow:inset 0 -9px 0 #292b33,0 16px 25px #0002}[data-theme=dark] .console-art>.icon{color:#d1d2d8}[data-theme=dark] .service-symbol{background:#292c34;color:#d1d2d8}[data-theme=dark] .comparison,[data-theme=dark] .comparison-before{background:var(--surface)}[data-theme=dark] .comparison-line>span{color:#1d1d1f}
@media(min-width:801px) and (max-width:1100px){.nav-cta{display:none}#navigation{gap:18px}.phone-scene{--phone-scale:.41}}
@media(max-width:800px){.header .nav{gap:12px}.theme-toggle{order:1}.menu-toggle{order:2;margin-left:0}.brand{margin-right:auto}#navigation{background:var(--surface-raised);color:var(--ink)}#navigation>a,.nav-services summary{border-color:var(--line)}.menu-toggle{color:var(--ink);border-color:var(--line)}.phone-scene{--phone-scale:.34;height:480px}.hero-grid{grid-template-columns:1fr 1fr;gap:4px}.hero h1{font-size:40px}.hero-points{flex-wrap:wrap;gap:10px}}
@media(max-width:560px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:46px}.hero-copy{padding-bottom:18px}.phone-scene{--phone-scale:.35;height:460px;margin:0;width:100%}.phone-assembly{left:50%;top:45%}.animation-toggle{right:0;bottom:51px}.phone-caption{bottom:17px}.hero-visual.phone-scene:before{bottom:72px}.scene-orbit{top:14%}.hero:after{background-size:44px 44px}.brand{font-size:26px}.theme-toggle{flex-basis:40px;width:40px;height:40px}}
@media(max-width:380px){.phone-scene{--phone-scale:.29;height:410px}.hero h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.phone-layer,.scene-halo{animation:none!important}.animation-toggle{display:none}.reveal-item{transition:none;opacity:1;translate:none}.category-card img{transition:none}}
@media print{.theme-toggle,.animation-toggle,.phone-scene{display:none}.reveal-item{opacity:1;translate:none}:root[data-theme=dark]{--paper:#fff;--ink:#111;--muted:#444;--surface:#eee;--surface-raised:#fff;--line:#ccc}body{background:#fff;color:#111}}
/* Clip atlas gutters to prevent neighboring hardware entering a layer. */
.layer-internals .phone-texture,.layer-frame .phone-texture,.layer-rear .phone-texture{clip-path:inset(0 20px 0 35px)}
@media(min-width:561px) and (max-width:800px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:10px;max-width:600px}.hero h1{font-size:56px}.phone-scene{--phone-scale:.46;height:570px}}
