.gf-banner,.gf-page{--gf-lime:var(--signal);--gf-muted:var(--muted);background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.gf-wrap{width:min(1360px,calc(100% - 48px));margin-inline:auto}
.gf-banner{padding:76px 0;margin-top:28px}.gf-banner-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}
.gf-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gf-muted)}
.gf-banner h2{font-size:clamp(52px,6.5vw,100px);line-height:.98;letter-spacing:-.065em;margin:12px 0 24px}.gf-lime{color:var(--gf-lime)}
.gf-copy{color:var(--gf-muted);font-size:18px;line-height:1.65;max-width:720px}.gf-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:30px}
.gf-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 20px;border:1px solid var(--line);background:transparent;color:var(--ink);font:700 18px Arial,sans-serif;text-decoration:none;cursor:pointer;text-align:center}.gf-button.primary{background:var(--gf-lime);color:#111;border-color:var(--gf-lime)}.gf-button.quiet{border-color:transparent}
.gf-button:focus-visible,.gf-page input:focus-visible{outline:3px solid var(--gf-lime);outline-offset:4px}
@media(hover:hover){.gf-button{transition:background-color 220ms,color 220ms}.gf-button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}}
.gf-trip-list{background:var(--paper);border:1px solid var(--line);padding:28px}.gf-trip-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.gf-trip-row:last-child{border:0}.gf-trip-row span{color:var(--gf-muted);text-align:right}
.gf-page{margin:0;line-height:1.5}.gf-page *{box-sizing:border-box}.gf-page a{color:inherit}.gf-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.gf-logo{font-size:30px;font-weight:900;letter-spacing:-.065em;text-decoration:none}.gf-badge{padding:10px 14px;border:1px solid var(--line);font-size:11px;letter-spacing:.1em;font-weight:800}
.gf-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:100px 0}.gf-hero>*{min-width:0}.gf-hero h1{font-size:clamp(64px,10vw,148px);line-height:1;letter-spacing:-.075em;margin:8px 0 22px}.gf-hero .gf-copy{font-size:20px}
.gf-signup{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.gf-signup input{flex:1;min-width:180px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:16px;font:16px Arial,sans-serif}.gf-signup input::placeholder{color:var(--muted)}.gf-hint{font-size:13px;color:var(--gf-muted);margin:12px 0 28px;max-width:560px}
.gf-map-frame{background:var(--paper);padding:22px;border:1px solid var(--line)}.gf-map{position:relative;aspect-ratio:1.15;border:1px solid var(--line);overflow:hidden;background-color:var(--paper);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px}
.gf-pin{position:absolute;width:16px;height:16px;background:var(--gf-lime);border-radius:50%;box-shadow:0 0 0 9px color-mix(in srgb,var(--signal) 25%,transparent)}.gf-pin span{position:absolute;bottom:22px;left:-36px;background:var(--ink);color:var(--bg);padding:10px 12px;white-space:nowrap;font-size:12px;font-weight:800}.gf-pin.rompin{left:62%;top:32%}.gf-pin.klang{left:25%;top:65%}.gf-pin.klang span{left:22px;bottom:-2px}.gf-pin.kemaman{left:75%;top:77%}.gf-pin.kemaman span{left:auto;right:-12px;bottom:18px}.gf-map-note{font-size:12px;color:var(--gf-muted);margin:12px 0 0}
.gf-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gf-features article{padding:26px 24px;border-right:1px solid var(--line)}.gf-features article:last-child{border:0}.gf-features h2{font-size:20px}.gf-features p,.gf-footer{color:var(--gf-muted);font-size:14px}.gf-footer{padding:28px 0 40px}
@media(max-width:900px){.gf-banner-grid,.gf-hero{gap:36px;grid-template-columns:1fr}.gf-banner-grid{max-width:720px}.gf-hero{padding:56px 0}.gf-map-frame{max-width:640px;width:100%}.gf-hero h1{font-size:clamp(64px,15vw,120px)}.gf-banner h2{font-size:clamp(52px,10vw,86px)}}
@media(max-width:560px){.gf-wrap{width:calc(100% - 32px)}.gf-banner{padding:44px 0}.gf-copy,.gf-hero .gf-copy{font-size:16px}.gf-trip-list{padding:16px}.gf-trip-row{gap:12px;font-size:13px}.gf-header{align-items:flex-start;flex-wrap:wrap;gap:12px}.gf-badge{font-size:9px}.gf-signup{flex-direction:column}.gf-signup input{width:100%;min-width:0}.gf-button{font-size:16px}.gf-map-frame{padding:12px}.gf-pin span{font-size:10px;padding:8px}.gf-features{grid-template-columns:1fr}.gf-features article{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.gf-hero{padding:44px 0}.gf-hero h1{font-size:clamp(56px,16vw,88px)}}
@media(prefers-reduced-motion:reduce){.gf-button{transition:none}}

.gf-page main:before{display:none}.gf-page .gf-copy{color:var(--muted)}.gf-page .gf-pin{font-style:normal}.gf-banner{border-top:1px solid var(--line)}
