@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root { --ink:#111c37;--muted:#5e6b80;--blue:#1769ed;--blue-dark:#0f56cf;--pale:#f3f8ff;--line:#e7ecf5;--max:1190px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); font-family:'DM Sans',Inter,ui-sans-serif,system-ui,sans-serif; background:#fff; -webkit-font-smoothing:antialiased; }
a { color:inherit;text-decoration:none; }
button { font:inherit; cursor:pointer; }
.container { max-width:var(--max); margin:auto; padding-inline:28px; }
.site-header { position:relative; z-index:20; background:#fffdfef2;border-bottom:1px solid #eef2f8; }
.nav-row { height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { font-size:24px;font-weight:800;letter-spacing:-1.6px;white-space:nowrap; }
.brand span { color:var(--blue); }
.main-nav { display:flex;align-items:center;gap:36px;color:#48556a;font-size:13px;font-weight:700; }
.main-nav a:hover { color:var(--blue); }
.btn { display:inline-flex; align-items:center; justify-content:center;gap:10px;min-height:47px; padding:12px 23px;border-radius:12px;font-size:13px;font-weight:800;line-height:1.15;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease; white-space:nowrap; border:1px solid transparent; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--blue);color:#fff;box-shadow:0 8px 22px #1769ed24; }
.btn-primary:hover { background:var(--blue-dark);box-shadow:0 10px 25px #1769ed36; }
.btn-outline { background:#fff;color:var(--blue);border-color:#bad1fa; }
.btn-outline:hover { border-color:var(--blue); }
.nav-cta { min-height:42px;border-radius:999px;padding:12px 21px; }
.hero { position:relative; overflow:hidden;background:radial-gradient(ellipse at 85% 40%,#edf5ff 0%,#fff 56%); }
.hero-ambient { position:absolute; border:1px solid #e8f1fe; background:radial-gradient(ellipse,#eaf3ffb8 4%,#ecf5ff0f 72%);border-radius:50%; pointer-events:none; }
.hero-ambient-one { width:640px;height:380px;right:-120px;top:40px;transform:rotate(-24deg); }
.hero-ambient-two { width:520px;height:360px;left:-350px;bottom:-230px; }
.hero-grid { position:relative;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:105px;min-height:550px;padding-top:64px;padding-bottom:70px; }
.eyebrow { display:table;padding:8px 14px;border-radius:999px;background:#eaf2ff;color:#1262e4;font-size:10px;letter-spacing:.10em;font-weight:800;white-space:nowrap; }
.eyebrow-dot { display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--blue); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(42px,4.75vw,67px); line-height:1.06; letter-spacing:-.065em; font-weight:800; margin:24px 0 20px;max-width:680px; }
h1 span,.meet-copy h2 span,.section-heading h2 span { color:var(--blue); }
.hero-description { max-width:520px; font-size:17px;line-height:1.75;color:#4e5b72;margin-bottom:27px; }
.hero-actions { display:flex;gap:11px;align-items:center;flex-wrap:wrap; }
.trust-bar { display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:37px;color:#536177;font-size:11px;font-weight:700; }
.trust-bar span { display:flex;align-items:center;gap:8px; }
.trust-bar i { display:inline-grid;place-items:center;width:18px;height:18px;font-style:normal;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:11px; }
.pricing-card { position:relative;background:#fff;padding:30px 28px 25px;border:1px solid #e7edf7;box-shadow:0 22px 80px #234a8615; border-radius:22px;max-width:374px; width:100%;justify-self:end; }
.pricing-eyebrow { font-size:11px;font-weight:800;letter-spacing:.08em;color:#64728b;margin-bottom:9px; }
.price {font-weight:800;font-size:69px;line-height:1.1;letter-spacing:-.07em; }
.currency { font-size:41px;vertical-align:top;line-height:1.5; }
.per-month {font-weight:700;font-size:18px;letter-spacing:-.02em;color:#57647a; }
.pricing-desc {margin-top:9px;font-size:12px;color:#647085;line-height:1.55;}
.price-features {list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:13px;}
.price-features li {display:flex;align-items:center;gap:12px;font-size:13px;color:#34425b;font-weight:600;}
.price-features li::before {content:'✓'; display:grid;place-items:center;width:19px;height:19px;background:var(--blue);color:#fff;border-radius:50%;font-weight:800;font-size:12px;flex:none;}
.btn-full {display:flex;width:100%; }
.price-note { font-size:11px;color:#8793a5;text-align:center;margin:12px 0 0; }
.work-section { position:relative;overflow:hidden;background:linear-gradient(180deg,#f6faff 0%,#fff 88%);padding:72px 0 84px; }
.work-backdrop { position:absolute;top:230px;left:4%;right:4%;height:520px;background:radial-gradient(ellipse at 50% 60%,#dfecff 0%,#f5faff 50%,transparent 78%);border-radius:50%;pointer-events:none; }
.section-heading { text-align:center;position:relative;z-index:2; }
.section-heading .eyebrow { margin:0 auto 17px; }
.section-heading h2 {font-size:clamp(30px,3.4vw,45px);letter-spacing:-.055em;line-height:1.15;margin-bottom:12px; }
.section-heading p {max-width:630px;margin-inline:auto;color:var(--muted);font-size:15px;line-height:1.6; }
.wheel-controls { position:relative;max-width:1390px;margin:12px auto 0; }
.wheel-stage { position:relative;height:550px; width:100%;perspective:1250px;perspective-origin:50% 43%;overflow:hidden;isolation:isolate;touch-action:pan-y; }
.wheel-stage::after { content:'';position:absolute;left:7%;right:7%;bottom:47px;height:55px;background:radial-gradient(ellipse,#3c70c22c,transparent 69%);border-radius:50%;z-index:0;filter:blur(17px);pointer-events:none; }
.portfolio-phone { --phone-w:206px; position:absolute;top:20px;left:50%;width:var(--phone-w);height:calc(var(--phone-w)*2.17);will-change:transform;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.19,1,.25,1),filter .75s ease,opacity .75s ease;outline:none; }
.portfolio-phone:not(.active) { cursor:pointer; }
.portfolio-phone:not(.active):focus-visible .phone-body { outline:3px solid var(--blue);outline-offset:8px; }
.phone-body { width:100%;height:100%;position:relative;border-radius:30px;padding:7px;background:linear-gradient(120deg,#0a0e18,#565c67 25%,#0e1421 55%,#68707d 76%,#1a202b);box-shadow:0 19px 40px #0d274a35, inset 0 0 0 1px #21262c;transition:box-shadow .35s ease; }
.portfolio-phone.active .phone-body {box-shadow:0 0 0 3px #1c7cff,0 0 0 9px #3489ff30,0 0 39px 15px #2783ff5e,0 28px 54px #153e7547;}
.phone-inner {width:100%;height:100%;border-radius:24px;overflow:hidden;position:relative;background:#fff;touch-action:pan-y; }
.phone-inner img.thumb {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top; }
.phone-inner iframe {position:absolute;top:0;left:0;width:390px;height:844px;border:0;transform-origin:top left;background:#fff;}
.dynamic-island {width:31%;height:17px;position:absolute;left:50%;top:7px;transform:translateX(-50%);background:#10131a;border-radius:0 0 12px 12px;pointer-events:none;z-index:8; }
.phone-glass {position:absolute;inset:6px;border-radius:24px;box-shadow:inset 0 0 1px #ffffff50;pointer-events:none;z-index:10; }
.screen-hint {position:absolute;bottom:17px;left:50%;transform:translateX(-50%);z-index:7;background:#101a2ddc;border:1px solid #ffffff3b;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:9px 12px;white-space:nowrap;font-size:11px;font-weight:700;box-shadow:0 8px 19px #0003;backdrop-filter:blur(7px);animation:hint-bob 2s infinite;pointer-events:none;transition:opacity .3s ease; }
.screen-hint[hidden] {display:none;}
@keyframes hint-bob { 0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-5px)} }
.wheel-arrow {position:absolute;top:42%;z-index:120;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:#223b65;font-size:34px;line-height:1;background:#fff;border:1px solid #e9eef8;box-shadow:0 10px 25px #2a4c8227;transition:transform .2s,color .2s; }
.wheel-arrow:hover {transform:scale(1.08);color:var(--blue); }
.wheel-arrow.left {left:24px;} .wheel-arrow.right {right:24px;}
.portfolio-info {position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;text-align:center;margin:-17px auto 0;padding:0 18px;max-width:580px; }
.pagination {display:flex;gap:8px;justify-content:center;align-items:center;margin:0 0 16px; }
.pagination button {border:0;background:#cbd4e3;width:9px;height:9px;border-radius:50%;padding:0;transition:background .25s,transform .25s; }
.pagination button[aria-current="true"] {background:var(--blue);transform:scale(1.2); }
.portfolio-info h3 {font-size:21px;letter-spacing:-.035em;margin:0 0 4px; }
.project-category {color:#65748a;font-size:12px;margin:0 0 11px; }
.project-desc {color:#58677f;font-size:13px;line-height:1.7;margin:0 0 17px; }
.portfolio-actions {display:flex;justify-content:center;gap:10px;flex-wrap:wrap; }
.portfolio-actions .btn {min-height:42px;padding:10px 18px; }
#visitSite[hidden],#replaySplash[hidden] {display:none;}
.gesture-note {font-size:11px;color:#8996a9;margin:17px 0 0; }
.meet-section {padding:85px 0;background:#fff; }
.meet-grid {display:grid;grid-template-columns:380px 1fr;gap:79px;align-items:center; }
.portrait-frame {position:relative;background:#e8f1ff;aspect-ratio:1.2 / 1;border-radius:22px;overflow:hidden;box-shadow:0 15px 35px #1b3e7710; }
.portrait-frame img {width:100%;height:100%;object-fit:cover;object-position:center 25%; }
.meet-copy h2 {font-size:clamp(29px,3.3vw,43px);line-height:1.18;letter-spacing:-.05em;margin:17px 0;max-width:690px; }
.meet-copy p {font-size:14px;line-height:1.85;color:#566379;margin:0 0 12px;max-width:700px; }
.meet-features {display:flex;flex-wrap:wrap;gap:13px;margin:23px 0 28px; }
.meet-features span {background:#eff5ff;color:#3460a3;padding:10px 13px;border-radius:999px;font-size:11px;font-weight:800; }
.meet-link {font-size:13px;font-weight:800;color:var(--blue);border-bottom:1px solid #a7c8fa;padding-bottom:6px; }
.reviews-section {padding:83px 0 105px;background:#f7faff; }
.review-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:36px auto 0;max-width:1050px; }
.review-placeholder {padding:25px 26px;background:#fff;border:1px solid #e8edf6;border-radius:17px;min-height:178px;box-shadow:0 10px 25px #2a58840b; }
.review-stars {font-size:17px;letter-spacing:3px;color:#f2b23c;margin-bottom:18px; }
.review-placeholder p {font-size:14px;line-height:1.65;color:#43536d; }
.review-person {font-size:11px;color:#8b97a6;font-weight:800;margin-top:19px; }
.footer {background:linear-gradient(115deg,#092955,#0e4085 65%,#072b61);color:#fff;position:relative;overflow:hidden; }
.footer-wave {position:absolute;inset:0;opacity:.25;background:repeating-radial-gradient(ellipse at 90% 130%,transparent 0 23px,#3d8fff 25px 26px,transparent 27px 42px);pointer-events:none; }
.footer-content {position:relative;padding-top:85px;text-align:center; }
.footer-eyebrow {font-size:10px;letter-spacing:.16em;font-weight:800;color:#9bc3ff; }
.footer h2 {font-size:clamp(34px,4.3vw,53px);letter-spacing:-.055em;margin:14px 0; }
.footer h2 em {font-style:normal;color:#83b7ff; }
.footer p {font-size:14px;color:#bed5f6;line-height:1.6;margin-bottom:25px; }
.btn-light {background:#fff;color:#125cdd;border-radius:999px; }
.footer-bottom {display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff2d;margin-top:75px;padding:23px 0;gap:22px;color:#a8c7eb;font-size:12px; }
.footer-bottom .brand {font-size:20px;color:#fff; }.footer-bottom .brand span {color:#8fbfff; }
@media(max-width:900px){ .hero-grid{gap:35px;grid-template-columns:1fr .85fr}.meet-grid{grid-template-columns:310px 1fr;gap:35px}.trust-bar{gap:12px}.portfolio-phone{--phone-w:191px}.wheel-stage{height:505px} }
@media(max-width:680px){ .container{padding-inline:20px}.nav-row{height:65px}.brand{font-size:20px}.main-nav{display:none}.nav-cta{min-height:38px;padding:10px 14px;font-size:11px}.hero-grid{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:58px}.hero h1{font-size:clamp(40px,9vw,56px);max-width:600px}.hero-description{font-size:15px;line-height:1.6}.pricing-card{max-width:none;padding:25px}.price{font-size:62px}.trust-bar{margin-top:24px;gap:13px}.trust-bar span{font-size:10px}.work-section{padding-top:59px;padding-bottom:58px}.section-heading h2{font-size:31px}.section-heading p{font-size:13px}.wheel-stage{height:435px;}.portfolio-phone{--phone-w:174px;top:20px}.wheel-arrow{top:44%;width:36px;height:36px;font-size:27px}.wheel-arrow.left{left:9px}.wheel-arrow.right{right:9px}.portfolio-info{margin-top:-13px}.portfolio-info h3{font-size:20px}.gesture-note{font-size:10px}.meet-section{padding:58px 0}.meet-grid{grid-template-columns:1fr;gap:28px}.portrait-frame{max-width:370px;aspect-ratio:1.3/1}.meet-copy h2{font-size:33px}.reviews-section{padding:55px 0 70px}.review-grid{grid-template-columns:1fr;gap:13px;margin-top:25px}.review-placeholder{min-height:135px}.footer-content{padding-top:65px}.footer-bottom{margin-top:60px;flex-wrap:wrap;justify-content:center;}.footer-bottom .brand{width:100%}.hero-actions .btn{padding:12px 15px;font-size:12px} }
@media(prefers-reduced-motion: reduce){ html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important} }

/* ===== v2: polished product-style hero with real site mini-previews ===== */
:root{--max:1410px;--blue:#1465f4;--blue-dark:#0754e0;}
.site-header{background:rgba(255,255,255,.96)}
.hero{background:radial-gradient(ellipse at 65% 36%,#eaf4ff 0%,#f7fbff 37%,#ffffff 80%);}
.hero::after{content:"";position:absolute;right:-14%;top:-52%;width:75%;height:150%;border-radius:50%;border:1px solid #badbff77;box-shadow:inset 0 0 0 75px #d6eaff1b,inset 0 0 0 185px #d5e9ff14;transform:rotate(-22deg);pointer-events:none;}
.hero-ambient-one{width:760px;height:520px;right:11%;top:0;opacity:.65;background:radial-gradient(ellipse,#d6e8ff94,transparent 67%);border:0;}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(250px,.83fr) minmax(295px,.78fr);gap:23px;min-height:565px;padding-top:69px;padding-bottom:65px;}
.hero-copy{position:relative;z-index:3;}
.hero h1{font-size:clamp(49px,4vw,71px);line-height:1.055;max-width:560px;margin:21px 0 21px;letter-spacing:-.068em;}
.hero h1 span{position:relative;display:inline;}
.hero h1 span::after{content:"";position:absolute;bottom:-8px;left:1%;width:92%;height:12px;border-top:3px solid #8abaff;border-radius:50%;transform:rotate(-2deg);opacity:.65;pointer-events:none;}
.hero-description{font-size:16px;line-height:1.68;max-width:515px;margin-bottom:23px;}
.hero-actions .btn{box-shadow:0 13px 28px #145ee51b;}
.trust-bar{gap:13px;margin-top:27px;}
.trust-bar span{font-size:10px;white-space:nowrap;}
.eyebrow{letter-spacing:.055em;}
.pricing-card{z-index:3;width:100%;max-width:350px;align-self:center;padding:26px 25px 24px;box-shadow:0 26px 85px #174a9828;border-radius:24px;background:#ffffffee;backdrop-filter:blur(11px);}
.price{font-size:65px;}
.price-features{gap:12px;margin:20px 0 24px;}
.price-features li{font-size:12px;}
.hero-showcase{position:relative;z-index:2;min-width:0;width:100%;height:400px;align-self:center;transform:translate(-5px,13px);}
.showcase-halo{position:absolute;inset:65px -17px 22px -25px;background:radial-gradient(ellipse,#bcdcff99 0%,#e1efff9a 40%,transparent 71%);border-radius:50%;}
.showcase-podium{position:absolute;left:-16px;right:-20px;bottom:8px;height:67px;border-radius:50%;background:linear-gradient(180deg,#edf7ff,#d4e5ff 55%,#b6d2ff);box-shadow:0 17px 38px #75a8e73b,inset 0 7px 0 #fff7;transform:rotate(-2deg);}
.showcase-note{position:absolute;top:0;right:4%;color:#2d4b76;font-size:13px;font-weight:800;font-style:italic;line-height:1.32;transform:rotate(-8deg);z-index:5;text-shadow:0 2px 8px white;}
.showcase-note span{display:block;font-size:32px;font-weight:400;line-height:1.1;margin-left:15px;}
.showcase-laptop{position:absolute;top:77px;right:-10px;width:97%;height:226px;transform:rotate(-3deg);filter:drop-shadow(0 22px 20px #10326435);}
.showcase-laptop-screen{position:relative;margin:auto;width:93%;height:208px;border:7px solid #191e2c;border-bottom-width:10px;border-radius:12px 12px 5px 5px;overflow:hidden;background:#fff;}
.showcase-laptop-screen iframe{pointer-events:none;border:0;position:absolute;left:0;top:0;width:1200px;height:760px;transform:scale(.255);transform-origin:top left;}
.showcase-laptop-base{height:15px;margin:auto;width:100%;border-radius:3px 3px 50% 50%;background:linear-gradient(180deg,#dbe3ec,#adb8c8 58%,#677487);box-shadow:inset 0 3px 0 #fff9;}
.showcase-laptop-base::after{content:"";display:block;margin:auto;width:33%;height:4px;border-radius:0 0 8px 8px;background:#8794a7;}
.showcase-phone{position:absolute;z-index:4;left:-15px;bottom:25px;width:104px;height:215px;border:5px solid #172234;border-radius:21px;background:#182131;box-shadow:0 19px 37px #0e315557,0 0 0 1px #8995a6;transform:rotate(7deg);overflow:hidden;}
.showcase-phone-screen{position:relative;width:100%;height:100%;border-radius:15px;overflow:hidden;background:white;}
.showcase-phone-screen iframe{pointer-events:none;position:absolute;left:0;top:0;border:0;width:390px;height:844px;transform:scale(.241);transform-origin:top left;}
.showcase-phone-island{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:43%;height:9px;border-radius:0 0 8px 8px;background:#182131;}
/* portfolio wheel: the inactive visual is actual post-splash source HTML and CSS */
.work-section{padding-top:57px;background:linear-gradient(180deg,#f6faff,#f9fbff 65%,#fff);}
.work-backdrop{top:175px;left:3%;right:3%;height:580px;background:radial-gradient(ellipse at 50% 65%,#d5e8ff 0%,#edf5ff 51%,transparent 79%);}
.wheel-stage{height:554px;}
.wheel-stage::before{content:"";position:absolute;left:5%;right:5%;bottom:44px;height:105px;border:1px solid #c4daf677;border-radius:50%;background:radial-gradient(ellipse,#e9f3ff50,#d6e8ff22 58%,transparent);transform:perspective(900px) rotateX(62deg);pointer-events:none;}
.portfolio-phone{top:25px;}
.phone-inner iframe.poster-frame,.phone-inner iframe.live-frame{position:absolute;top:0;left:0;width:390px;height:900px;border:0;transform-origin:top left;background:#fff;}
.phone-inner iframe.poster-frame{pointer-events:none;z-index:2;}
.phone-inner iframe.live-frame{z-index:3;pointer-events:auto;}
.phone-inner iframe[hidden]{display:none!important;}
.phone-inner .thumb{z-index:1;}
.phone-body{box-shadow:0 22px 44px #123c6a3b,inset 0 0 0 1px #252c39;}
.portfolio-phone.active .phone-body{box-shadow:0 0 0 3px #1a79ff,0 0 0 8px #3b94ff44,0 0 40px 12px #1789ff6b,0 30px 65px #153e7573;}
.screen-hint{z-index:9;bottom:18px;}
.dynamic-island{z-index:11;}
.phone-glass{z-index:12;}
.portfolio-info{margin-top:-10px;}
.meet-section{padding:65px 0;}
.meet-grid{grid-template-columns:380px 1fr;gap:65px;}
.portrait-frame{background:linear-gradient(130deg,#e0eeff,#f5f9ff);}
.reviews-section{padding:62px 0 80px;}
@media(max-width:1200px){
 .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(220px,.75fr) minmax(285px,.8fr);gap:13px;}
 .hero h1{font-size:clamp(42px,4.2vw,60px);}
 .showcase-laptop{right:-15px;}
 .hero-showcase{transform:translate(-3px,14px) scale(.96);}
 .pricing-card{padding:23px;}
 .trust-bar{gap:10px;}
}
@media(max-width:990px){
 .hero-grid{grid-template-columns:minmax(0,1fr) 325px;gap:25px;padding-top:48px;}
 .hero-copy{grid-column:1;grid-row:1;}
 .pricing-card{grid-column:2;grid-row:1;}
 .hero-showcase{grid-column:1 / -1;grid-row:2;width:450px;max-width:100%;margin:-20px auto -40px;transform:scale(.92);}
 .hero h1{font-size:clamp(44px,5vw,61px);}
 .meet-grid{grid-template-columns:320px 1fr;gap:32px;}
}
@media(max-width:680px){
 .hero-grid{display:flex;flex-direction:column;gap:25px;padding-top:43px;padding-bottom:48px;}
 .hero-copy{width:100%;}
 .hero h1{font-size:clamp(41px,10vw,62px);}
 .hero-description{font-size:15px;}
 .pricing-card{order:2;max-width:430px;}
 .hero-showcase{order:3;width:min(100%,400px);height:332px;margin:-16px auto -12px;transform:scale(.89);}
 .showcase-laptop{top:58px;height:211px;}
 .showcase-laptop-screen{height:194px;}
 .showcase-phone{bottom:22px;}
 .showcase-podium{bottom:7px;}
 .work-section{padding-top:52px;}
 .wheel-stage{height:437px;}
 .portfolio-phone{top:21px;}
 .meet-grid{grid-template-columns:1fr;}
}

/* v3 — footer copyright belongs under the primary call-to-action. */
.footer-copyright {text-align:center; margin:17px auto 0!important; color:#c6dbfb!important; font-size:12px!important; line-height:1.5;}
.footer-bottom {margin-top:36px;}
.footer-bottom .brand {margin-right:auto;}
.footer-bottom > a:last-child {margin-left:auto;}
@media(max-width:680px){.footer-bottom .brand{width:auto}.footer-bottom{justify-content:space-between;}.footer-bottom > a:last-child{margin-left:0}}

/* v4: full-height Good Jake's hero phone, uninterrupted top edge, footer credit below divider. */
.showcase-phone-island,.dynamic-island{display:none!important;}
.footer-bottom {display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;gap:12px!important;margin-top:56px!important;}
.footer-bottom .brand {justify-self:start!important;margin:0!important;width:auto!important;}
.footer-bottom > a:last-child {justify-self:end!important;margin:0!important;}
.footer-bottom .footer-copyright {justify-self:center!important;align-self:center!important;text-align:center!important;margin:0!important;font-size:12px!important;white-space:nowrap;color:#c6dbfb!important;}
@media(max-width:580px){
  .footer-bottom{gap:8px!important;grid-template-columns:1fr auto 1fr!important;}
  .footer-bottom .brand{font-size:15px!important;letter-spacing:-.7px!important;}
  .footer-bottom .footer-copyright{font-size:10px!important;white-space:normal;}
  .footer-bottom > a:last-child{font-size:11px!important;}
}


/* v5: preload live phone previews, keep inactive phones click-through safe, and support splash overlays. */
.phone-inner iframe.splash-frame{position:absolute;top:0;left:0;width:390px;height:900px;border:0;transform-origin:top left;background:#fff;z-index:5;pointer-events:none;}
.portfolio-phone:not(.active) iframe.live-frame{pointer-events:none!important;}
.portfolio-phone.active iframe.live-frame{pointer-events:auto!important;}

/* Launch update: two genuine testimonials, clearly identified by relationship. */
.review-card {display:flex;flex-direction:column;padding:28px 30px 27px;background:#fff;border:1px solid #e8edf6;border-radius:17px;box-shadow:0 10px 25px #2a58840b;min-width:0;}
.review-card--featured {border-color:#bad5ff;box-shadow:0 13px 31px #1667db12;}
.review-type {align-self:flex-start;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:#2369cb;background:#edf5ff;border-radius:999px;padding:8px 12px;}
.review-quote {font-family:Georgia,serif;color:#b4d2fb;font-size:57px;line-height:.8;margin:18px 0 8px;}
.review-card blockquote {padding:0;margin:0;color:#43536d;line-height:1.7;font-size:14px;flex:1;}
.review-card .review-person {margin-top:23px;padding-top:17px;border-top:1px solid #e9eef5;display:flex;flex-direction:column;gap:4px;color:#728095;font-size:12px;font-weight:500;}
.review-card .review-person strong {color:#223756;font-size:14px;}
@media (max-width:680px) {.review-grid{grid-template-columns:1fr;max-width:560px;gap:15px;}.review-card{padding:24px 23px;}}

/* Three genuine testimonials; Felicia is the central featured client on desktop. */
.review-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr) minmax(0, 1fr);
  gap: 20px;
  max-width: 1210px;
  margin: 40px auto 0;
  align-items: stretch;
}
.review-card { min-width: 0; }
.review-card--collaborator { grid-column: 1; grid-row: 1; }
.review-card--featured {
  grid-column: 2;
  grid-row: 1;
  padding: 36px 33px 32px;
  border: 1.5px solid #8dbdff;
  box-shadow: 0 17px 42px rgba(22,103,219,.18);
  transform: translateY(-12px);
  position: relative;
  z-index: 1;
}
.review-card--featured .review-type { color: #0e55bc; background: #dcecff; }
.review-card--featured blockquote { font-size: 15px; line-height: 1.74; color: #293c5a; }
.review-card--valerie { grid-column: 3; grid-row: 1; }
.review-card--collaborator blockquote,
.review-card--valerie blockquote { font-size: 13.5px; line-height: 1.72; }
@media (max-width: 950px) {
  .review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
    gap: 16px;
  }
  .review-card--featured {
    grid-column: 1 / -1;
    grid-row: 1;
    transform: none;
  }
  .review-card--valerie { grid-column: 1; grid-row: 2; }
  .review-card--collaborator { grid-column: 2; grid-row: 2; }
}
@media (max-width: 680px) {
  .review-grid { grid-template-columns: minmax(0, 1fr); gap: 15px; margin-top: 27px; }
  .review-card--featured,
  .review-card--valerie,
  .review-card--collaborator { grid-column: 1; padding: 26px 23px; }
  .review-card--featured { grid-row: 1; }
  .review-card--valerie { grid-row: 2; }
  .review-card--collaborator { grid-row: 3; }
  .review-card--featured blockquote { font-size: 14px; }
}


/* ============================================================
   SITES BUILT BETTER — BLUE AURORA DESIGN
   Blue-first identity with a soft blue/violet/cyan aurora background.
   Original sections, copy, pricing, device previews & scripts kept.
   ============================================================ */
:root {
  --blue: #2563eb;
  --blue-dark: #1948ca;
  --violet: #7143f6;
  --violet-deep: #6436e5;
  --soft-violet: #f2edff;
  --ink: #15223d;
}
body { background: #fff; }
.site-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e9eafa;
  box-shadow: 0 4px 28px rgba(70,65,140,.035);
}
.brand span {
  color: var(--blue);
}
.main-nav a:hover { color: var(--blue); }
.nav-cta { border-radius: 999px; }
.btn-primary {
  background: linear-gradient(110deg,#165de9 0%,#2563eb 60%,#4155ef 100%);
  box-shadow:0 10px 25px rgba(37,99,235,.19), inset 0 1px 0 rgba(255,255,255,.14);
}
.btn-primary:hover {
  background: linear-gradient(110deg,#164dc9 0%,#2153d8 60%,#3846d7 100%);
  box-shadow:0 13px 29px rgba(37,99,235,.25);
}
.btn-outline {
  border-color: #cdddfb;
  color: #255bc9;
  box-shadow: 0 3px 12px rgba(106,85,189,.035);
}
.btn-outline:hover { border-color: #83a9fa; background: #f8fbff; }
.hero {
  isolation:isolate;
  background:
    radial-gradient(ellipse at 100% 16%,rgba(235,220,255,.53),transparent 53%),
    radial-gradient(ellipse at 53% 94%,rgba(217,239,255,.56),transparent 49%),
    linear-gradient(105deg,#fff 0%,#fcfdff 36%,#f9f8ff 76%,#fff 100%);
}
.hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-30px -30px -40px 11%;
  background: url("assets/aurora-swirl.svg") center center / cover no-repeat;
  pointer-events:none;
  opacity:.88;
}
.hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  left:-11%;bottom:-51%;width:38vw;height:43vw;
  border-radius:50%;
  border:1px solid rgba(140,155,241,.12);
  box-shadow:0 0 0 65px rgba(140,155,241,.025),0 0 0 130px rgba(140,155,241,.018);
  pointer-events:none;
}
.hero-ambient { border-color:rgba(148,134,247,.13); background:radial-gradient(ellipse,rgba(191,181,255,.07),transparent 74%); }
.hero-ambient-one { opacity:.3; }
.hero-ambient-two { opacity:.3; }
.eyebrow {
  background:rgba(241,237,255,.93);
  color:#245cbd;
  border:1px solid rgba(126,99,232,.085);
}
.eyebrow-dot { background:#3475f0; }
.hero h1 { color:#14203b; }
.hero h1 span {
  color:#2563eb;
  background:linear-gradient(95deg,#1b65ec 4%,#3269f1 57%,#5961ed 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero-description { color:#526179; }
.trust-bar i {background:linear-gradient(140deg,#2871ed,#5470f0);}
.showcase-halo {
  background:radial-gradient(ellipse at 55% 58%,rgba(165,153,250,.26) 0%,rgba(122,206,255,.21) 40%,transparent 73%);
}
.showcase-podium {
  background:linear-gradient(180deg,#edf0ff,#dbe4ff 51%,#c0d4fc);
  box-shadow:0 18px 36px rgba(100,118,225,.17),inset 0 7px 0 rgba(255,255,255,.5);
}
.showcase-note { color:#345f9c; }
.pricing-card {
  background:rgba(255,255,255,.95);
  border:1px solid #e6ddfc;
  box-shadow:0 24px 75px rgba(73,62,147,.12),0 2px 20px rgba(91,87,186,.05);
}

.price-features li::before {background:linear-gradient(140deg,#3475f0,#5470ee);}
.work-section {
  background:linear-gradient(180deg,#faf9ff 0%,#f8fbff 45%,#fff 93%);
}
.work-backdrop {
  background:radial-gradient(ellipse at 48% 58%,rgba(204,206,255,.69) 0%,rgba(223,242,255,.51) 47%,transparent 78%);
}
.work-section .section-heading h2 span,
.meet-copy h2 span,
.reviews-section .section-heading h2 span {
  color:#2563eb;
}
.portfolio-phone.active .phone-body {
  box-shadow:0 0 0 3px #3378f7,0 0 0 8px rgba(84,142,252,.19),0 0 39px 12px rgba(83,120,239,.3),0 30px 65px rgba(50,62,119,.27);
}
.wheel-stage::after { background:radial-gradient(ellipse,rgba(111,104,232,.21),transparent 68%); }
.pagination button[aria-current="true"] { background:#2563eb; }
.portrait-frame { background:linear-gradient(135deg,#e6f1ff,#eee6ff); }
.meet-features span { background:#f2edff;color:#295cb9; }
.meet-link,.meet-link span { color:#2862ca; }
.review-card--featured {
  border-color:#c3d5f8;
  box-shadow:0 17px 42px rgba(58,104,196,.12);
}
.review-card--featured .review-type {background:#eaf1ff;color:#245ac3;}
.review-quote {color:#a9c9f9;}
.footer {
  background:
    radial-gradient(ellipse at 85% -8%,rgba(96,123,249,.38),transparent 47%),
    linear-gradient(120deg,#102b53 0%,#133c7c 54%,#293f8c 100%);
}
.footer-wave {opacity:.23;background:repeating-radial-gradient(ellipse at 90% 130%,transparent 0 23px,#bbadff 25px 26px,transparent 27px 42px);}
.footer h2 em {color:#c3d8ff;}
.footer-eyebrow {color:#b7cffb;}
.footer-bottom .brand span {color:#b9d2ff;}
@media(max-width:680px){
  .hero {
    background:
      radial-gradient(ellipse at 95% 25%,rgba(233,221,255,.47),transparent 58%),
      linear-gradient(135deg,#fff,#fcfbff 68%,#f7faff);
  }
  .hero::before { inset:190px -150px -40px -120px; background-size:auto 77%;background-position:top center;opacity:.65; }
  .hero::after {display:none;}
  .hero-ambient-one {opacity:.18;}
  .pricing-card { backdrop-filter:none; }
}
@media (prefers-reduced-motion:reduce) { .btn { transition:none; } }

/* Every Dog showcase imagery, with no network/iframe dependency */
.showcase-laptop-screen,.showcase-phone-screen{background:#061a37;}
.showcase-preview-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;pointer-events:none;user-select:none;}
.showcase-laptop-screen .showcase-preview-image{object-position:50% 50%;}
.showcase-phone-screen .showcase-preview-image{object-position:50% 10%;}
/* Blue remains the primary brand color despite the more colorful backdrop. */
.brand span, .footer-bottom .brand span{color:#2563eb;}
.nav-cta, .hero-actions .btn-primary, .pricing-card .btn-primary{color:#fff;}

/* Nov 11: simplify section labels and fit the actual Every Dog phone capture. */
.hero-copy h1 { margin-top: 0; }
.meet-copy h2 { margin-top: 0; }
.showcase-phone-screen .showcase-preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* Prevent the gradient-clipped headline punctuation from losing its right edge.
   The tight heading letter spacing otherwise clips the final period. */
.hero h1 span { padding-right: .10em; }
