@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{
  --ink:#07111f;
  --ink-soft:#10243c;
  --muted:#5f7083;
  --blue:#0879ff;
  --cyan:#20c6ff;
  --red:#e9232b;
  --paper:#f6f8fb;
  --line:#dce6f0;
  --white:#fff;
  --shadow:0 24px 70px rgba(3,20,43,.16);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input{font:inherit}
.container{width:min(1200px,92%);margin-inline:auto}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.02;margin:0}
h2{font-size:clamp(40px,5vw,66px);letter-spacing:-.055em}
p{margin-top:0}

.site-nav,.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.91);backdrop-filter:blur(20px);border-bottom:1px solid rgba(220,230,240,.78)}
.nav-inner,.nav .container{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;width:154px;height:62px;overflow:hidden}
.brand img{width:154px;height:62px;object-fit:contain}
.brand .official-logo{width:110px;height:110px;max-width:none;object-fit:contain;margin-inline:22px}
.links{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700;color:#304154}
.links a{transition:color .2s ease,transform .2s ease}
.links a:hover{color:var(--blue);transform:translateY(-1px)}
.nav-cta{background:var(--ink);color:#fff!important;padding:12px 18px;border-radius:999px}
.nav-cta span{color:var(--cyan)}
.menu{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;cursor:pointer}
.menu span{display:block;height:2px;background:var(--ink);border-radius:10px;margin:4px 0;transition:.25s ease}

.hero{position:relative;min-height:100vh;height:760px;overflow:hidden;background:#030a13;color:#fff}
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 18s ease-in-out infinite alternate}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,10,21,.88) 0%,rgba(2,10,21,.58) 48%,rgba(2,10,21,.12) 82%),linear-gradient(0deg,rgba(2,10,21,.82),transparent 48%,rgba(2,10,21,.28))}
.hero-grid-lines{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.hero-layout{height:100%;display:grid;grid-template-columns:1fr;align-items:center;position:relative;z-index:3;padding-bottom:36px}
.hero-copy{max-width:780px;animation:heroIn .9s .1s both}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#086edb;background:#e9f5ff;border:1px solid #cce8ff;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.eyebrow i{display:block;width:7px;height:7px;background:#24c875;border-radius:50%;box-shadow:0 0 0 5px rgba(36,200,117,.13)}
.eyebrow.light{color:#dff5ff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2);backdrop-filter:blur(12px)}
.hero-copy h1{font-size:clamp(46px,5.5vw,74px);letter-spacing:-.055em;margin:0 0 20px;max-width:820px}
.hero-copy h1 span{color:#57ceff}
.hero-copy>p{font-size:18px;line-height:1.72;color:#c4d3e2;max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:15px;font-weight:800;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover{transform:translateY(-3px)}
.btn-primary{background:linear-gradient(135deg,#0777ff,#20c5ff);color:#fff;box-shadow:0 15px 36px rgba(8,121,255,.3)}
.btn-primary:hover{box-shadow:0 18px 42px rgba(8,121,255,.42)}
.btn-glass{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(14px)}
.btn-dark{background:var(--ink);color:#fff}
.hero-photo-stack{position:relative;height:540px;animation:heroIn 1s .28s both}
.hero-photo{position:absolute;margin:0;border:1px solid rgba(255,255,255,.22);overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.4)}
.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.hero-photo:hover img{transform:scale(1.06)}
.hero-photo figcaption{position:absolute;left:18px;right:18px;bottom:16px;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.hero-photo-main{width:70%;height:410px;left:10%;top:65px;border-radius:180px 180px 32px 32px;animation:floatMain 7s ease-in-out infinite}
.hero-photo-main:after,.hero-photo-small:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,10,21,.72),transparent 50%);pointer-events:none}
.hero-photo-main figcaption{z-index:2;font-size:13px;display:flex;justify-content:space-between}
.hero-photo-main figcaption span{color:#73d9ff}
.hero-photo-small{width:185px;height:150px;border-radius:24px;z-index:2;background:#0a1624;animation:floatSmall 6s ease-in-out infinite}
.hero-photo-small.top{right:0;top:28px;animation-delay:-2s}
.hero-photo-small.bottom{left:0;bottom:12px;animation-delay:-4s}
.hero-photo-small figcaption{z-index:2}
.scroll-cue{position:absolute;left:50%;bottom:26px;z-index:5;transform:translateX(-50%);font-size:10px;color:#d5e2ee;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:10px}
.scroll-cue span{width:24px;height:37px;border:1px solid rgba(255,255,255,.35);border-radius:999px;position:relative}
.scroll-cue span:after{content:"";position:absolute;width:4px;height:7px;background:#fff;border-radius:10px;top:7px;left:9px;animation:scrollDot 1.8s infinite}

.section{padding:110px 0}
.about{background:#fff}
.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}
.about-copy h2{margin:22px 0 24px}
.about-copy>p{font-size:17px;color:var(--muted);line-height:1.75}
.about-points{margin:32px 0;display:grid;gap:0;border-top:1px solid var(--line)}
.about-points>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.about-points>div>span{color:var(--blue);font-size:12px;font-weight:800}
.about-points p{margin:0;color:var(--muted);font-size:14px}
.about-points strong{display:block;color:var(--ink);font-size:16px}
.text-link,.plan-link{display:inline-flex;align-items:center;gap:12px;font-weight:800;color:var(--blue)}
.text-link span,.plan-link{transition:transform .2s ease}
.text-link:hover span{transform:translateX(5px)}
.photo-mosaic{min-height:600px;position:relative}
.photo-mosaic figure{position:absolute;margin:0;overflow:hidden;box-shadow:var(--shadow)}
.photo-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.photo-mosaic figure:hover img{transform:scale(1.05)}
.photo-mosaic figcaption{position:absolute;left:18px;bottom:16px;color:#fff;font-size:12px;font-weight:800;text-shadow:0 3px 16px #000;z-index:2}
.photo-mosaic figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,8,18,.65),transparent 46%)}
.mosaic-large{width:72%;height:500px;right:0;top:0;border-radius:32px}
.mosaic-small{width:45%;height:315px;left:0;bottom:0;border:9px solid #fff;border-radius:30px}
.mosaic-stat{position:absolute;right:24px;bottom:42px;background:#fff;padding:22px 26px;border-radius:22px;box-shadow:var(--shadow);display:grid;z-index:3}
.mosaic-stat strong{font-family:"Space Grotesk";font-size:28px}
.mosaic-stat span{font-size:12px;color:var(--muted)}

.services{background:#06101d;color:#fff;position:relative;overflow:hidden}
.services:before{content:"";position:absolute;width:640px;height:640px;border-radius:50%;background:#0879ff1f;filter:blur(70px);right:-240px;top:-160px}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px;position:relative;z-index:2}
.section-head h2{margin-top:20px;max-width:760px}
.section-head>p{color:#9fb0c3;max-width:480px;margin:0}
.section-head.dark>p{color:#9fb0c3}
.photo-services{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:400px;gap:16px;position:relative;z-index:2}
.photo-service{position:relative;overflow:hidden;border-radius:var(--radius);min-width:0;border:1px solid rgba(255,255,255,.12)}
.photo-service.wide{grid-column:span 2}
.photo-service>img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.photo-service:hover>img{transform:scale(1.07);filter:saturate(1.12)}
.photo-service-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,8,17,.94) 0%,rgba(1,8,17,.18) 70%),linear-gradient(90deg,rgba(1,8,17,.35),transparent)}
.service-content{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.service-content>span{font-size:10px;color:#75d8ff;font-weight:800;letter-spacing:.14em}
.service-content h3{font-size:28px;margin:7px 0 8px}
.service-content p{font-size:13px;color:#bdccda;max-width:520px;margin-bottom:14px}
.service-content a{display:inline-block;font-size:13px;font-weight:800;color:#fff;transform:translateY(10px);opacity:0;transition:.35s ease}
.photo-service:hover .service-content a{transform:none;opacity:1}

.lifestyle{display:grid;grid-template-columns:repeat(3,1fr);background:#050c15}
.lifestyle-panel{height:460px;position:relative;overflow:hidden}
.lifestyle-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,8,17,.82),transparent 60%)}
.lifestyle-panel img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease,filter .6s ease;filter:saturate(.7)}
.lifestyle-panel:hover img{transform:scale(1.06);filter:saturate(1.05)}
.lifestyle-panel span{position:absolute;left:28px;bottom:24px;color:#fff;font-family:"Space Grotesk";font-size:28px;font-weight:700;z-index:2}

.plans-section{background:#07111f;color:#fff}
.plans{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.plan{position:relative;background:#0d1c2c;border:1px solid #20364a;border-radius:24px;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.plan:hover{transform:translateY(-7px);border-color:#3aaeff;box-shadow:0 28px 60px rgba(0,0,0,.25)}
.plan.featured{border-color:#4fc5ff;transform:translateY(-12px);box-shadow:0 22px 60px rgba(8,121,255,.18)}
.plan.featured:hover{transform:translateY(-18px)}
.popular{position:absolute;top:12px;right:12px;background:#fff;color:var(--ink);z-index:4;padding:7px 9px;border-radius:999px;font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.plan-photo{height:145px;position:relative;overflow:hidden}
.plan-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d1c2c,transparent 70%)}
.plan-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.plan:hover .plan-photo img{transform:scale(1.08)}
.plan-photo span{position:absolute;left:17px;top:16px;z-index:2;font-size:9px;font-weight:900;letter-spacing:.16em;background:rgba(2,10,21,.62);backdrop-filter:blur(10px);padding:6px 8px;border-radius:999px}
.plan-body{padding:2px 20px 22px}
.speednum{font-family:"Space Grotesk";font-size:40px;letter-spacing:-.06em}
.speednum small{font-family:"DM Sans";font-size:13px;color:#8fa4b7;letter-spacing:0}
.price{font-family:"Space Grotesk";font-size:22px;margin:4px 0 13px;color:#5bcfff}
.price small{font-family:"DM Sans";font-size:10px;color:#8fa4b7}
.plan-body p{font-size:12px;color:#93a7ba;min-height:58px}
.plan-features{list-style:none;margin:0 0 16px;padding:0;min-height:72px;color:#93a7ba;font-size:11px;line-height:1.7}
.plan-features li{position:relative;padding-left:15px}
.plan-features li:before{content:"✓";position:absolute;left:0;color:#5bcfff;font-weight:900}
.plan-link{font-size:11px;color:#fff;border-top:1px solid #20364a;padding-top:14px;width:100%}

.why{background:#fff}
.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.why-photo{height:620px;margin:0;position:relative;overflow:hidden;border-radius:34px;box-shadow:var(--shadow)}
.why-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.why-photo:hover img{transform:scale(1.05)}
.why-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,8,17,.9),transparent 65%)}
.why-photo figcaption{position:absolute;left:30px;bottom:28px;color:#fff;z-index:2;display:grid}
.why-photo figcaption strong{font-family:"Space Grotesk";font-size:34px}
.why-photo figcaption span{color:#7edcff}
.why-copy h2{margin:22px 0 30px}
.why-list{display:grid;border-top:1px solid var(--line)}
.why-list>div{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}
.why-list>div>span{font-size:11px;color:var(--blue);font-weight:900}
.why-list p{margin:0;font-size:13px;color:var(--muted)}
.why-list strong{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}

.brands{padding:90px 0;background:#fff;overflow:hidden}
.brands-head{text-align:center;margin-bottom:42px}
.brands-head h2{margin-top:18px;font-size:clamp(38px,4.5vw,58px)}

.faq-section{background:#fff}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:start}
.faq-intro h2{margin:22px 0 18px}
.faq-intro>p{color:var(--muted)}
.faq-intro>img{height:240px;width:100%;object-fit:cover;border-radius:24px;margin-top:28px}
.faq{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:0}
summary{list-style:none;cursor:pointer;font-family:"Space Grotesk";font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}
summary::-webkit-details-marker{display:none}
summary span{font-family:"DM Sans";width:30px;height:30px;border-radius:50%;background:#edf6ff;color:var(--blue);display:grid;place-items:center;transition:transform .25s ease}
details[open] summary span{transform:rotate(45deg)}
details p{color:var(--muted);max-width:720px;margin:0;padding:0 55px 24px 0}

.contact-section{min-height:560px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}
.contact-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.contact-section:hover .contact-bg{transform:scale(1.03)}
.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,9,18,.95),rgba(2,9,18,.5) 68%,rgba(2,9,18,.25))}
.contact-content{position:relative;z-index:2}
.contact-content h2{font-size:clamp(50px,7vw,88px);max-width:850px;margin:0 0 18px}
.contact-content>p{color:#bed0df;font-size:17px}

.footer{background:#040b13;color:#d5e0ec;padding:70px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}
.footer-brand img{width:190px;filter:brightness(0) invert(1)}
.footer-brand .official-logo{width:160px;height:160px;object-fit:contain;filter:none;border-radius:20px}
.footer h4{color:#fff;margin:0 0 14px;font-family:"Space Grotesk"}
.footer a,.footer p{color:#91a5b8;font-size:13px;display:block;margin:8px 0}
.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid #1b2a39;margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#768a9e}

.policy{padding:80px 0;background:#fff;min-height:calc(100vh - 78px)}
.policy h1{font-size:clamp(44px,6vw,64px);margin:20px 0 28px}
.policy h2{font-size:28px;margin-top:42px;letter-spacing:-.03em}
.policy p,.policy li{color:#536477}
.policy li{margin:8px 0}
.pill{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#0879ff;background:#eaf5ff;border-radius:999px;padding:7px 10px}
.notice{padding:18px 20px;background:#eef7ff;border:1px solid #cfeaff;border-radius:16px;color:#31536f;margin:25px 0}

.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}
.js .reveal.show{opacity:1;transform:none}

@keyframes heroIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes floatMain{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes floatSmall{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}25%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

@media(max-width:1080px){
  .hero-layout{grid-template-columns:1fr;gap:0}
  .hero-photo-stack{transform:scale(.9);transform-origin:center right}
  .plans{grid-template-columns:repeat(3,1fr)}
  .plan.featured{transform:none}.plan.featured:hover{transform:translateY(-7px)}
  .photo-services{grid-template-columns:repeat(2,1fr)}
  .photo-service.wide{grid-column:span 1}
}

@media(max-width:820px){
  .nav-inner,.nav .container{height:72px}
  .brand img{width:138px;height:55px}
  .menu{display:block}
  .links{display:none;position:absolute;top:67px;left:4%;right:4%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .links.open{display:flex}
  .links a{padding:8px 5px}.nav-cta{text-align:center;padding:13px}
  .menu.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu.open span:nth-child(2){opacity:0}
  .menu.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .hero{height:auto;min-height:100svh}
  .hero-layout{grid-template-columns:1fr;padding:90px 0 120px;align-content:center}
  .hero-copy{max-width:720px}
  .hero-photo-stack{height:380px;transform:none}
  .hero-photo-main{height:310px;width:70%;left:15%;top:32px}
  .hero-photo-small{width:150px;height:115px}
  .about-layout,.why-layout,.faq-layout{grid-template-columns:1fr;gap:55px}
  .photo-mosaic{min-height:560px}
  .photo-services{grid-auto-rows:390px}
  .lifestyle-panel{height:350px}
  .plans{grid-template-columns:repeat(2,1fr)}
  .why-photo{height:540px}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:560px){
  .container{width:min(92%,480px)}
  .section{padding:78px 0}
  h2{font-size:42px}
  .hero{min-height:100svh}
  .hero-copy h1{font-size:42px}
  .hero-copy>p{font-size:16px}
  .hero-photo-stack{height:310px}
  .hero-photo-main{height:260px;width:78%;left:11%;border-radius:110px 110px 24px 24px}
  .hero-photo-small{width:118px;height:95px;border-radius:18px}
  .hero-photo-small.top{right:-6px}.hero-photo-small.bottom{left:-6px}
  .scroll-cue{display:none}
  .section-head{display:block}.section-head>p{margin-top:18px}
  .photo-mosaic{min-height:485px}
  .mosaic-large{width:86%;height:400px}
  .mosaic-small{height:230px;width:48%}
  .mosaic-stat{right:8px;bottom:18px;padding:17px 20px}
  .photo-services{grid-template-columns:1fr;grid-auto-rows:390px}
  .service-content a{opacity:1;transform:none}
  .lifestyle{grid-template-columns:1fr}.lifestyle-panel{height:330px}
  .plans{grid-template-columns:1fr}
  .plan-photo{height:190px}
  .why-photo{height:460px}
  .why-photo figcaption strong{font-size:28px}
  .contact-section{min-height:600px}.contact-content h2{font-size:52px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}
  .policy{padding:55px 0}.policy h2{font-size:24px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
}


/* Mobile polish — compact, readable and touch-friendly */
@media (max-width: 560px) {
  html { scroll-padding-top: 76px; }
  body { overflow-x: hidden; }
  .container { width: calc(100% - 32px); max-width: 480px; }
  .section { padding: 60px 0; }
  h2 { font-size: clamp(32px, 9vw, 40px); line-height: 1.03; }

  .home-page .site-nav .nav-inner,
  .nav-inner,
  .nav .container { height: 76px !important; }
  .home-page .site-nav .brand .official-logo,
  .site-nav .brand .official-logo,
  .brand img {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    object-fit: contain !important;
    border-radius: 16px !important;
  }
  .menu {
    width: 48px;
    height: 48px;
    border-radius: 15px;
  }
  .links {
    top: 70px !important;
    left: 16px;
    right: 16px;
    max-height: calc(100svh - 88px);
    overflow-y: auto;
    padding: 14px;
    border-radius: 18px;
  }
  .links a { padding: 11px 8px; font-size: 14px; }

  .hero {
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
  }
  .hero-layout {
    min-height: 100vh;
    min-height: 100svh;
    padding: 108px 0 36px !important;
    align-content: start;
  }
  .hero .ambient-video,
  .hero .hero-shade,
  .hero .hero-grid-lines {
    height: 100% !important;
    min-height: 100vh;
    min-height: 100svh;
  }
  .hero-copy { max-width: 100%; }
  .hero-copy h1 {
    max-width: 11ch;
    margin: 0;
    font-size: clamp(36px, 10.7vw, 44px) !important;
    line-height: .98;
    letter-spacing: -.055em;
  }
  .hero-copy > p {
    max-width: 34ch;
    margin-top: 22px;
    font-size: 15px !important;
    line-height: 1.6;
  }
  .hero-actions {
    width: min(100%, 360px);
    margin-top: 25px;
    gap: 10px;
  }
  .hero-actions .btn {
    width: 100%;
    min-height: 50px;
    padding: 13px 18px;
    border-radius: 18px !important;
    font-size: 15px;
    justify-content: space-between;
  }

  .section-head { margin-bottom: 28px; }
  .section-head h2 { margin-top: 14px; }
  .section-head > p { margin-top: 14px; font-size: 14px; line-height: 1.6; }

  .about-layout,
  .why-layout,
  .faq-layout { gap: 38px; }
  .about-copy > p,
  .faq-intro > p { font-size: 14px; line-height: 1.65; }
  .about-points > div,
  .why-list > div {
    grid-template-columns: 30px 1fr;
    gap: 10px;
    padding: 14px 0;
  }
  .about-points strong,
  .why-list strong { font-size: 15px; }
  .about-points p,
  .why-list p { font-size: 12.5px; line-height: 1.55; }

  .photo-mosaic { min-height: 395px; }
  .mosaic-large { width: 88%; height: 320px; border-radius: 24px; }
  .mosaic-small {
    width: 46%;
    height: 180px;
    border-width: 6px;
    border-radius: 20px;
  }
  .mosaic-stat { padding: 14px 16px; border-radius: 16px; }
  .mosaic-stat strong { font-size: 23px; }

  .photo-services { grid-auto-rows: 310px; gap: 12px; }
  .photo-service { border-radius: 20px; }
  .service-content { left: 18px; right: 18px; bottom: 18px; }
  .service-content h3 { font-size: 23px; margin: 6px 0; }
  .service-content p { font-size: 12px; line-height: 1.5; }
  .service-content a { font-size: 12px; }

  .lifestyle { gap: 1px; }
  .lifestyle-panel { height: 250px; }
  .lifestyle-panel span { left: 18px; bottom: 17px; font-size: 23px; }

  .plans { gap: 13px; }
  .plan { border-radius: 20px; }
  .plan-photo { height: 150px; }
  .plan-body { padding: 2px 17px 19px; }
  .speednum { font-size: 35px; }
  .multi-price { gap: 4px !important; }
  .price-option { padding: 7px 2px !important; }
  .price-option b { font-size: 13px !important; }
  .plan-features { min-height: 0; margin-bottom: 13px; }

  .why-photo { height: 360px; border-radius: 24px; }
  .why-photo figcaption { left: 20px; bottom: 19px; }
  .why-photo figcaption strong { font-size: 25px; }

  .brands { padding: 60px 0; }
  .brands-head { margin-bottom: 28px; }
  .brands-head h2 { font-size: 34px; }

  .faq-intro > img { height: 185px; margin-top: 20px; }
  summary { padding: 18px 0; font-size: 16px; gap: 12px; }
  details p { padding: 0 38px 18px 0; font-size: 13px; line-height: 1.6; }

  .contact-section { min-height: 470px; }
  .contact-content h2 { font-size: clamp(38px, 11vw, 48px); }
  .contact-content > p { font-size: 14px; }

  .footer { padding: 52px 0 22px; }
  .footer-grid { gap: 28px; }
  .footer-brand .official-logo {
    width: 104px !important;
    height: 104px !important;
  }
}

/* Softer card entrance animation */
.js .reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0) scale(.985);
  transition:
    opacity .68s ease,
    transform .72s cubic-bezier(.2,.72,.2,1);
  transition-delay: var(--delay, 0ms);
  will-change: opacity, transform;
}
.js .reveal.show {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}
@media (max-width: 560px) {
  .js .reveal { transform: translate3d(0, 18px, 0) scale(.99); }
  .js .reveal.show { transform: translate3d(0,0,0) scale(1); }
}


/* Centered hero presentation and smooth media entrance */
.hero-layout {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0;
}
.hero-copy {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}
.hero-copy h1,
.hero-copy > p {
  margin-inline: auto;
}
.hero-actions {
  justify-content: center;
  margin-inline: auto;
}
.hero > video,
.hero .ambient-video {
  opacity: 0;
  animation: videoFadeIn 1.35s ease-out .12s forwards, heroZoom 18s ease-in-out 1.45s infinite alternate;
}
@keyframes videoFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 560px) {
  .hero-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 92px 0 28px !important;
  }
  .hero-copy h1 { max-width: 10ch; }
  .hero-copy > p { max-width: 34ch; }
  .hero-actions {
    margin-left: auto;
    margin-right: auto;
  }
  .hero-actions .btn { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .hero > video,
  .hero .ambient-video { opacity: 1; }
}
