.geek-lp,.geek-lp *,.geek-lp *::before,.geek-lp *::after{ margin:0; padding:0; box-sizing:border-box }
:root{
      --deep:#0a1628;
      --ocean:#0d3b66;
      --teal:#1a8a7a;
      --sand:#d4b896;
      --cream:#f5f0e8;
      --white:#fff;
      --gold:#c9a96e;
    }
html{ scroll-behavior:smooth }
.geek-lp{
      font-family:'Noto Sans JP',sans-serif;
      font-weight:300;
      color:var(--deep);
      background:var(--white);
      overflow-x:hidden;
      line-height:1.6;
    }
.geek-lp img{ display:block; max-width:100% }
.geek-lp .hero{
      position:relative; height:86vh; min-height:600px;
      display:flex; align-items:flex-end;
      overflow:hidden;
    }
.geek-lp .hero__inner{
      position:relative; z-index:2; width:100%; max-width:1160px;
      margin:0 auto; padding:0 28px 66px;
      display:flex; justify-content:flex-end;
    }
.geek-lp .hero__bg{
      position:absolute; inset:0;
      background:url('/wp-content/themes/geekout/library/images/geektour/srilanka_sari/hero.jpg') center top/cover no-repeat, var(--deep);
      transform:scale(1.05); animation:heroZoom 20s ease-out forwards;
    }
@keyframes heroZoom{ to{ transform:scale(1) } }
.geek-lp .hero__overlay{
      position:absolute; inset:0;
      background:
        radial-gradient(80% 85% at 80% 78%, rgba(10,22,40,.62) 0%, rgba(10,22,40,0) 60%),
        linear-gradient(to bottom, rgba(10,22,40,.26) 0%, rgba(10,22,40,.3) 45%, rgba(10,22,40,.82) 100%);
    }
.geek-lp .hero__content{
      max-width:560px; text-align:right;
      text-shadow:0 2px 18px rgba(10,22,40,.7);
      animation:fadeUp 1.2s ease-out .3s both;
    }
@keyframes fadeUp{ from{opacity:0; transform:translateY(40px)} to{opacity:1; transform:translateY(0)} }
.geek-lp .hero__label{
      font-family:'Bebas Neue',sans-serif;
      font-size:clamp(13px,1.6vw,17px); letter-spacing:.3em;
      color:var(--gold); margin-bottom:16px; text-transform:uppercase;
    }
.geek-lp .hero__title{
      font-family:'Cormorant Garamond',serif; font-weight:300;
      font-size:clamp(28px,5.3vw,64px); color:var(--white);
      line-height:1.1; margin-bottom:10px;
    }
.geek-lp .hero__title em{ font-style:italic; color:var(--sand) }
.geek-lp .hero__title .vol{ font-family:'Bebas Neue',sans-serif; letter-spacing:.1em; font-size:.42em; vertical-align:.25em; color:var(--gold) }
.geek-lp .hero__jp{
      font-family:'Noto Serif JP',serif; font-weight:400;
      font-size:clamp(14px,1.9vw,21px); color:var(--white);
      letter-spacing:.06em; margin:14px 0 22px;
    }
.geek-lp .hero__date{
      display:inline-block; border:1px solid var(--gold);
      padding:11px 22px; font-family:'Bebas Neue',sans-serif;
      font-size:clamp(14px,2vw,20px); letter-spacing:.12em; color:var(--gold);
    }
