/* KLLD · home-picturesque "Andaman Almanac" band. All vars + selectors are
   scoped under .alm-band so nothing leaks into the surrounding Elementor home. */
.alm-band{
    --ink:#0c1f1a;--ink-2:#10312a;--paper:#f5efe2;--paper-2:#ece2cf;
    --green:#099024;--green-deep:#0a6f20;--green-glow:#2fbf4a;--sun:#ffcc00;--coral:#e2683f;
    --line:rgba(12,31,26,.14);--line-light:rgba(245,239,226,.16);
    --shadow:0 30px 70px -28px rgba(12,31,26,.55);--shadow-sm:0 14px 34px -18px rgba(12,31,26,.5);
    --serif:"Newsreader",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;--mono:"Spline Sans Mono",ui-monospace,monospace;
    --almw:1280px;--ease:cubic-bezier(.22,.61,.36,1);
    position:relative;font-family:var(--sans);color:var(--ink);background:var(--paper);
    line-height:1.6;-webkit-font-smoothing:antialiased;overflow:hidden;
}
.alm-band[hidden]{display:none}
.alm-band *{box-sizing:border-box}
.alm-band img{display:block;max-width:100%}
.alm-band a{color:inherit;text-decoration:none}
.alm-band h2,.alm-band h3,.alm-band h4{margin:0}
.alm-band p{margin:0}

.alm-band .alm-wrap{max-width:var(--almw);margin:0 auto;padding:0 28px;position:relative}
.alm-band .alm-kicker{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.7em}
.alm-band .alm-kicker::before{content:"";width:26px;height:1px;background:currentColor;opacity:.55}

/* reveal animation */
.alm-band .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.alm-band .reveal.is-in{opacity:1;transform:none}
.alm-band .reveal[data-d="1"]{transition-delay:.08s}
.alm-band .reveal[data-d="2"]{transition-delay:.16s}
.alm-band .reveal[data-d="3"]{transition-delay:.24s}

/* buttons */
.alm-band .alm-btn{display:inline-flex;align-items:center;gap:.7em;cursor:pointer;border:0;font-family:var(--sans);font-weight:700;font-size:.92rem;letter-spacing:.01em;padding:15px 26px;border-radius:100px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s}
.alm-band .alm-btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.alm-band .alm-btn--sun{background:var(--sun);color:var(--ink);box-shadow:0 14px 30px -12px rgba(255,204,0,.6)}
.alm-band .alm-btn--sun:hover{transform:translateY(-3px);box-shadow:0 22px 40px -14px rgba(255,204,0,.7)}
.alm-band .alm-btn--sun:hover svg{transform:translateX(4px)}
.alm-band .alm-btn--green{background:var(--green);color:#fff;box-shadow:0 14px 30px -12px rgba(9,144,36,.55)}
.alm-band .alm-btn--green:hover{transform:translateY(-3px);background:var(--green-deep)}

/* section heads */
.alm-band .alm-secthead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px;position:relative}
.alm-band .alm-secthead h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.015em;margin-top:14px;max-width:16ch}
.alm-band .alm-secthead .r{font-size:.94rem;max-width:34ch;text-align:right}

