/* Çağlayan Vip Transfer — automotive showroom system */
:root{
  --black:#0B0B0C; --ink:#141416; --graphite:#1E1F23; --steel:#2A2C31;
  --white:#FFFFFF; --paper:#F4F4F2; --line:#E3E3DF; --muted:#6B6E76; --silver:#A7AAB2;
  --accent:#0A84FF; --accent-2:#0068D6; --wa:#25D366; --star:#FFB020;
  --head:'Sora','Segoe UI',Helvetica,Arial,sans-serif; --body:'Manrope','Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1); --r:14px;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
html{ scroll-behavior:smooth; scroll-padding-top:calc(88px + env(safe-area-inset-top,0px)); }
*,*::before,*::after{ box-sizing:inherit; }
body{ margin:0; font-family:var(--body); color:var(--black); background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{ font-family:var(--head); margin:0; line-height:1.08; letter-spacing:-.025em; font-weight:600; }
h2{ font-size:clamp(1.9rem,3.6vw,3rem); }
h3{ font-size:1.25rem; letter-spacing:-.01em; }
p{ margin:0; }
.wrap{ width:min(1280px, 100% - 48px); margin-inline:auto; }
@media (max-width:640px){ .wrap{ width:calc(100% - 32px); } }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.kicker{ font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.muted{ color:var(--muted); margin:16px 0 28px; }
.arr{ transition:transform .3s var(--ease); flex:none; }
a:hover .arr{ transform:translateX(4px); }

/* buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; font-family:var(--body); font-weight:700; font-size:.95rem; padding:15px 24px; border-radius:10px; border:1px solid transparent; cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .2s; white-space:nowrap; }
.btn:active{ transform:scale(.98); }
.btn.sm{ padding:11px 18px; font-size:.88rem; }
.btn.lg{ padding:18px 30px; font-size:1rem; }
.btn-accent{ background:var(--accent); color:#fff; } .btn-accent:hover{ background:var(--accent-2); }
.btn-wa{ background:var(--wa); color:#fff; } .btn-wa:hover{ background:#1DB954; }
.btn-dark{ background:var(--black); color:#fff; } .btn-dark:hover{ background:var(--steel); }
.btn-light{ background:#fff; color:var(--black); } .btn-light:hover{ background:var(--paper); }
.btn-ghost{ border-color:rgba(255,255,255,.4); color:#fff; background:rgba(255,255,255,.06); backdrop-filter:blur(6px); } .btn-ghost:hover{ border-color:#fff; }
.btn-line-dark{ border-color:var(--black); color:var(--black); } .btn-line-dark:hover{ background:var(--black); color:#fff; }
.actions{ display:flex; flex-wrap:wrap; gap:12px; }

/* header */
.top{ position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top,0px); color:#fff; transition:background .35s var(--ease), box-shadow .35s, color .35s; }
.top.solid{ background:rgba(11,11,12,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 1px 0 rgba(255,255,255,.06); }
.top .wrap{ height:80px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; flex:none; }
.brand .mark{ width:38px; height:38px; }
.brand b{ display:block; font-family:var(--head); font-weight:600; font-size:1.1rem; letter-spacing:.14em; line-height:1; }
.brand small{ display:block; font-size:.62rem; font-weight:700; letter-spacing:.32em; opacity:.7; margin-top:5px; }
.nav{ display:flex; gap:26px; }
.nav a{ text-decoration:none; font-size:.9rem; font-weight:600; opacity:.82; position:relative; padding:6px 0; white-space:nowrap; transition:opacity .2s; }
.nav a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.nav a:hover,.nav a.active{ opacity:1; } .nav a:hover::after,.nav a.active::after{ transform:scaleX(1); }
.ta{ display:flex; align-items:center; gap:14px; }
.tel{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-weight:700; font-size:.9rem; white-space:nowrap; }
.burger{ display:none; width:44px; height:44px; border-radius:10px; border:1px solid rgba(255,255,255,.3); background:transparent; cursor:pointer; position:relative; }
.burger i{ position:absolute; left:12px; right:12px; height:2px; background:#fff; border-radius:2px; transition:transform .3s var(--ease), opacity .2s, top .3s; }
.burger i:nth-child(1){ top:14px; } .burger i:nth-child(2){ top:21px; } .burger i:nth-child(3){ top:28px; }
.burger.x i:nth-child(1){ top:21px; transform:rotate(45deg); } .burger.x i:nth-child(2){ opacity:0; } .burger.x i:nth-child(3){ top:21px; transform:rotate(-45deg); }
@media (max-width:1200px){ .nav{ display:none; } .burger{ display:block; } }
@media (max-width:760px){ .tel span{ display:none; } .ta .btn{ display:none; } .tel{ width:44px; height:44px; justify-content:center; border:1px solid rgba(255,255,255,.3); border-radius:10px; } }
.menu{ position:fixed; inset:0; z-index:49; background:var(--black); color:#fff; padding:calc(100px + env(safe-area-inset-top,0px)) 24px 40px; display:flex; flex-direction:column; justify-content:space-between; opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s; overflow:auto; }
.menu.open{ opacity:1; visibility:visible; }
.menu nav{ display:flex; flex-direction:column; }
.menu nav a{ font-family:var(--head); font-size:1.6rem; font-weight:400; text-decoration:none; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08); letter-spacing:-.02em; }
.menu .mf{ display:grid; gap:10px; margin-top:28px; }

/* hero */
.hero{ position:relative; min-height:100svh; background:var(--black); color:#fff; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate; overflow:hidden; }
.hero-media{ position:absolute; inset:0; z-index:-2; }
.hero-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.08); transition:opacity 1.6s var(--ease), transform 9s linear; }
.hero-media img.on{ opacity:1; transform:scale(1); }
.hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(11,11,12,.88) 0%, rgba(11,11,12,.55) 45%, rgba(11,11,12,.15) 100%), linear-gradient(0deg, rgba(11,11,12,.9) 0%, transparent 45%); }
.hero-in{ padding-top:150px; }
.hero h1{ font-size:clamp(2.8rem,7.4vw,6.4rem); font-weight:600; letter-spacing:-.04em; line-height:.98; }
.hero .lead{ margin-top:22px; max-width:36em; font-size:1.08rem; color:rgba(255,255,255,.82); }
.hero-meta{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:26px; font-size:.88rem; color:rgba(255,255,255,.78); }
.hero-meta span{ display:inline-flex; align-items:center; gap:8px; } .hero-meta svg{ width:20px; height:20px; color:var(--accent); }
.hero .kicker,.hero h1,.hero .lead,.hero-meta,.booking-wrap{ animation:up 1s var(--ease) both; }
.hero h1{ animation-delay:.08s; } .hero .lead{ animation-delay:.16s; } .hero-meta{ animation-delay:.24s; } .booking-wrap{ animation-delay:.34s; }
@keyframes up{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
.booking-wrap{ margin-top:44px; margin-bottom:40px; }

/* booking form */
.book{ background:#fff; color:var(--black); border-radius:16px; box-shadow:0 30px 80px rgba(0,0,0,.35); padding:10px; }
.tabs{ display:flex; gap:4px; padding:6px 6px 10px; overflow-x:auto; scrollbar-width:none; }
.tabs::-webkit-scrollbar{ display:none; }
.tabs button{ font-family:var(--body); font-weight:700; font-size:.86rem; padding:9px 16px; border-radius:8px; border:0; background:transparent; color:var(--muted); cursor:pointer; white-space:nowrap; transition:background .2s, color .2s; }
.tabs button.on{ background:var(--black); color:#fff; }
.bf{ display:grid; grid-template-columns:1.3fr 1.3fr 1fr .8fr .6fr 1fr auto; align-items:stretch; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.bf .f{ display:flex; flex-direction:column; gap:4px; padding:12px 16px; border-right:1px solid var(--line); min-width:0; transition:background .2s; }
.bf .f:focus-within{ background:#F2F7FF; }
.bf .f span{ font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.bf input,.bf select{ font-family:var(--body); font-size:.98rem; font-weight:600; color:var(--black); border:0; background:transparent; padding:0; width:100%; min-height:28px; appearance:none; -webkit-appearance:none; outline:none; }
.bf select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6E76' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 0 center; padding-right:18px; cursor:pointer; }
.bf input::placeholder{ color:#A2A5AC; font-weight:500; }
.bf .f-note{ display:none; }
.bf .f-go{ border-radius:0; padding:0 28px; font-size:1rem; }
.book .err{ display:none; padding:10px 8px 0; font-size:.86rem; color:#C0352B; font-weight:600; } .book .err.show{ display:block; }
.book .fine{ padding:10px 8px 4px; font-size:.78rem; color:var(--muted); }
@media (max-width:1180px){ .bf{ grid-template-columns:repeat(3,1fr); } .bf .f{ border-bottom:1px solid var(--line); } .bf .f:nth-child(3n){ border-right:0; } .bf .f-go{ grid-column:1/-1; padding:18px; } }
@media (max-width:640px){ .bf{ grid-template-columns:1fr 1fr; } .bf .f{ border-right:1px solid var(--line); } .bf .f:nth-child(3n){ border-right:1px solid var(--line); } .bf .f:nth-child(even){ border-right:0; } .bf .f-from,.bf .f-to{ grid-column:1/-1; border-right:0 !important; } .booking-wrap{ margin-top:32px; } .hero-in{ padding-top:120px; } }
/* sidebar form */
.side .book{ box-shadow:none; border:1px solid var(--line); padding:8px; }
.side .bf{ grid-template-columns:1fr 1fr; }
.side .bf .f{ border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.side .bf .f:nth-child(even){ border-right:0; }
.side .bf .f-from,.side .bf .f-to,.side .bf .f-note{ grid-column:1/-1; border-right:0; display:flex; }
.side .bf .f-go{ grid-column:1/-1; padding:17px; }
/* wide page form (rezervasyon/iletisim) */
.content .book:not(.side .book){ box-shadow:0 20px 60px rgba(11,11,12,.08); border:1px solid var(--line); }

/* trust */
.trust{ background:var(--black); color:#fff; padding:34px 0; }
.trust .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.trust .wrap > div{ display:grid; grid-template-columns:auto 1fr; column-gap:14px; align-items:center; }
.trust svg{ grid-row:span 2; color:var(--accent); }
.trust b{ font-family:var(--head); font-weight:600; font-size:1rem; }
.trust span{ font-size:.85rem; color:var(--silver); }
@media (max-width:900px){ .trust .wrap{ grid-template-columns:1fr 1fr; gap:22px; } }
@media (max-width:480px){ .trust .wrap{ grid-template-columns:1fr; } }

/* sections */
.sec{ padding:110px 0; }
.sec.alt{ background:var(--paper); }
@media (max-width:760px){ .sec{ padding:76px 0; } }
.head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px 60px; margin-bottom:48px; flex-wrap:wrap; }
.head h2{ max-width:16em; }
.head > p{ max-width:30em; color:var(--muted); }

/* services */
.svc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.svc{ position:relative; aspect-ratio:3/4.2; border-radius:var(--r); overflow:hidden; text-decoration:none; color:#fff; background:var(--ink); isolation:isolate; }
.svc img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1s var(--ease); }
.svc::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(11,11,12,0) 30%, rgba(11,11,12,.92) 100%); }
.svc:hover img{ transform:scale(1.06); }
.svc-in{ position:absolute; left:0; right:0; bottom:0; padding:26px; display:flex; flex-direction:column; gap:8px; }
.svc .no{ font-family:var(--head); font-size:.8rem; color:var(--accent); font-weight:600; }
.svc h3{ font-size:1.45rem; }
.svc p{ font-size:.92rem; color:rgba(255,255,255,.78); }
.svc .more{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.88rem; margin-top:8px; }
@media (max-width:1000px){ .svc-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .svc-grid{ grid-template-columns:1fr; } .svc{ aspect-ratio:4/3.6; } }

/* fleet */
.fleet{ padding:110px 0; background:var(--paper); }
.fleet .wrap{ display:grid; grid-template-columns:1.25fr 1fr; gap:72px; align-items:center; }
.fleet-media > img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r); background:var(--line); transition:opacity .35s; }
.thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:10px; }
.thumbs button{ padding:0; border:2px solid transparent; border-radius:10px; overflow:hidden; cursor:pointer; background:var(--line); aspect-ratio:4/3; opacity:.6; transition:opacity .2s, border-color .2s; }
.thumbs button img{ width:100%; height:100%; object-fit:cover; }
.thumbs button.on,.thumbs button:hover{ opacity:1; border-color:var(--accent); }
.fleet-txt h2{ margin-bottom:18px; }
.fleet-txt > p{ color:var(--muted); }
.spec{ list-style:none; padding:0; margin:30px 0 34px; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.spec li{ background:#fff; padding:18px 20px; }
.spec b{ display:block; font-family:var(--head); font-size:1.5rem; font-weight:600; letter-spacing:-.02em; }
.spec span{ font-size:.85rem; color:var(--muted); }
@media (max-width:960px){ .fleet .wrap{ grid-template-columns:1fr; gap:40px; } .fleet{ padding:76px 0; } }

/* steps */
.step-row{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); }
.step-row li{ padding:32px 32px 8px 0; }
.step-row li + li{ padding-left:32px; border-left:1px solid var(--line); }
.step-row span{ font-family:var(--head); font-size:2.6rem; font-weight:300; color:var(--accent); letter-spacing:-.04em; display:block; margin-bottom:14px; }
.step-row h3{ margin-bottom:8px; }
.step-row p{ color:var(--muted); font-size:.95rem; }
@media (max-width:820px){ .step-row{ grid-template-columns:1fr; } .step-row li,.step-row li + li{ padding:26px 0; border-left:0; border-bottom:1px solid var(--line); } }

/* band */
.band,.cta{ position:relative; color:#fff; padding:140px 0; overflow:hidden; isolation:isolate; background:var(--ink); }
.band .bg,.cta .bg,.phead .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.band::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(11,11,12,.9), rgba(11,11,12,.35)); }
.band h2{ font-size:clamp(2.2rem,4.8vw,4rem); max-width:12em; margin-bottom:22px; }
.band p:not(.kicker){ max-width:32em; color:rgba(255,255,255,.8); margin-bottom:32px; }
.cta{ text-align:center; padding:130px 0; }
.cta::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(11,11,12,.78); }
.cta h2{ font-size:clamp(2.2rem,5vw,4.4rem); margin-bottom:36px; }
.cta .actions{ justify-content:center; }
@media (max-width:760px){ .band,.cta{ padding:96px 0; } }

/* destinations */
.dest-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:16px; }
.dest{ position:relative; border-radius:var(--r); overflow:hidden; aspect-ratio:4/5; color:#fff; text-decoration:none; isolation:isolate; background:var(--ink); }
.dest:first-child{ aspect-ratio:auto; }
.dest img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1s var(--ease); }
.dest::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 45%, rgba(11,11,12,.85)); }
.dest:hover img{ transform:scale(1.05); }
.dest div{ position:absolute; left:24px; right:24px; bottom:22px; }
.dest h3{ font-size:1.6rem; margin-bottom:4px; }
.dest span{ font-size:.88rem; color:rgba(255,255,255,.8); }
@media (max-width:900px){ .dest-grid{ grid-template-columns:1fr 1fr; } .dest:first-child{ grid-column:1/-1; aspect-ratio:16/9; } }
@media (max-width:520px){ .dest-grid{ grid-template-columns:1fr; } .dest,.dest:first-child{ aspect-ratio:4/3; } }

/* two-col */
.two-col{ display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
@media (max-width:960px){ .two-col{ grid-template-columns:1fr; gap:36px; } }

/* routes */
.rlist{ border-top:1px solid var(--black); }
.rrow{ display:grid; grid-template-columns:1fr 1.4fr auto auto; gap:18px; align-items:center; padding:20px 4px; border-bottom:1px solid var(--line); text-decoration:none; transition:background .2s, padding .3s var(--ease); }
.rrow:hover{ background:#fff; padding-left:14px; padding-right:14px; }
.rrow .from{ font-size:.86rem; color:var(--muted); }
.rrow .to{ font-family:var(--head); font-weight:600; font-size:1.2rem; letter-spacing:-.01em; }
.rrow .km{ font-size:.86rem; color:var(--muted); }
.rrow .time{ display:inline-flex; align-items:center; gap:6px; font-size:.88rem; font-weight:600; color:var(--muted); white-space:nowrap; }
.rrow .time svg{ width:16px; height:16px; }
.rrow .go{ display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:.88rem; color:var(--accent); white-space:nowrap; }
.rlist .rrow:has(.km){ grid-template-columns:1fr 1.4fr auto auto auto; }
@media (max-width:640px){ .rrow,.rlist .rrow:has(.km){ grid-template-columns:1fr auto; grid-template-areas:"from time" "to go"; row-gap:4px; } .rrow .from{ grid-area:from; } .rrow .to{ grid-area:to; } .rrow .time{ grid-area:time; justify-self:end; } .rrow .go{ grid-area:go; } .rrow .km{ display:none; } .rrow:hover{ padding-left:4px; padding-right:4px; } }

/* quotes */
.score{ text-align:right; } .score b{ font-family:var(--head); font-size:3rem; font-weight:600; letter-spacing:-.04em; line-height:1; display:block; } .score span{ color:var(--star); letter-spacing:2px; } .score small{ display:block; color:var(--muted); font-size:.82rem; }
.quotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.quotes blockquote{ margin:0; padding:32px; border:1px solid var(--line); border-radius:var(--r); display:flex; flex-direction:column; gap:18px; }
.quotes .stars{ color:var(--star); letter-spacing:2px; }
.quotes p{ font-size:1.02rem; line-height:1.6; flex:1; }
.quotes cite{ font-style:normal; font-size:.85rem; color:var(--muted); } .quotes cite b{ display:block; color:var(--black); font-size:.95rem; }
@media (max-width:900px){ .quotes{ grid-template-columns:1fr; } .score{ text-align:left; } }

/* faq */
.faq details{ border-bottom:1px solid var(--line); }
.faq details:first-child{ border-top:1px solid var(--black); }
.faq summary{ cursor:pointer; list-style:none; padding:22px 0; font-family:var(--head); font-weight:600; font-size:1.08rem; display:flex; justify-content:space-between; gap:20px; align-items:center; letter-spacing:-.01em; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; width:12px; height:12px; flex:none; border-right:2px solid var(--black); border-bottom:2px solid var(--black); transform:rotate(45deg) translateY(-3px); transition:transform .3s var(--ease); }
.faq details[open] summary::after{ transform:rotate(-135deg) translateY(-3px); }
.faq details p{ padding:0 0 22px; color:var(--muted); max-width:62ch; }

/* inner pages */
.phead{ position:relative; min-height:72svh; display:flex; align-items:flex-end; padding:150px 0 72px; color:#fff; isolation:isolate; overflow:hidden; background:var(--ink); }
.phead::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(11,11,12,.9) 0%, rgba(11,11,12,.5) 60%, rgba(11,11,12,.25)), linear-gradient(0deg, rgba(11,11,12,.7), transparent 50%); }
.phead h1{ font-size:clamp(2.4rem,5.6vw,4.8rem); letter-spacing:-.035em; max-width:14em; }
.phead .lead{ margin:20px 0 32px; max-width:38em; color:rgba(255,255,255,.82); font-size:1.08rem; }
.crumbs{ display:flex; flex-wrap:wrap; gap:8px; font-size:.84rem; margin-bottom:22px; color:rgba(255,255,255,.7); }
.crumbs a{ text-decoration:none; color:#fff; } .crumbs i{ font-style:normal; opacity:.5; }
.content{ padding:96px 0; } .content.alt{ background:var(--paper); }
.two{ display:grid; grid-template-columns:1.35fr .85fr; gap:72px; align-items:start; }
.side{ position:sticky; top:calc(100px + env(safe-area-inset-top,0px)); }
.side-card{ background:#fff; }
.side-card h3{ font-size:1.3rem; margin-bottom:14px; }
@media (max-width:980px){ .two{ grid-template-columns:1fr; gap:56px; } .side{ position:static; } .content{ padding:72px 0; } }
.prose{ max-width:74ch; }
.prose h2{ font-size:clamp(1.6rem,2.6vw,2.2rem); margin:54px 0 18px; }
.prose h2:first-child{ margin-top:0; }
.prose > p{ color:#3F4249; margin-bottom:16px; font-size:1.02rem; line-height:1.75; }
.prose a:not(.btn):not(.rrow){ color:var(--accent); }
.prose .photo{ margin:0 0 40px; }
.photo{ margin:0; border-radius:var(--r); overflow:hidden; background:var(--line); position:relative; aspect-ratio:16/10; }
.photo img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.photo:hover img{ transform:scale(1.03); }
.photo figcaption{ position:absolute; left:0; right:0; bottom:0; padding:30px 20px 14px; color:#fff; font-size:.85rem; background:linear-gradient(0deg, rgba(11,11,12,.75), transparent); }
.note{ margin:28px 0; padding:20px 22px; background:#EEF5FF; border-left:3px solid var(--accent); border-radius:0 10px 10px 0; font-size:.95rem; color:#26303D; }
.flow{ list-style:none; padding:0; margin:0 0 20px; counter-reset:f; }
.flow li{ position:relative; padding:20px 0 20px 60px; border-top:1px solid var(--line); color:var(--muted); }
.flow li::before{ position:absolute; left:0; top:18px; counter-increment:f; content:counter(f, decimal-leading-zero); font-family:var(--head); font-size:1.4rem; font-weight:300; color:var(--accent); }
.flow li b{ display:block; color:var(--black); font-family:var(--head); font-weight:600; margin-bottom:4px; }
.ticks{ list-style:none; padding:0; margin:0 0 20px; display:grid; gap:0; }
.ticks li{ padding:14px 0 14px 34px; border-top:1px solid var(--line); position:relative; color:#3F4249; }
.ticks li::before{ content:""; position:absolute; left:2px; top:17px; width:18px; height:18px; border-radius:50%; background:#EEF5FF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A84FF' stroke-width='3'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat; }
.ticks li b{ color:var(--black); }
.tours{ display:grid; gap:12px; }
.tour{ display:grid; grid-template-columns:1fr 1.3fr; gap:24px; padding:26px; border:1px solid var(--line); border-radius:var(--r); transition:border-color .2s, box-shadow .2s; }
.tour:hover{ border-color:var(--accent); box-shadow:0 10px 30px rgba(10,132,255,.08); }
.tour h3{ font-size:1.25rem; margin-bottom:6px; } .tour div span{ font-size:.82rem; font-weight:700; color:var(--accent); } .tour p{ color:var(--muted); font-size:.95rem; }
@media (max-width:640px){ .tour{ grid-template-columns:1fr; gap:10px; } }
.promise-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:12px; }
.promise-grid > div{ padding:24px; border:1px solid var(--line); border-radius:var(--r); }
.promise-grid h3{ font-size:1.1rem; margin-bottom:8px; } .promise-grid p{ color:var(--muted); font-size:.93rem; }
@media (max-width:640px){ .promise-grid{ grid-template-columns:1fr; } }
.specs{ margin:0; border-top:1px solid var(--black); }
.specs div{ display:grid; grid-template-columns:160px 1fr; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); }
.specs dt{ color:var(--muted); font-size:.92rem; } .specs dd{ margin:0; font-weight:600; }
@media (max-width:520px){ .specs div{ grid-template-columns:1fr; gap:2px; } }
.gallery{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.gallery .photo{ grid-column:span 2; aspect-ratio:4/3; }
.gallery .photo:nth-child(1){ grid-column:span 4; grid-row:span 2; aspect-ratio:auto; }
@media (max-width:820px){ .gallery{ grid-template-columns:1fr 1fr; } .gallery .photo,.gallery .photo:nth-child(1){ grid-column:span 1; grid-row:auto; aspect-ratio:4/3; } .gallery .photo:nth-child(1){ grid-column:span 2; } }
.masonry{ columns:3; column-gap:14px; }
.masonry .photo{ break-inside:avoid; margin-bottom:14px; aspect-ratio:auto; }
.masonry .photo img{ height:auto; }
.masonry .photo:nth-child(3n+1) img{ aspect-ratio:3/4; object-fit:cover; } .masonry .photo:nth-child(3n+2) img{ aspect-ratio:4/3; object-fit:cover; } .masonry .photo:nth-child(3n) img{ aspect-ratio:1/1; object-fit:cover; }
@media (max-width:900px){ .masonry{ columns:2; } } @media (max-width:520px){ .masonry{ columns:1; } }
.contacts{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:28px; }
.contacts > *{ padding:28px; border:1px solid var(--line); border-radius:var(--r); text-decoration:none; transition:border-color .2s; }
a.contacts,.contacts a:hover{ border-color:var(--accent); }
.contacts span{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.contacts b{ font-family:var(--head); font-size:1.35rem; font-weight:600; letter-spacing:-.01em; }
@media (max-width:760px){ .contacts{ grid-template-columns:1fr; } }
.map{ aspect-ratio:21/9; border-radius:var(--r); overflow:hidden; background:var(--line); }
.map iframe{ width:100%; height:100%; border:0; }
@media (max-width:640px){ .map{ aspect-ratio:4/3; } }
.link{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--accent); text-decoration:none; margin-top:24px; }

/* footer */
footer{ background:var(--black); color:#fff; padding:80px 0 calc(40px + env(safe-area-inset-bottom,0px)); font-size:.92rem; }
.fc{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
.fa p{ color:var(--silver); margin-top:20px; max-width:28em; }
footer h4{ font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--silver); margin-bottom:16px; font-family:var(--body); }
footer .fc > div > a:not(.brand),footer .fc > div > span{ display:block; text-decoration:none; padding:5px 0; color:rgba(255,255,255,.88); }
footer .fc a:hover{ color:var(--accent); }
.copy{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:60px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); font-size:.8rem; color:var(--silver); }
@media (max-width:900px){ .fc{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .fc{ grid-template-columns:1fr; gap:30px; } footer{ padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); } }

/* floating */
.fab{ position:fixed; right:22px; bottom:calc(22px + env(safe-area-inset-bottom,0px)); z-index:40; width:60px; height:60px; border-radius:50%; background:var(--wa); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px rgba(0,0,0,.25); transition:transform .25s var(--ease); animation:pulse 2.6s infinite; }
.fab svg{ width:30px; height:30px; } .fab:hover{ transform:scale(1.07); }
@keyframes pulse{ 0%{ box-shadow:0 12px 30px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,.5); } 70%{ box-shadow:0 12px 30px rgba(0,0,0,.25), 0 0 0 16px rgba(37,211,102,0); } 100%{ box-shadow:0 12px 30px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,0); } }
.mbar{ display:none; }
@media (max-width:640px){
  .fab{ display:none; }
  .mbar{ position:fixed; left:0; right:0; bottom:0; z-index:40; display:grid; grid-template-columns:1fr 1fr; background:var(--black); padding-bottom:env(safe-area-inset-bottom,0px); box-shadow:0 -6px 24px rgba(0,0,0,.2); }
  .mbar a{ display:flex; align-items:center; justify-content:center; gap:8px; padding:16px; color:#fff; text-decoration:none; font-weight:700; font-size:.95rem; }
  .mbar a.w{ background:var(--wa); }
}

/* reveal */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } .reveal{ opacity:1; transform:none; } .hero-media img{ transform:none; } html{ scroll-behavior:auto; } }

/* VIP modified section */
.mod{ background:var(--black); color:#fff; padding:120px 0; overflow:hidden; }
.mod .wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center; }
.mod h2{ font-size:clamp(2.1rem,4vw,3.4rem); margin-bottom:22px; }
.mod-txt > p:not(.kicker){ color:rgba(255,255,255,.75); max-width:34em; }
.mod-list{ list-style:none; padding:0; margin:28px 0 34px; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
.mod-list li{ padding-left:22px; position:relative; font-size:.93rem; color:rgba(255,255,255,.88); }
.mod-list li::before{ content:""; position:absolute; left:0; top:9px; width:10px; height:2px; background:var(--accent); }
.mod-grid{ display:grid; grid-template-columns:1.4fr 1fr; grid-template-rows:1fr 1fr; gap:12px; aspect-ratio:5/4; }
.mod-grid img{ width:100%; height:100%; object-fit:cover; border-radius:var(--r); background:var(--graphite); }
.mod-grid .a{ grid-row:span 2; }
@media (max-width:960px){ .mod .wrap{ grid-template-columns:1fr; gap:44px; } .mod{ padding:80px 0; } }
@media (max-width:520px){ .mod-list{ grid-template-columns:1fr; } .mod-grid{ aspect-ratio:4/5; } }
.modgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.modgrid .photo{ aspect-ratio:4/3; }
.modgrid .photo:first-child{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
@media (max-width:760px){ .modgrid{ grid-template-columns:1fr 1fr; } .modgrid .photo:first-child{ grid-column:span 2; grid-row:auto; aspect-ratio:16/10; } }
.thumbs{ grid-template-columns:repeat(5,1fr); }

/* logo */
.brand img{ height:60px; width:auto; display:block; }
footer .brand img{ height:76px; }
@media (max-width:760px){ .brand img{ height:46px; } }
@media (max-width:380px){ .brand img{ height:40px; } }

.credit{ margin-top:14px; text-align:right; font-size:.7rem; }
.credit a{ color:rgba(255,255,255,.28); text-decoration:none; transition:color .2s; }
.credit a:hover{ color:rgba(255,255,255,.6); }
@media (max-width:560px){ .credit{ text-align:left; } }