.geek-lp .hero__scroll{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:2; animation:bounce 2s infinite }
.geek-lp .hero__scroll span{ display:block; width:1px; height:46px; background:rgba(255,255,255,.4); margin:0 auto }
.geek-lp .hero__scroll::after{ content:'SCROLL'; font-family:'Bebas Neue',sans-serif; font-size:10px; letter-spacing:.3em; color:rgba(255,255,255,.5); display:block; margin-top:8px }
@keyframes bounce{ 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
.geek-lp .wrap{ max-width:1100px; margin:0 auto; padding:0 24px }
.geek-lp section{ padding:104px 24px }
.geek-lp .section-dark{ background:var(--deep); color:var(--white) }
.geek-lp .section-cream{ background:var(--cream) }
.geek-lp .intro{ text-align:center; max-width:820px; margin:0 auto }
.geek-lp .section-label{
      font-family:'Bebas Neue',sans-serif; font-size:13px;
      letter-spacing:.34em; color:var(--teal); margin-bottom:16px; text-transform:uppercase;
    }
.geek-lp .section-dark .section-label{ color:var(--gold) }
.geek-lp .section-heading{
      font-family:'Cormorant Garamond','Noto Serif JP',serif; font-weight:300;
      font-size:clamp(22px,4.4vw,50px); line-height:1.4; margin-bottom:30px;
    }
.geek-lp .num{ font-family:'Noto Serif JP',serif; font-style:normal; }
.geek-lp .br-pc{ display:inline }
.geek-lp .br-sp{ display:none }
.geek-lp .intro p{ font-size:15px; line-height:2.1; color:#444 }
.geek-lp .section-dark .intro p{ color:rgba(255,255,255,.78) }
.geek-lp .lead{ font-family:'Noto Serif JP',serif; font-size:clamp(16px,2vw,20px); letter-spacing:.04em; margin-bottom:22px }
.geek-lp .section-dark .lead{ color:#fff }
.geek-lp .photo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4px }
.geek-lp .photo-grid__item{ position:relative; overflow:hidden; aspect-ratio:16/10 }
.geek-lp .photo-grid__item--tall{ grid-row:span 2; aspect-ratio:auto }
.geek-lp .photo-grid__item img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.25,0,.15,1) }
.geek-lp .photo-grid__item:hover img{ transform:scale(1.05) }
.geek-lp .split{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch }
.geek-lp .split__image{ position:relative; overflow:hidden; min-height:500px }
.geek-lp .split__image img{ width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.25,0,.15,1) }
.geek-lp .split__image:hover img{ transform:scale(1.04) }
.geek-lp .split__content{ display:flex; flex-direction:column; justify-content:center; padding:72px 60px }
.geek-lp .split__num{ font-family:'Bebas Neue',sans-serif; font-size:15px; letter-spacing:.28em; color:var(--gold); margin-bottom:14px }
.geek-lp .split__content h3{
      font-family:'Cormorant Garamond','Noto Serif JP',serif; font-weight:400;
      font-size:clamp(21px,3.2vw,38px); line-height:1.5; margin-bottom:22px;
    }