/* category plates */
.alm-band .alm-cats{padding:clamp(64px,9vh,112px) 0;background:var(--ink);color:var(--paper)}
.alm-band .alm-cats::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 14% 0%,rgba(9,144,36,.22),transparent 60%);pointer-events:none}
.alm-band .alm-cats .alm-secthead .l .alm-kicker{color:var(--sun)}
.alm-band .alm-cats .alm-secthead h2 em{font-style:italic;color:var(--sun)}
.alm-band .alm-cats .alm-secthead .r{color:rgba(245,239,226,.7)}
.alm-band .alm-catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.alm-band .alm-cat{position:relative;display:block;border-radius:18px;overflow:hidden;min-height:430px;box-shadow:var(--shadow);isolation:isolate}
.alm-band .alm-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s}
/* Stronger, earlier scrim so white text holds AA contrast over bright beach/drone shots */
.alm-band .alm-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,31,26,.18) 0%,rgba(12,31,26,.42) 42%,rgba(8,20,16,.95) 100%);transition:background .5s}
.alm-band .alm-cat:hover img{transform:scale(1.07)}
.alm-band .alm-cat:hover::after{background:linear-gradient(180deg,rgba(9,144,36,.28) 0%,rgba(12,31,26,.5) 42%,rgba(8,20,16,.97) 100%)}
.alm-band .alm-cat__body{position:absolute;inset:auto 0 0 0;z-index:2;padding:26px 24px}
.alm-band .alm-cat__idx{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:var(--sun);opacity:1;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.alm-band .alm-cat__body h3{font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.04;margin:10px 0 6px;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.alm-band .alm-cat__body p{font-size:.86rem;color:rgba(255,253,247,.95);max-width:24ch;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.alm-band .alm-cat__go{display:inline-flex;align-items:center;gap:.55em;margin-top:16px;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;border-top:1px solid rgba(245,239,226,.28);padding-top:13px;width:100%;justify-content:space-between}
.alm-band .alm-cat__go svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.alm-band .alm-cat:hover .alm-cat__go svg{transform:translateX(5px)}

/* flagship carousel */
.alm-band .alm-flag{padding:clamp(70px,10vh,120px) 0;background:var(--paper)}
.alm-band .alm-flag .alm-secthead .l .alm-kicker{color:var(--green)}
.alm-band .alm-flag .alm-secthead h2 em{font-style:italic;color:var(--green)}
.alm-band .alm-flag .alm-secthead h2{color:var(--ink)}
.alm-band .alm-flag .alm-secthead .r{color:rgba(12,31,26,.7)}
.alm-band .alm-flag__r{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.alm-band .alm-flag__r p{margin:0}
.alm-band .alm-railwrap{position:relative}
.alm-band .alm-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 28px;margin:0 -4px;scrollbar-width:none}
.alm-band .alm-rail::-webkit-scrollbar{display:none}
.alm-band .alm-tour{scroll-snap-align:start;flex:0 0 clamp(280px,32vw,388px);background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease);display:flex;flex-direction:column;color:var(--ink)}
.alm-band .alm-tour:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.alm-band .alm-tour__img{position:relative;aspect-ratio:4/3.05;overflow:hidden}
.alm-band .alm-tour__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.alm-band .alm-tour:hover .alm-tour__img img{transform:scale(1.06)}
.alm-band .alm-tour__tag{position:absolute;top:14px;left:14px;background:rgba(12,31,26,.78);color:var(--paper);backdrop-filter:blur(6px);font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 11px;border-radius:100px}
.alm-band .alm-tour__dur{position:absolute;bottom:14px;right:14px;background:var(--sun);color:var(--ink);font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.1em;padding:6px 11px;border-radius:100px}
.alm-band .alm-tour__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.alm-band .alm-tour__body h3{font-family:var(--serif);font-size:1.42rem;font-weight:500;line-height:1.1;letter-spacing:-.01em}
.alm-band .alm-tour__body p{font-size:.88rem;color:rgba(12,31,26,.7);margin-top:9px;flex:1}
.alm-band .alm-tour__meta{display:flex;align-items:flex-end;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.alm-band .alm-price b{font-family:var(--serif);font-size:1.55rem;font-weight:600;color:var(--green-deep)}
.alm-band .alm-price small{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(12,31,26,.5);margin-bottom:2px}
.alm-band .alm-tour__link{display:inline-flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:600}
.alm-band .alm-tour__link svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.alm-band .alm-tour:hover .alm-tour__link svg{transform:translateX(4px)}
.alm-band .alm-railnav{display:flex;align-items:center;gap:12px}
.alm-band .alm-railbtn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s;color:var(--ink)}
.alm-band .alm-railbtn:hover{background:var(--green);color:#fff;border-color:var(--green);transform:scale(1.05)}
.alm-band .alm-railbtn svg{width:18px;height:18px}

/* editorial gallery */
.alm-band .alm-gal{padding:clamp(70px,10vh,120px) 0;background:var(--paper)}
.alm-band .alm-gal .alm-secthead .l .alm-kicker{color:var(--coral)}
.alm-band .alm-gal .alm-secthead h2{color:var(--ink)}
.alm-band .alm-gal .alm-secthead h2 em{font-style:italic;color:var(--coral)}
.alm-band .alm-gal .alm-secthead .r{color:rgba(12,31,26,.7)}
.alm-band .alm-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:148px;gap:14px}
.alm-band .alm-plate{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--ink);margin:0}
.alm-band .alm-plate img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .5s}
.alm-band .alm-plate::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,31,26,.78));opacity:0;transition:opacity .45s}
.alm-band .alm-plate figcaption{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;transform:translateY(8px);opacity:0;transition:transform .45s var(--ease),opacity .45s}
.alm-band .alm-plate figcaption b{display:block;font-family:var(--serif);font-size:1.04rem;letter-spacing:0;text-transform:none;font-weight:500;margin-top:3px}
.alm-band .alm-plate:hover img{transform:scale(1.07)}
.alm-band .alm-plate:hover::after{opacity:1}
.alm-band .alm-plate:hover figcaption{transform:none;opacity:1}
.alm-band .alm-p-a{grid-column:span 5;grid-row:span 3}
.alm-band .alm-p-b{grid-column:span 4;grid-row:span 2}
.alm-band .alm-p-c{grid-column:span 3;grid-row:span 2}
.alm-band .alm-p-d{grid-column:span 4;grid-row:span 2}
.alm-band .alm-p-e{grid-column:span 3;grid-row:span 2}
.alm-band .alm-p-f{grid-column:span 5;grid-row:span 2}

