@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Syne:wght@400;600;700;800&display=swap');
:root {
 --bg:        #f5f4f0;
 --bg-alt:    #eeedea;
 --ink:       #0f0f0f;
 --ink-soft:  #2a2a2a;
 --muted:     #888;
 --muted-lt:  #bbb;
 --accent:    #ff4d00;
 --accent-dk: #cc3d00;
 --border:    rgba(0,0,0,0.10);
 --border-dk: rgba(0,0,0,0.18);
 --white:     #ffffff;
 --green:     #1a6e3c;
 --red:       #c0392b;
 --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
 --shadow-md: 0 8px 32px rgba(0,0,0,0.10);
 --shadow-lg: 0 24px 64px rgba(0,0,0,0.14);
 --r-sm:      6px;
 --r-md:      12px;
 --r-lg:      20px;
 --font:      'Space Grotesk', sans-serif;
 --head:      'Syne', sans-serif;
 --sp-xs:  0.5rem;
 --sp-sm:  1rem;
 --sp-md:  1.5rem;
 --sp-lg:  3rem;
 --sp-xl:  5rem;
 --sp-2xl: 8rem;
 --sec-pad: 4rem 1.25rem;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
 background:var(--bg);
 color:var(--ink);
 font-family:var(--font);
 line-height:1.6;
 overflow-x:hidden;
 -webkit-font-smoothing:antialiased;
 cursor:none;
}
img { max-width:100%; display:block; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font-family:inherit; }
button { cursor:pointer; }
@media(hover:none){ body{ cursor:auto; } .cursor,.cursor-ring{ display:none !important; } }
.cursor      { width:8px; height:8px; background:var(--accent); border-radius:50%; position:fixed; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform 0.1s; }
.cursor-ring { width:36px; height:36px; border:1.5px solid var(--accent); border-radius:50%; position:fixed; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); opacity:0.5; transition:width 0.2s,height 0.2s; }
.vx-nav {
 position:fixed; top:0; left:0; right:0; z-index:500;
 padding:0 1.25rem;
 height:60px;
 display:flex; justify-content:space-between; align-items:center;
 background:rgba(245,244,240,0.93);
 backdrop-filter:blur(16px);
 -webkit-backdrop-filter:blur(16px);
 border-bottom:1px solid var(--border);
 transition:box-shadow 0.3s;
}
.vx-nav.scrolled { box-shadow:var(--shadow-sm); }
.vx-logo { font-family:var(--head); font-size:1rem; font-weight:800; letter-spacing:-0.02em; text-transform:uppercase; color:var(--ink); }
.vx-logo em { color:var(--accent); font-style:normal; }
.vx-nav-links { display:none; gap:2rem; align-items:center; }
.vx-nav-links a { color:var(--muted); font-size:0.78rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; transition:color 0.2s; }
.vx-nav-links a:hover, .vx-nav-links a.active { color:var(--ink); }
.vx-nav-cta {
 background:var(--ink); color:var(--bg) !important;
 padding:0.4rem 1rem; border-radius:99px;
 font-size:0.72rem !important; font-weight:600 !important;
 transition:background 0.2s !important;
}
.vx-nav-cta:hover { background:var(--accent) !important; }
.vx-menu-btn {
 display:flex; flex-direction:column; gap:5px; padding:6px;
 background:none; border:none; cursor:pointer; z-index:501;
}
.vx-menu-btn span {
 width:22px; height:2px; background:var(--ink);
 border-radius:2px; transition:all 0.3s; display:block;
}
.vx-mobile-nav {
 display:none; position:fixed; inset:0;
 background:var(--bg); z-index:499;
 flex-direction:column; align-items:center; justify-content:center;
 gap:2rem; padding:2rem;
}
.vx-mobile-nav.open { display:flex; }
.vx-mobile-nav a {
 font-family:var(--head); font-size:1.8rem; font-weight:800;
 letter-spacing:-0.03em; color:var(--ink); transition:color 0.2s;
}
.vx-mobile-nav a:hover { color:var(--accent); }
.vx-mobile-close {
 position:absolute; top:1.25rem; right:1.25rem;
 background:none; border:none; font-size:1.5rem; cursor:pointer;
 color:var(--ink); padding:0.25rem;
}
@media(min-width:768px) {
 .vx-nav { padding:0 3rem; height:68px; }
 .vx-logo { font-size:1.1rem; }
 .vx-nav-links { display:flex; }
 .vx-menu-btn { display:none; }
}
.vx-marquee-wrap { background:var(--ink); padding:0.75rem 0; overflow:hidden; }
.vx-marquee { display:flex; gap:2.5rem; animation:vxMarquee 28s linear infinite; white-space:nowrap; }
.vx-marquee span { font-family:var(--head); font-size:0.65rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.35); }
.vx-marquee .dot { color:var(--accent); }
@keyframes vxMarquee { to { transform:translateX(-50%); } }
.vx-section { padding:var(--sec-pad); max-width:1200px; margin:0 auto; }
.vx-section-full { padding:var(--sec-pad); }
.vx-divider { border:none; border-top:1px solid var(--border); }
@media(min-width:768px) {
 :root { --sec-pad: 6rem 2rem; }
}
@media(min-width:1024px) {
 :root { --sec-pad: 8rem 3rem; }
}
.sec-label {
 font-size:0.65rem; font-weight:700; letter-spacing:0.14em;
 text-transform:uppercase; color:var(--muted); margin-bottom:2rem;
 display:flex; align-items:center; gap:1rem;
}
.sec-label::after { content:''; flex:1; max-width:40px; height:1px; background:var(--border); }
.page-label {
 font-size:0.65rem; font-weight:700; letter-spacing:0.14em;
 text-transform:uppercase; color:var(--accent); margin-bottom:1.25rem;
 display:flex; align-items:center; gap:0.75rem;
}
.page-label::before { content:''; width:24px; height:1.5px; background:var(--accent); }
.vx-h1 {
 font-family:var(--head);
 font-size:clamp(3rem,11vw,9rem);
 font-weight:800; line-height:0.92; letter-spacing:-0.04em;
}
.vx-h2 {
 font-family:var(--head);
 font-size:clamp(1.75rem,5vw,3.5rem);
 font-weight:700; line-height:1.05; letter-spacing:-0.03em;
}
.vx-h3 { font-family:var(--head); font-size:1.25rem; font-weight:700; letter-spacing:-0.02em; }
.stroke-text { -webkit-text-stroke:2px var(--ink); color:transparent; }
.red-text { color:var(--accent); }
.btn {
 display:inline-flex; align-items:center; gap:0.5rem;
 padding:0.7rem 1.5rem; border-radius:99px;
 font-size:0.8rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
 transition:all 0.2s; cursor:pointer; border:none; font-family:var(--font);
 white-space:nowrap;
}
.btn-primary { background:var(--ink); color:var(--bg); }
.btn-primary:hover { background:var(--accent); }
.btn-outline { border:1.5px solid var(--border-dk); color:var(--ink); background:transparent; }
.btn-outline:hover { border-color:var(--ink); background:var(--ink); color:var(--bg); }
.btn-accent { background:var(--accent); color:var(--white); }
.btn-accent:hover { background:var(--accent-dk); }
.btn-sm { padding:0.45rem 1rem; font-size:0.72rem; }
.btn-full { width:100%; justify-content:center; }
.pill { font-size:0.62rem; font-weight:600; padding:0.3rem 0.75rem; border-radius:99px; letter-spacing:0.06em; text-transform:uppercase; }
.pill-live { background:var(--ink); color:var(--bg); }
.pill-soon { border:1px solid var(--border); color:var(--muted); }
.badge { display:inline-block; font-size:0.62rem; font-weight:700; padding:0.18rem 0.55rem; border-radius:4px; text-transform:uppercase; letter-spacing:0.06em; }
.badge-green  { background:rgba(26,110,60,0.12); color:var(--green); }
.badge-orange { background:rgba(255,77,0,0.12); color:var(--accent); }
.badge-gray   { background:rgba(0,0,0,0.07); color:var(--muted); }
.vx-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:1.5rem; transition:box-shadow 0.3s,transform 0.3s; }
.vx-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.highlight { background:var(--white); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:var(--r-sm); padding:1.1rem 1.25rem; margin:1.5rem 0; }
.highlight p { margin:0; font-size:0.88rem; color:#333; line-height:1.7; }
.vx-input,.vx-textarea,.vx-select {
 width:100%; padding:0.85rem 1rem;
 background:var(--white); border:1.5px solid var(--border);
 border-radius:var(--r-sm); font-size:0.88rem; color:var(--ink);
 transition:border-color 0.2s,box-shadow 0.2s; outline:none;
 -webkit-appearance:none;
}
.vx-input:focus,.vx-textarea:focus,.vx-select:focus {
 border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,77,0,0.1);
}
.vx-label { font-size:0.75rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink); margin-bottom:0.5rem; display:block; }
.vx-form-group { margin-bottom:1.25rem; }
.vx-textarea { resize:vertical; min-height:110px; line-height:1.6; }
.hero-bg-text {
 position:absolute; bottom:-1rem; left:-0.5rem;
 font-family:var(--head); font-size:clamp(7rem,22vw,20rem);
 font-weight:800; color:transparent;
 -webkit-text-stroke:1px rgba(0,0,0,0.05);
 line-height:1; pointer-events:none; user-select:none; white-space:nowrap;
}
.hero-tag {
 font-size:0.68rem; font-weight:600; letter-spacing:0.14em;
 text-transform:uppercase; color:var(--accent);
 display:flex; align-items:center; gap:0.6rem; margin-bottom:1.75rem;
}
.hero-tag::before { content:''; width:20px; height:1.5px; background:var(--accent); }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)} }
.app-card-row {
 display:grid;
 grid-template-columns:auto 1fr;
 gap:1.25rem 1.5rem;
 align-items:center;
 padding:1.75rem 0;
 border-bottom:1px solid var(--border);
 color:inherit;
 transition:background 0.2s;
}
.app-card-row:hover { background:rgba(0,0,0,0.02); }
.app-card-row .arr { display:none; }
.app-card-num { font-family:var(--head); font-size:0.65rem; font-weight:700; color:var(--muted); letter-spacing:0.1em; }
.app-card-body { display:flex; align-items:center; gap:1.25rem; }
.app-card-ico { width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.app-card-ico img { width:100%; height:100%; object-fit:cover; border-radius:13px; }
.app-card-txt h3 { font-family:var(--head); font-size:1.2rem; font-weight:700; letter-spacing:-0.02em; margin-bottom:0.15rem; }
.app-card-txt p { font-size:0.78rem; color:var(--muted); }
@media(min-width:640px) {
 .app-card-row { grid-template-columns:48px 1fr auto; gap:2rem; padding:2.25rem 0; transition:padding-left 0.3s; }
 .app-card-row:hover { padding-left:1rem; background:none; }
 .app-card-row:hover .arr { color:var(--accent); transform:translateX(6px); }
 .app-card-ico { width:60px; height:60px; font-size:1.5rem; }
 .app-card-txt h3 { font-size:1.5rem; }
 .app-card-txt p { font-size:0.82rem; }
 .app-card-right { display:flex; align-items:center; gap:1.25rem; }
 .arr { font-size:1.3rem; color:var(--muted); transition:all 0.3s; display:block; }
}
.vx-dark-section { background:var(--ink); padding:5rem 1.25rem; }
.vx-dark-inner { max-width:1200px; margin:0 auto; }
.vx-dark-section h2 { font-family:var(--head); font-size:clamp(1.75rem,4vw,3.2rem); font-weight:700; color:white; letter-spacing:-0.03em; margin-bottom:3rem; }
.val-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
.val { border-top:1px solid rgba(255,255,255,0.1); padding-top:1.75rem; }
.val-n { font-size:0.62rem; font-weight:700; color:var(--accent); letter-spacing:0.14em; text-transform:uppercase; margin-bottom:1rem; }
.val-t { font-family:var(--head); font-size:1.05rem; font-weight:700; color:white; margin-bottom:0.6rem; }
.val-d { font-size:0.82rem; color:rgba(255,255,255,0.4); line-height:1.85; }
@media(min-width:640px)  { .val-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:1024px) {
 .val-grid { grid-template-columns:repeat(3,1fr); }
 .vx-dark-section { padding:8rem 3rem; }
}
.vx-footer-wrap { border-top:1px solid var(--border); background:var(--bg); }
.vx-footer { padding:3rem 1.25rem 2rem; max-width:1200px; margin:0 auto; }
.vx-footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem 1.5rem; margin-bottom:2.5rem; }
.vx-footer-brand { grid-column:1/-1; }
.vx-footer-brand .vx-logo { font-size:1.1rem; margin-bottom:0.75rem; display:block; }
.vx-footer-brand p { font-size:0.8rem; color:var(--muted); line-height:1.8; max-width:280px; }
.vx-footer-col h4 { font-family:var(--head); font-size:0.68rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink); margin-bottom:1rem; }
.vx-footer-col a { display:block; color:var(--muted); font-size:0.8rem; margin-bottom:0.5rem; transition:color 0.2s; }
.vx-footer-col a:hover { color:var(--ink); }
.vx-footer-bottom { border-top:1px solid var(--border); padding-top:1.25rem; display:flex; flex-direction:column; gap:0.5rem; }
.vx-footer-bottom p { font-size:0.7rem; color:var(--muted); }
@media(min-width:640px)  { .vx-footer-grid { grid-template-columns:repeat(2,1fr); } .vx-footer-brand { grid-column:auto; } }
@media(min-width:768px)  { .vx-footer { padding:4rem 2rem 2rem; } }
@media(min-width:1024px) {
 .vx-footer { padding:4rem 3rem 2rem; }
 .vx-footer-grid { grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; }
 .vx-footer-brand { grid-column:auto; }
 .vx-footer-bottom { flex-direction:row; justify-content:space-between; }
}
.legal-main { padding:5.5rem 1.25rem 4rem; max-width:720px; margin:0 auto; }
.legal-main h1 { font-family:var(--head); font-size:clamp(2rem,6vw,3.5rem); font-weight:800; letter-spacing:-0.03em; line-height:1.05; margin-bottom:0.75rem; }
.legal-main h2 { font-family:var(--head); font-size:1rem; font-weight:700; margin:2rem 0 0.65rem; letter-spacing:-0.01em; }
.legal-main p { font-size:0.88rem; color:#444; margin-bottom:0.9rem; line-height:1.85; }
.legal-main ul { padding-left:1.1rem; margin-bottom:1rem; }
.legal-main ul li { font-size:0.88rem; color:#444; margin-bottom:0.45rem; line-height:1.75; }
.legal-main a { color:var(--accent); border-bottom:1px solid rgba(255,77,0,0.3); transition:border-color 0.2s; }
.legal-main a:hover { border-color:var(--accent); }
.updated { font-size:0.75rem; color:var(--muted); margin-bottom:2.5rem; padding-bottom:1.75rem; border-bottom:1px solid var(--border); }
@media(min-width:768px) { .legal-main { padding:8rem 2rem 5rem; } }
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease,transform 0.6s ease; }
.reveal.vis { opacity:1; transform:none; }
.reveal.d1 { transition-delay:0.1s; }
.reveal.d2 { transition-delay:0.2s; }
.reveal.d3 { transition-delay:0.3s; }
.reveal.d4 { transition-delay:0.4s; }
.vx-toast {
 position:fixed; bottom:1.5rem; right:1.25rem; left:1.25rem;
 background:var(--ink); color:var(--bg);
 padding:0.85rem 1.25rem; border-radius:var(--r-md);
 font-size:0.82rem; font-weight:500; z-index:9999;
 transform:translateY(100px); opacity:0;
 transition:all 0.3s; box-shadow:var(--shadow-lg);
 pointer-events:none; text-align:center;
}
.vx-toast.show { transform:translateY(0); opacity:1; }
.vx-toast.success { background:var(--green); }
.vx-toast.error   { background:var(--red); }
@media(min-width:480px) { .vx-toast { left:auto; min-width:280px; max-width:380px; text-align:left; } }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q { display:flex; justify-content:space-between; align-items:center; padding:1.25rem 0; cursor:pointer; font-weight:600; font-size:0.9rem; gap:1rem; line-height:1.4; }
.faq-q .icon { font-size:1.1rem; color:var(--muted); transition:transform 0.3s; flex-shrink:0; }
.faq-item.open .faq-q .icon { transform:rotate(45deg); color:var(--accent); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s ease; }
.faq-item.open .faq-a { max-height:400px; }
.faq-a p { font-size:0.88rem; color:var(--muted); line-height:1.85; padding-bottom:1.25rem; }
.pricing-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
.pricing-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:2rem; position:relative; }
.pricing-card.featured { border-width:2px; border-color:var(--ink); }
.pricing-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--ink); color:var(--bg); font-size:0.6rem; font-weight:700; padding:0.25rem 0.85rem; border-radius:99px; letter-spacing:0.08em; text-transform:uppercase; white-space:nowrap; }
.pricing-price { font-family:var(--head); font-size:3rem; font-weight:800; letter-spacing:-0.04em; line-height:1; margin:1.25rem 0 0.4rem; }
.pricing-price sup { font-size:1.3rem; vertical-align:super; }
.pricing-period { font-size:0.78rem; color:var(--muted); margin-bottom:1.75rem; }
.pricing-feat { list-style:none; margin-bottom:1.75rem; }
.pricing-feat li { font-size:0.83rem; color:var(--ink-soft,#2a2a2a); padding:0.45rem 0; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; gap:0.6rem; line-height:1.5; }
.pricing-feat li::before { content:'✓'; color:var(--accent); font-weight:700; flex-shrink:0; margin-top:1px; }
.pricing-feat li.no::before { content:'✗'; color:var(--muted); }
.pricing-feat li.no { color:var(--muted); }
@media(min-width:600px) { .pricing-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:900px) { .pricing-grid { max-width:780px; margin:0 auto; } }
.contact-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:900px) { .contact-grid { grid-template-columns:1fr 1.5fr; gap:6rem; } }
.cl-item { padding:2rem 0; border-bottom:1px solid var(--border); }
.cl-item:last-child { border-bottom:none; }
.cl-meta { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; margin-bottom:1rem; }
.cl-ver { font-family:var(--head); font-size:0.9rem; font-weight:700; }
.cl-date { font-size:0.72rem; color:var(--muted); }
.cl-body h3 { font-family:var(--head); font-size:1.25rem; font-weight:700; margin-bottom:0.6rem; }
.cl-body p { font-size:0.86rem; color:var(--muted); line-height:1.85; margin-bottom:0.6rem; }
.cl-body ul { padding-left:1.1rem; }
.cl-body ul li { font-size:0.83rem; color:#555; margin-bottom:0.35rem; line-height:1.7; }
@media(min-width:768px) {
 .cl-item { display:grid; grid-template-columns:160px 1fr; gap:3rem; }
 .cl-meta { flex-direction:column; align-items:flex-start; }
}
.about-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:900px) { .about-grid { grid-template-columns:1fr 1fr; gap:8rem; align-items:start; } }
.apps-top { display:grid; grid-template-columns:1fr; gap:1.25rem; margin-bottom:2.5rem; }
@media(min-width:768px) { .apps-top { grid-template-columns:1fr 1fr; gap:4rem; margin-bottom:4rem; } }
.nl-form { display:flex; flex-direction:column; gap:0.75rem; width:100%; max-width:420px; margin:0 auto; }
.nl-form .vx-input { flex:1; }
@media(min-width:480px) { .nl-form { flex-direction:row; } }
.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2.5rem; padding-top:2.5rem; border-top:1px solid var(--border); }
.stat-n { font-family:var(--head); font-size:2.5rem; font-weight:800; letter-spacing:-0.04em; line-height:1; }
.stat-l { font-size:0.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-top:0.25rem; }
.abide-hero-inner { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; max-width:1200px; margin:0 auto; width:100%; }
@media(min-width:900px) { .abide-hero-inner { grid-template-columns:1fr auto; } }
.feature-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media(min-width:600px) { .feature-grid { grid-template-columns:1fr 1fr; } }
@media(min-width:900px) { .feature-grid { grid-template-columns:repeat(3,1fr); } }
.billing-toggle { display:flex; align-items:center; gap:0.85rem; justify-content:center; margin-bottom:2.5rem; }
.btog { width:48px; height:26px; border-radius:99px; background:var(--ink); position:relative; cursor:pointer; transition:background 0.2s; flex-shrink:0; }
.btog-thumb { width:18px; height:18px; border-radius:50%; background:#fff; position:absolute; top:4px; left:4px; transition:transform 0.2s; box-shadow:0 1px 4px rgba(0,0,0,0.3); }
.btog.annual .btog-thumb { transform:translateX(22px); }
.btog-lbl { font-size:0.8rem; font-weight:500; color:var(--muted); }
.btog-lbl.active { color:var(--ink); font-weight:600; }
.save-badge { background:var(--accent); color:#fff; font-size:0.58rem; font-weight:700; padding:0.15rem 0.45rem; border-radius:99px; letter-spacing:0.06em; text-transform:uppercase; margin-left:0.3rem; vertical-align:middle; }
.feat-intro { display:grid; grid-template-columns:1fr; gap:2rem; margin-bottom:3rem; }
@media(min-width:768px) { .feat-intro { grid-template-columns:1fr 1fr; gap:5rem; align-items:start; margin-bottom:4rem; } }
.dark-cta-inner { display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; }
@media(min-width:768px) { .dark-cta-inner { grid-template-columns:1fr auto; gap:4rem; } }
.trust-bar { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; padding:2rem 0; border-top:1px solid var(--border); margin-top:2.5rem; }
.trust-item { text-align:center; }
.trust-ico { font-size:1.3rem; margin-bottom:0.35rem; }
.trust-label { font-size:0.72rem; font-weight:600; }
.trust-sub { font-size:0.68rem; color:var(--muted); }
@media(min-width:600px) { .trust-bar { grid-template-columns:repeat(4,1fr); } }
.phone-mockup { width:220px; height:440px; border-radius:28px; border:5px solid #1a1a1a; overflow:hidden; position:relative; box-shadow:0 32px 64px rgba(0,0,0,0.3); flex-shrink:0; }
.phone-mockup img { width:100%; height:100%; object-fit:cover; }
.phone-mockup-inner { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:2rem; }
@media(min-width:480px) { .phone-mockup { width:250px; height:500px; } }
.contact-info-item { margin-bottom:2.5rem; }
.contact-info-label { font-size:0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-bottom:0.4rem; }
.contact-info-link { font-family:var(--head); font-size:1rem; font-weight:700; color:var(--ink); border-bottom:2px solid var(--accent); padding-bottom:2px; display:inline-block; transition:color 0.2s; }
.contact-info-link:hover { color:var(--accent); }
@media(min-width:480px) { .contact-info-link { font-size:1.1rem; } }
.app-full-card { padding:2rem 0; border-bottom:1px solid var(--border); }
.app-full-card-inner { display:grid; grid-template-columns:auto 1fr; gap:1.25rem; align-items:start; }
.app-full-card-ico { width:64px; height:64px; border-radius:16px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.75rem; overflow:hidden; }
.app-full-card-ico img { width:100%; height:100%; object-fit:cover; }
.app-full-card h2 { font-family:var(--head); font-size:1.5rem; font-weight:800; letter-spacing:-0.03em; margin-bottom:0.4rem; }
.app-full-card p.tagline { font-size:0.82rem; color:var(--muted); margin-bottom:0.6rem; }
.app-full-card p.desc { font-size:0.85rem; color:var(--ink-soft,#2a2a2a); line-height:1.7; }
.app-full-card-actions { display:flex; gap:0.75rem; margin-top:1.25rem; flex-wrap:wrap; }
@media(min-width:640px) {
 .app-full-card-inner { grid-template-columns:80px 1fr auto; align-items:center; }
 .app-full-card-ico { width:80px; height:80px; border-radius:18px; }
 .app-full-card h2 { font-size:2rem; }
}
.scroll-hint { font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:0.6rem; }
.scroll-hint .bounce { animation:bounce 1.5s ease infinite; display:inline-block; }
