:root{--bg:#0b0d10;--panel:#12151a;--panel2:#181c22;--text:#f4f3ef;--muted:#9ca1aa;--line:#2a2e35;--accent:#d8ff45;--accent2:#b9df2e;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(11,13,16,.76);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font-size:13px}.brand-dot{color:var(--accent)}.desktop-nav{display:flex;gap:32px;font-size:14px;color:#c5c8cc}.desktop-nav a:hover{color:var(--text)}.btn{border:0;border-radius:3px;padding:15px 22px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:.2s}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{background:#efffae;transform:translateY(-1px)}.btn-secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.btn-ghost{border:1px solid rgba(255,255,255,.25);color:white;background:rgba(255,255,255,.04)}.btn-small{padding:10px 17px}.hero{min-height:850px;position:relative;display:flex;align-items:center;padding:120px 8vw 70px;overflow:hidden;background:radial-gradient(circle at 70% 35%,#293038 0,#15191f 27%,#0b0d10 63%)}.hero:after{content:"";position:absolute;width:620px;height:620px;right:-120px;top:130px;border-radius:50%;background:linear-gradient(135deg,rgba(216,255,69,.13),transparent 45%);filter:blur(1px)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,16,.98) 0%,rgba(11,13,16,.82) 40%,rgba(11,13,16,.18) 100%)}.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow,.section-label{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700}.hero h1{font-size:clamp(56px,8vw,112px);line-height:.93;letter-spacing:-.055em;margin:25px 0}.hero h1 em{font-style:normal;color:#9da3aa}.hero-copy{font-size:18px;color:#b7bbc1;max-width:610px}.hero-actions{display:flex;gap:12px;margin:32px 0 48px;flex-wrap:wrap}.trust-row{display:flex;gap:42px}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font:700 20px Manrope}.trust-row span{font-size:12px;color:var(--muted)}.hero-badge{position:absolute;z-index:2;right:7vw;bottom:100px;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.hero-badge span{font-size:11px;color:var(--accent)}.hero-badge b{font-size:12px;letter-spacing:.2em}.hero-badge small{color:var(--muted)}.section{max-width:var(--max);margin:auto;padding:110px 4vw}.intro{border-top:1px solid var(--line)}.intro-grid,.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;margin-top:38px}.intro h2,.section-head h2,.method h2,.faq h2{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em}.intro h2 span,.section-head h2 span,.method h2 span,.faq h2 span{color:#747b84}.intro p,.section-head p{color:var(--muted);font-size:16px;max-width:500px}.text-link{display:inline-flex;gap:10px;margin-top:25px;font-weight:700;font-size:14px}.text-link span{color:var(--accent)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:55px;max-width:1000px;margin-left:auto;margin-right:auto}.service-card{position:relative;background:var(--panel);border:1px solid var(--line);padding:32px;min-height:570px}.service-card.featured{border-color:#596626;background:linear-gradient(145deg,#171b17,#12151a)}.popular{position:absolute;top:0;right:0;background:var(--accent);color:#111;padding:7px 12px;font-size:10px;font-weight:800;letter-spacing:.1em}.service-top{display:flex;justify-content:space-between;color:#777d85;font-size:11px;letter-spacing:.1em}.service-card h3{font-size:30px;margin:42px 0 8px}.service-card p{color:var(--muted);min-height:72px}.price{margin:25px 0;font-size:13px;color:#9fa4ab}.price strong{font:800 40px Manrope;color:var(--text);margin-left:5px}.service-card ul{padding:20px 0 90px;margin:0;border-top:1px solid var(--line);list-style:none;color:#c6c9cd;font-size:13px}.service-card li{padding:7px 0}.service-card li:before{content:"✓";color:var(--accent);margin-right:9px}.service-cta{position:absolute;bottom:27px;left:32px;right:32px;border:1px solid var(--line);background:transparent;color:var(--text);padding:13px;cursor:pointer;font-weight:700}.featured .service-cta{background:var(--accent);color:#111;border-color:var(--accent)}.fine-print{font-size:11px;color:#666d75;margin-top:18px}.method{max-width:none;padding:0;display:grid;grid-template-columns:1fr 1fr;background:#101317}.method-image{min-height:680px;background:radial-gradient(circle at 55% 38%,#4a5156 0,#22282e 28%,#0e1114 62%);position:relative}.method-image:before{content:"";position:absolute;inset:12%;border:1px solid rgba(216,255,69,.22);transform:rotate(-4deg)}.image-caption{position:absolute;bottom:50px;left:7vw;display:flex;flex-direction:column}.image-caption span{color:var(--accent);font-size:11px;letter-spacing:.2em}.image-caption b{font:800 clamp(25px,3vw,42px) Manrope;max-width:400px;line-height:1}.method-content{padding:100px 8vw}.steps{margin-top:45px}.step{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:23px 0;border-top:1px solid var(--line)}.step>span{color:var(--accent);font-size:11px}.step h3{font-size:18px;margin:0 0 5px}.step p{font-size:13px;color:var(--muted);margin:0}.result-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px;margin-top:50px}.result-card{min-height:400px;background:#1b2026;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#30363b,#111418 70%);opacity:.85}.result-one{min-height:500px}.result-two:before{background:linear-gradient(45deg,#474b4c,#171b1d)}.result-three:before{background:linear-gradient(120deg,#5a5d5c,#151819)}.result-card>*{position:relative}.result-card span{font-size:10px;color:var(--accent);letter-spacing:.2em}.result-card b{font:700 20px Manrope;margin-top:4px}.booking{max-width:none;background:#15191e}.booking-shell{max-width:1100px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.booking-info h2{font-size:clamp(42px,5vw,65px);line-height:1;margin:25px 0}.booking-info h2 span{color:#747b84}.booking-info>p{color:var(--muted);max-width:420px}.booking-points{display:flex;flex-direction:column;gap:10px;margin-top:30px;font-size:13px;color:#c9cdd0}.booking-points span:first-letter{color:var(--accent)}.booking-form{background:#0d1013;border:1px solid var(--line);padding:34px}.progress{display:flex;align-items:center;gap:10px;margin-bottom:35px}.progress span{width:28px;height:28px;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:#7d838b}.progress span.active{background:var(--accent);color:#111;border-color:var(--accent);font-weight:800}.progress i{height:1px;background:var(--line);width:50px}.form-step{display:none}.form-step.active{display:block}.step-title small{font-size:10px;color:var(--accent);letter-spacing:.15em}.step-title h3{font-size:28px;margin:7px 0 25px}label{display:block;font-size:12px;color:#bfc3c7;margin:14px 0}label small{color:#70767d}input,select,textarea{display:block;width:100%;margin-top:7px;background:#15191e;border:1px solid #30353c;color:var(--text);padding:13px;border-radius:2px;outline:none}input:focus,select:focus,textarea:focus{border-color:#687e25}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.slot-label{font-size:12px;color:#bfc3c7;margin:18px 0 10px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{background:#15191e;color:#d9dce0;border:1px solid #30353c;padding:12px;cursor:pointer;font-size:12px}.slot:hover,.slot.selected{border-color:var(--accent);background:#1a2113;color:var(--accent)}.slot.disabled{opacity:.3;cursor:not-allowed}.form-actions{display:flex;gap:10px;margin-top:25px}.form-actions .btn{flex:1}.summary{background:#15191e;border:1px solid var(--line);padding:16px;margin-top:20px;font-size:13px;line-height:1.7}.payment-note{font-size:10px;color:#666d75;text-align:center;margin:12px 0 0}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-list{border-top:1px solid var(--line);margin-top:3px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--accent);font-size:20px}.faq details p{color:var(--muted);font-size:13px;max-width:650px;margin:15px 0 0}.footer{border-top:1px solid var(--line);padding:55px 4vw;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;max-width:1400px;margin:auto;color:#8b9199}.footer p{font-size:12px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.mobile-book{display:none}.admin-body{padding-top:110px}.admin-wrap{max-width:1100px;margin:auto;padding:50px 4vw}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-card{background:var(--panel);border:1px solid var(--line);padding:25px}.admin-card h3{margin-top:0}.admin-list{list-style:none;padding:0;margin:0}.admin-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:13px}.danger{color:#ff7d7d}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.empty{color:#6f767e;font-size:13px}
@media(max-width:850px){.desktop-nav{display:none}.site-header{padding:0 18px}.site-header .btn{display:none}.hero{min-height:760px;padding:130px 22px 50px}.hero h1{font-size:59px}.hero-copy{font-size:16px}.hero-badge{display:none}.trust-row{gap:22px}.section{padding:75px 20px}.intro-grid,.section-head,.booking-shell,.faq{grid-template-columns:1fr;gap:30px}.intro h2,.section-head h2,.method h2,.faq h2{font-size:44px}.service-grid,.result-grid,.why-grid,.area-grid{grid-template-columns:1fr}.service-card{min-height:480px}.method{display:block}.method-image{min-height:430px}.method-content{padding:70px 20px}.result-one{min-height:400px}.booking-shell{padding:0}.booking-form{padding:22px}.slots{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr;padding-bottom:95px}.mobile-book{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;background:rgba(11,13,16,.95);padding:10px 14px;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.mobile-book a{display:flex;justify-content:space-between;align-items:center;background:var(--accent);color:#111;padding:14px 18px;font-weight:800}.two-col{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}}
@media(min-width:851px){.mobile-book{display:none}}
.booking-success{padding:35px 5px;text-align:center}.success-mark{width:56px;height:56px;border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;margin:0 auto 22px;font-size:24px}.booking-success small{color:var(--accent);letter-spacing:.18em;font-weight:800}.booking-success h3{font-size:32px;margin:10px 0}.booking-success p{color:var(--muted);max-width:520px;margin:0 auto 18px}.success-note{font-size:12px}.empty-slot{color:var(--muted);font-size:12px;padding:12px}.booking-admin-item{align-items:flex-start!important}.status{font-size:10px;padding:4px 7px;border:1px solid var(--line);margin-left:6px}.status-confirmed{color:var(--accent);border-color:#596626}.status-awaiting_payment{color:#ffd56a}.status-declined{color:#ff7d7d}.photo-count{color:var(--accent);font-size:12px}.admin-actions .btn{white-space:nowrap}

.extras-note{margin:25px auto 0;max-width:1000px;border:1px solid var(--line);background:#11151a;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.extras-note strong{font-size:13px;color:var(--text)}.extras-note span{font-size:12px;color:var(--muted);line-height:1.6}.why{border-top:1px solid var(--line)}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:45px;background:var(--line);border:1px solid var(--line)}.why-grid article{background:var(--panel);padding:28px;min-height:190px}.why-grid article>span{color:var(--accent);font-size:11px}.why-grid h3{font-size:20px;margin:25px 0 8px}.why-grid p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.area{border-top:1px solid var(--line)}.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;margin-top:38px}.area h2{font-size:clamp(45px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:0}.area h2 span{color:#747b84}.area p{color:var(--muted);font-size:16px;max-width:500px;line-height:1.7}.muted-small{font-size:12px!important;color:#6f767e!important}.footer-placeholder{color:#555c64!important}.simple-page{min-height:calc(100vh - 90px);max-width:760px;margin:auto;padding:150px 24px;text-align:center}.simple-page h1{font:800 clamp(42px,7vw,72px) Manrope;line-height:1;margin:20px 0}.simple-page p{color:var(--muted);max-width:580px;margin:0 auto 28px;line-height:1.7}.simple-page .success-mark{margin:0 auto 20px}

/* --- Mobile refinements V5 --- */
html, body { overflow-x: hidden; }

.why-grid {
  min-width: 0;
}

.area-grid {
  align-items: start;
}

.area-grid > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
}

@media (max-width: 850px) {
  /* The four reasons become a contained horizontal scroller instead of
     making the whole page wider. */
  .why-grid {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 0;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .why-grid article {
    flex: 0 0 86%;
    min-width: 86%;
    min-height: 210px;
    scroll-snap-align: start;
    box-sizing: border-box;
  }

  .area-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }

  .area-grid > div {
    width: 100%;
    box-sizing: border-box;
  }

  .area h2 {
    font-size: clamp(46px, 15vw, 68px);
    line-height: .94;
  }

  .area-grid p {
    margin: 0 0 10px;
    max-width: none;
  }

  .mobile-book {
    left: 12px;
    right: 12px;
    bottom: 10px;
    width: auto;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 4px;
    overflow: hidden;
  }

  .mobile-book a {
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    gap: 18px;
    padding: 13px 18px;
  }
}
.why-scroll-hint { display:none; }
@media (max-width:850px) {
  .why-scroll-hint { display:block; margin:12px 0 0; color:#6f767e; font-size:11px; letter-spacing:.04em; }
}


.availability-questions{margin-top:4px}.resource-note{margin:-2px 0 12px;padding:12px 14px;border:1px solid rgba(216,255,69,.25);background:rgba(216,255,69,.05);color:var(--muted);font-size:12px;line-height:1.55}.resource-note strong{color:var(--text)}
@media(max-width:850px){.availability-questions{gap:14px}.availability-questions label{min-width:0}.resource-note{font-size:11px}}