/* closing CTA */
.alm-band .alm-close{position:relative;padding:clamp(80px,12vh,140px) 0;text-align:center;overflow:hidden;background:var(--ink)}
.alm-band .alm-close__bg{position:absolute;inset:0;z-index:0}
.alm-band .alm-close__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);animation:almKen 30s ease-in-out infinite alternate}
.alm-band .alm-close__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,31,26,.72),rgba(12,31,26,.86))}
.alm-band .alm-close__in{position:relative;z-index:2;color:var(--paper);max-width:760px;margin:0 auto;padding:0 28px}
.alm-band .alm-close .alm-kicker{color:var(--sun);justify-content:center}
.alm-band .alm-close .alm-kicker::before{display:none}
.alm-band .alm-close h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.4vw,4rem);line-height:1.04;letter-spacing:-.02em;margin:16px 0 22px}
.alm-band .alm-close h2 em{font-style:italic;color:var(--sun)}
.alm-band .alm-close p{font-size:1.1rem;color:rgba(245,239,226,.9);max-width:48ch;margin:0 auto 32px}
.alm-band .alm-close__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@keyframes almKen{from{transform:scale(1.1) translate(0,0)}to{transform:scale(1.18) translate(-2%,-2%)}}

@media(max-width:1080px){
    .alm-band .alm-catgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
    .alm-band .alm-secthead{flex-direction:column;align-items:flex-start}
    .alm-band .alm-secthead .r{text-align:left}
    .alm-band .alm-flag__r{align-items:flex-start}
    .alm-band .alm-mosaic{grid-auto-rows:128px}
    .alm-band .alm-p-a{grid-column:span 7;grid-row:span 3}
    .alm-band .alm-p-b{grid-column:span 5;grid-row:span 2}
    .alm-band .alm-p-c{grid-column:span 5;grid-row:span 2}
    .alm-band .alm-p-d{grid-column:span 6;grid-row:span 2}
    .alm-band .alm-p-e{grid-column:span 6;grid-row:span 2}
    .alm-band .alm-p-f{grid-column:span 12;grid-row:span 2}
}
@media(max-width:560px){
    .alm-band .alm-wrap{padding:0 20px}
    .alm-band .alm-catgrid{grid-template-columns:1fr}
    .alm-band .alm-mosaic{grid-template-columns:repeat(6,1fr)}
    .alm-band .alm-p-a,.alm-band .alm-p-b,.alm-band .alm-p-c,.alm-band .alm-p-d,.alm-band .alm-p-e,.alm-band .alm-p-f{grid-column:span 6;grid-row:span 2}
}
@media(prefers-reduced-motion:reduce){
    .alm-band *,.alm-band *::before,.alm-band *::after{animation:none !important;transition:none !important}
    .alm-band .reveal{opacity:1 !important;transform:none !important}
}