.geek-lp .split__content p{ font-size:14.5px; line-height:2.05; color:#555 }
.geek-lp .split--dark{ background:var(--deep) }
.geek-lp .split--dark h3{ color:#fff }
.geek-lp .split--dark p{ color:rgba(255,255,255,.72) }
.geek-lp .split--cream{ background:var(--cream) }
.geek-lp .full-image{ position:relative; height:62vh; min-height:420px; overflow:hidden }
.geek-lp .full-image img{ width:100%; height:100%; object-fit:cover }
.geek-lp .full-image__caption{
      position:absolute; inset:auto 0 0 0; padding:90px 24px 46px;
      background:linear-gradient(to top, rgba(10,22,40,.82), transparent); text-align:center;
    }
.geek-lp .full-image__caption p{
      font-family:'Cormorant Garamond','Noto Serif JP',serif; font-weight:300; font-style:italic;
      font-size:clamp(20px,3vw,34px); color:var(--white); max-width:760px; margin:0 auto; line-height:1.5;
    }
.geek-lp .msg__flower{ font-size:22px; margin-bottom:8px }
.geek-lp .msg__name{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:20px; color:var(--teal); margin-top:22px }
.geek-lp .plans{ display:flex; gap:28px; margin-top:56px; align-items:stretch; justify-content:center; flex-wrap:wrap }
.geek-lp .plan-card{
      flex:1 1 360px; max-width:440px; background:var(--white);
      border:1px solid #e4ddd0; border-radius:4px; overflow:hidden;
      display:flex; flex-direction:column; box-shadow:0 18px 50px -30px rgba(10,22,40,.4);
    }
.geek-lp .plan-card__head{ background:var(--deep); color:#fff; padding:30px 28px 26px; text-align:center }
.geek-lp .plan-card__nights{ font-family:'Bebas Neue',sans-serif; letter-spacing:.14em; color:var(--gold); font-size:16px }
.geek-lp .plan-card__title{ font-family:'Bebas Neue','Noto Sans JP',sans-serif; font-size:44px; font-weight:400; letter-spacing:.04em; line-height:1; margin:8px 0 10px }
.geek-lp .plan-card__date{ font-size:13px; color:rgba(255,255,255,.72); letter-spacing:.05em }
.geek-lp .plan-card__body{ padding:26px 28px 30px; flex:1 }
.geek-lp .plan-card__body ul{ list-style:none }
.geek-lp .plan-card__body li{ font-size:13.5px; color:#444; padding:9px 0 9px 24px; position:relative; border-bottom:1px dashed #e8e0d2; line-height:1.6 }
.geek-lp .plan-card__body li:last-child{ border-bottom:none }
.geek-lp .plan-card__body li::before{ content:''; position:absolute; left:4px; top:15px; width:7px; height:7px; border-radius:50%; background:var(--gold) }
.geek-lp .plan-card__foot{ padding:0 28px 30px }
.geek-lp .badge-stop{ display:inline-block; background:#b24a4a; color:#fff; font-size:11px; letter-spacing:.08em; padding:3px 10px; border-radius:2px; margin-top:8px }
.geek-lp .btn-cta{
      display:inline-block; width:100%; box-sizing:border-box; text-align:center;
      padding:18px 34px;
      background:var(--gold); color:var(--deep); text-decoration:none;
      font-family:'Noto Sans JP',sans-serif; font-weight:500; font-size:15px; letter-spacing:.12em;
      border:1px solid var(--gold); border-radius:3px;
      transition:background .4s ease, color .4s ease, box-shadow .4s ease, transform .25s ease, border-color .4s ease;
    }
.geek-lp .btn-cta::after{
      content:''; display:inline-block; vertical-align:middle;
      width:7px; height:7px; margin:-2px 0 0 14px;
      border-top:1.5px solid currentColor; border-right:1.5px solid currentColor;
      transform:rotate(45deg); transition:margin-left .4s ease;
    }
.geek-lp .btn-cta:hover{ background:#d8bd84; transform:translateY(-3px);
      box-shadow:0 16px 36px -14px rgba(201,169,110,.65); }
.geek-lp .btn-cta:hover::after{ margin-left:22px; }
.geek-lp .btn-cta--ghost{ background:transparent; color:var(--gold); }
.geek-lp .btn-cta--ghost:hover{ background:var(--gold); color:var(--deep); transform:translateY(-3px);
      box-shadow:0 16px 36px -14px rgba(201,169,110,.5); }
.geek-lp .btn-note{ font-size:11px; color:#999; text-align:center; margin-top:10px; letter-spacing:.03em }
.geek-lp .tour-table-wrap{ max-width:820px; margin:48px auto 0 }
.geek-lp .tour-table{ width:100%; border-collapse:collapse; font-size:14.5px }
.geek-lp .tour-table tr{ border-bottom:1px solid #ddd }
.geek-lp .tour-table th,.geek-lp .tour-table td{ padding:20px 18px; text-align:left; vertical-align:top }
.geek-lp .tour-table th{ font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:14px; letter-spacing:.08em; color:var(--teal); width:96px; white-space:nowrap }
.geek-lp .tour-table td{ color:#333; line-height:1.75 }
.geek-lp .tour-table td small{ display:block; margin-top:4px; font-size:12px; color:#999 }
.geek-lp .cta{ position:relative; text-align:center; padding:130px 24px; overflow:hidden }
.geek-lp .cta__bg{ position:absolute; inset:0; background:url('/wp-content/themes/geekout/library/images/geektour/srilanka_sari/cta.jpg') center/cover no-repeat, var(--deep) }
.geek-lp .cta__overlay{ position:absolute; inset:0; background:rgba(10,22,40,.78) }
.geek-lp .cta__inner{ position:relative; z-index:2; max-width:720px; margin:0 auto }
.geek-lp .cta h2{ font-family:'Cormorant Garamond','Noto Serif JP',serif; font-weight:300; font-size:clamp(28px,5vw,56px); color:var(--white); margin-bottom:20px }
.geek-lp .cta p{ font-size:15px; color:rgba(255,255,255,.72); margin:0 auto 46px; max-width:600px; line-height:2 }
.geek-lp .cta__btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap }
.geek-lp .cta__btns .btn-cta{ width:auto; min-width:280px }
.geek-lp .reveal{ opacity:0; transform:translateY(32px); transition:opacity .9s ease, transform .9s ease }
.geek-lp .reveal.visible{ opacity:1; transform:translateY(0) }
@media(max-width:860px){
.geek-lp section{ padding:80px 20px }
.geek-lp .split{ grid-template-columns:1fr }
.geek-lp .split__image{ min-height:320px; order:-1 }
.geek-lp .split--reverse .split__image{ order:-1 }
.geek-lp .split__content{ padding:48px 26px }
.geek-lp .hero__inner{ justify-content:center; padding-bottom:54px; }
.geek-lp .hero__content{ max-width:100%; text-align:center; }
}
@media(max-width:600px){
.geek-lp .photo-grid{ grid-template-columns:1fr }
.geek-lp .photo-grid__item--tall{ grid-row:span 1; aspect-ratio:16/10 }
.geek-lp .hero{ height:82vh }
.geek-lp .cta__btns .btn-cta{ width:100%; min-width:0 }
.geek-lp .br-pc{ display:none }
.geek-lp .br-sp{ display:inline }
.geek-lp .tour-table th{ width:74px; font-size:13px }
.geek-lp .tour-table th,.geek-lp .tour-table td{ padding:16px 12px }
}
