/* Primus Yacht — "The Brief" design (Enes chose concept 5, 7 Oct 2026). Familjen Grotesk + Newsreader italic. */
:root{
  --bg:oklch(0.948 0.004 250);--card:oklch(0.99 0.002 250);
  --ink:oklch(0.17 0.006 250);--ink-2:oklch(0.4 0.008 250);--mu:oklch(0.55 0.008 250);--rule:oklch(0.86 0.005 250);
  --on:oklch(0.98 0.002 250);
  --sans:'Familjen Grotesk',system-ui,sans-serif;--serif:'Newsreader',Georgia,serif;
  --max:1320px;--gut:clamp(16px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
/* iOS 26 paints the status bar from the BODY background (ios-safari-cubuk): body = ink so the bar matches every dark page head,
   the light page colour lives on <main>. Overscroll at both ends shows ink too (the footer is ink). */
body{background:var(--ink);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden;overscroll-behavior-y:none}
main{display:block;background:var(--bg)}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,select,input,textarea{font:inherit;color:inherit}
::selection{background:var(--ink);color:var(--card)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.lab{font:600 11.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 22px;background:var(--ink);color:var(--card);font:600 14px/1 var(--sans);letter-spacing:.02em;border:0;cursor:pointer;transition:background .3s,color .3s}
.btn:hover{background:oklch(0.32 0.008 250)}
.btn.line{background:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--card)}
.btn:disabled{opacity:.6;cursor:default}
.arr{width:18px;height:1px;background:currentColor;position:relative;flex:none}
.arr:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
h2{font:500 clamp(32px,3.8vw,54px)/1.04 var(--sans);letter-spacing:-.025em;text-wrap:balance}
h2 em,h1 em{font:italic 400 1.04em/1 var(--serif);letter-spacing:-.01em}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--card);padding:10px 14px}

/* header (fixed over the dark band; turns solid-light over light sections via .stuck) */
header{position:fixed;inset:0 0 auto 0;z-index:60;color:var(--on);transition:background .3s,color .3s,box-shadow .3s}
header.stuck{background:rgba(247,247,245,.88);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 1px 0 var(--line,#deddd6)}
header.stuck nav a{text-shadow:none}
header.stuck .logo img{filter:invert(1)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:80px;gap:20px}
header .logo{margin-left:0}
@media(min-width:900px){header .wrap{max-width:none;padding:0 clamp(24px,3vw,48px)}}
header .logo img{width:118px}
header nav{display:flex;gap:clamp(16px,2.2vw,30px);align-items:center}
header nav a{font:500 14.5px/1 var(--sans);padding:14px 0;text-shadow:0 1px 12px oklch(0 0 0/.45)}
header nav a:hover,header nav a[aria-current]{opacity:.7}
header nav a.lang{font-weight:700;letter-spacing:.08em;font-size:13px}
.menu{display:none;background:none;border:0;font:700 13px/1 var(--sans);letter-spacing:.12em;min-height:44px;cursor:pointer;color:inherit}

/* home film band (wrapper over hero-inner + brief) */
.band{position:relative}
.hero-inner{position:relative;height:100lvh;min-height:560px;overflow:hidden;background:var(--ink)}
.hero-inner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-inner:after{content:"";position:absolute;inset:0;background:linear-gradient(oklch(0.1 0.004 250/.7),oklch(0.1 0.004 250/0) 34%),linear-gradient(to top,oklch(0.1 0.004 250/.78),oklch(0.1 0.004 250/0) 60%)}
.band .cap{position:absolute;z-index:2;left:0;right:0;bottom:calc(clamp(110px,14vw,150px));color:var(--on)}
.band h1{font:500 clamp(40px,5.4vw,80px)/1 var(--sans);letter-spacing:-.03em;max-width:14ch;text-shadow:0 2px 24px oklch(0 0 0/.3)}

/* inner page head: a quiet dark band, the sheet below it overlaps when there is one */
.phead{position:relative;background:var(--ink);color:var(--on);padding:calc(80px + clamp(40px,6vw,88px)) 0 clamp(40px,5vw,64px)}
.phead.lap{padding-bottom:calc(clamp(80px,10vw,120px) + 24px)}
.phead .lab{color:oklch(0.7 0.008 250)}
.phead h1{font:500 clamp(36px,4.6vw,68px)/1.02 var(--sans);letter-spacing:-.03em;max-width:18ch;margin-top:14px;text-wrap:balance}
.phead p.lede{max-width:56ch;margin-top:18px;color:oklch(0.82 0.005 250);font-size:clamp(17px,1.4vw,19px)}

/* the brief */
.brief{position:relative;z-index:3;margin-top:calc(clamp(80px,10vw,120px)*-1)}
.sheet{background:var(--card);padding:clamp(24px,3.4vw,48px);box-shadow:0 30px 60px oklch(0.25 0.01 250/.12)}
.sentence{font:500 clamp(26px,3vw,44px)/1.35 var(--sans);letter-spacing:-.02em;max-width:30ch}
.pick{position:relative;display:inline-block}
.nw{white-space:nowrap}
.meas{position:absolute;visibility:hidden;white-space:nowrap;font:italic 400 clamp(26px,3vw,44px)/1.2 var(--serif);font-size:calc(clamp(26px,3vw,44px)*1.05)}
.pick select{appearance:none;-webkit-appearance:none;background:none;border:0;border-bottom:2px solid var(--ink);font:italic 400 1.05em/1.2 var(--serif);letter-spacing:-.005em;padding:0 30px 2px 2px;cursor:pointer;min-height:48px;color:var(--ink);max-width:100%}
.pick:after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-75%) rotate(45deg);pointer-events:none}
.pick select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.answer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:clamp(22px,2.6vw,36px);padding-top:clamp(18px,2vw,24px);border-top:1px solid var(--rule)}
.answer p{font-size:17px;color:var(--ink-2)}
.answer p b{color:var(--ink);font-weight:600}
.acts{display:flex;gap:10px;flex-wrap:wrap}

/* results / cards */
.results{padding:clamp(40px,5vw,72px) 0 clamp(64px,8vw,112px)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.8vw,24px)}
.card{position:relative;display:block;overflow:hidden;background:var(--ink)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.card:hover img{transform:scale(1.03)}
.card .in{position:absolute;inset:auto 0 0 0;padding:60px 20px 18px;background:linear-gradient(to top,oklch(0.12 0.005 250/.88),oklch(0.12 0.005 250/.45) 55%,transparent);color:var(--on)}
.card h3{font:700 16px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.card .pr{font:italic 400 24px/1.15 var(--serif);margin:4px 0 2px}
.card .sp{font-size:13px;opacity:.86}
.card.out{display:none}
.empty{background:var(--card);padding:clamp(24px,3vw,40px);grid-column:1/-1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.empty p{max-width:52ch;color:var(--ink-2);margin:10px 0 20px}
.more{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-top:24px}
.sortbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.sortbar .pick{font:italic 400 20px/1.2 var(--serif)}
.sortbar .pick select{font-size:1em;min-height:44px;border-bottom-width:1px}
.sortbar .pick:after{width:7px;height:7px;border-width:0 1.5px 1.5px 0}

/* tony */
.tony{background:var(--ink);color:oklch(0.9 0.004 250);padding:clamp(64px,8vw,112px) 0}
.tony .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.4vw,32px);align-items:center}
.tony .l{grid-column:1/6}
.tony .l h2{color:var(--on);margin:14px 0 18px}
.tony .l .lab{color:oklch(0.68 0.008 250)}
.chat{grid-column:7/13;background:oklch(0.22 0.006 250);padding:clamp(18px,2.4vw,28px)}
.log{display:flex;flex-direction:column;gap:10px;max-height:min(56vh,460px);overflow-y:auto;overscroll-behavior:contain}
.bubble{background:oklch(0.3 0.006 250);padding:14px 16px;max-width:85%;font-size:15.5px;white-space:pre-wrap}
.bubble.me{align-self:flex-end;background:oklch(0.9 0.004 250);color:var(--ink)}
.bubble small{display:block;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:oklch(0.7 0.008 250);margin-bottom:8px}
.ty-y{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;background:oklch(0.27 0.006 250);max-width:85%;padding:8px}
.ty-y img{width:96px;aspect-ratio:3/2;object-fit:cover}
.ty-y b{display:block;font-size:14.5px}.ty-y span{font-size:13px;opacity:.8}
.dots{display:flex;gap:5px;padding:10px 4px}.dots i{width:6px;height:6px;border-radius:50%;background:oklch(0.7 0.008 250);animation:dot 1s infinite alternate}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes dot{to{opacity:.25}}
.sugg{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.sugg button{min-height:44px;padding:0 14px;background:none;border:1px solid oklch(0.45 0.008 250);color:oklch(0.92 0.004 250);font-size:14px;cursor:pointer;text-align:left}
.sugg button:hover{border-color:oklch(0.8 0.006 250)}
.ask{display:flex;gap:8px}
.ask input{flex:1;min-width:0;min-height:52px;background:var(--on);color:var(--ink);border:0;border-radius:0;appearance:none;-webkit-appearance:none;padding:0 16px;font-size:16px}
.ask button{min-width:52px;background:var(--on);color:var(--ink);border:0;border-radius:0;appearance:none;-webkit-appearance:none;display:grid;place-items:center;cursor:pointer}

/* questions */
.qa{padding:clamp(72px,9vw,128px) 0}
.qa .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.4vw,32px)}
.qa .l{grid-column:1/5}
.qa .l p{color:var(--ink-2);margin:16px 0 24px;max-width:34ch}
.qa .list{grid-column:6/13;border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--rule)}
summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:64px;padding:16px 0;font:500 clamp(18px,1.6vw,21px)/1.3 var(--sans);cursor:pointer}
summary::-webkit-details-marker{display:none}
summary i{flex:none;width:14px;height:14px;position:relative}
summary i:before,summary i:after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:var(--ink);transition:transform .3s}
summary i:after{transform:rotate(90deg)}
details[open] summary i:after{transform:none}
details p{padding:0 0 20px;color:var(--ink-2);max-width:62ch}

/* sell */
.sell{background:var(--card)}

/* reading list */
.read{padding:clamp(72px,9vw,128px) 0}
.read .cols{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.4vw,32px);margin-top:clamp(28px,3vw,44px)}
.read .news{grid-column:1/8;border-top:1px solid var(--ink)}
.rows a{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--rule)}
.rows img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--rule)}
.rows h3{font:500 20px/1.25 var(--sans);margin-top:6px;text-wrap:balance}
.rows p{color:var(--ink-2);font-size:15.5px;margin-top:6px}
.read .guides{grid-column:9/13;border-top:1px solid var(--ink)}
.read .guides a{display:block;padding:15px 0;border-bottom:1px solid var(--rule);font:italic 400 20px/1.3 var(--serif)}
.rows a:hover h3,.read .guides a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

/* generic page sections */
.sec{padding:clamp(56px,7vw,104px) 0}
.sec.white{background:var(--card)}
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.4vw,32px)}
.split>.l{grid-column:1/5}.split>.r{grid-column:6/13}
.split>.l p{color:var(--ink-2);margin-top:16px;max-width:34ch}
.steps{border-top:1px solid var(--ink)}
.step{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--rule)}
.step span{font:italic 400 22px/1.3 var(--serif);color:var(--mu)}
.step h3{font:500 clamp(18px,1.6vw,21px)/1.3 var(--sans)}
.step p{color:var(--ink-2);margin-top:6px;max-width:62ch}
.markets{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(16px,2.4vw,32px);border-top:1px solid var(--ink)}
.markets div{padding:20px 0;border-bottom:1px solid var(--rule)}
.markets h3{font:italic 400 22px/1.3 var(--serif)}
.markets p{color:var(--ink-2);margin-top:6px;font-size:15.5px}
.cta{background:var(--ink);color:var(--on)}
.cta .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.cta h2{color:var(--on);max-width:16ch}.cta p{color:oklch(0.8 0.005 250);margin-top:14px;max-width:46ch}
.cta .btn{background:var(--on);color:var(--ink)}
.cta .btn.line{background:none;color:var(--on);box-shadow:inset 0 0 0 1px oklch(0.6 0.006 250)}

/* yacht page */
.yhero{position:relative;background:var(--ink);color:var(--on);min-height:min(86svh,860px);display:flex;align-items:flex-end;overflow:hidden}
.yhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yhero:after{content:"";position:absolute;inset:0;background:linear-gradient(oklch(0.1 0.004 250/.65),oklch(0.1 0.004 250/0) 30%),linear-gradient(to top,oklch(0.1 0.004 250/.85),oklch(0.1 0.004 250/0) 55%)}
.yhero .cap{position:relative;z-index:2;width:100%;padding-bottom:calc(clamp(80px,10vw,120px) + 28px)}
.yhero h1{font:500 clamp(40px,5.6vw,84px)/1 var(--sans);letter-spacing:-.03em;text-shadow:0 2px 24px oklch(0 0 0/.3)}
.yhero .pr{font:italic 400 clamp(26px,2.6vw,38px)/1.1 var(--serif);margin-top:10px}
.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,2vw,28px)}
.facts div{border-top:1px solid var(--rule);padding-top:12px}
.facts b{display:block;font:italic 400 clamp(20px,1.8vw,26px)/1.2 var(--serif);margin-top:6px}
.ydesc{font:400 clamp(19px,1.6vw,22px)/1.6 var(--sans);color:var(--ink);max-width:60ch}
.hl{list-style:none;border-top:1px solid var(--ink)}
.hl li{padding:14px 0;border-bottom:1px solid var(--rule);font:italic 400 clamp(19px,1.6vw,22px)/1.35 var(--serif)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.2vw,16px)}
.gal button{display:block;padding:0;border:0;background:var(--rule);cursor:zoom-in;overflow:hidden}
.gal img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.gal button:hover img{transform:scale(1.03)}
.gal button.wide{grid-column:span 2;grid-row:span 2}
.gal button.wide img{height:100%}
.spec{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(16px,3vw,48px)}
.spec h3{grid-column:1/-1;font:600 11.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mu);padding:28px 0 10px;border-bottom:1px solid var(--ink)}
.spec h3:first-child{padding-top:0}
.spec dl{display:grid;grid-template-columns:minmax(120px,40%) 1fr;border-bottom:1px solid var(--rule);padding:12px 0;gap:12px}
.spec dt{color:var(--ink-2)}.spec dd{font-weight:500}
.plans{display:grid;grid-template-columns:1fr;gap:16px;background:var(--card)}
.plans button{border:0;background:var(--card);padding:clamp(8px,2vw,24px);cursor:zoom-in}
.plans img{width:100%}
.lb{position:fixed;inset:0;z-index:50;background:oklch(0.08 0.004 250/.96);display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:94vw;max-height:86vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:var(--on);cursor:pointer;min-width:56px;min-height:56px;font:400 30px/1 var(--sans)}
.lb .x{top:12px;right:12px}.lb .p{left:8px;top:50%;transform:translateY(-50%)}.lb .n{right:8px;top:50%;transform:translateY(-50%)}
.lb .c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:oklch(0.75 0.005 250);font-size:13px;letter-spacing:.1em}
.notice{background:var(--card);padding:16px 20px;color:var(--ink-2);font-size:15px;border-left:2px solid var(--ink)}

/* blog */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(20px,2.4vw,32px)}
.chips button{min-height:44px;padding:0 16px;background:none;border:1px solid var(--rule);cursor:pointer;font-size:14.5px}
.chips button[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.rows a.out{display:none}
.post{max-width:760px;margin:0 auto}
.post .cover{margin:0 0 clamp(28px,3vw,44px)}
.prose{font-size:18px;line-height:1.7}
.prose p,.prose ul,.prose ol,.prose table{margin:0 0 1.1em}
.prose h2{font:500 clamp(26px,2.6vw,34px)/1.15 var(--sans);letter-spacing:-.02em;margin:1.6em 0 .6em}
.prose h3{font:600 19px/1.3 var(--sans);margin:1.4em 0 .5em}
.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.3em 0}
.prose a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.prose th{font-weight:600;border-bottom-color:var(--ink)}
.pfig{margin:2em 0}.pfig img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--rule)}
.pfig figcaption{color:var(--mu);font-size:13px;margin-top:8px}
.prose .updated{color:var(--mu);font-size:14px}

/* forms (form-design: floating label, ≥48px, right keyboard) */
.form{display:grid;gap:14px;max-width:620px}
.field{position:relative}
.field input,.field textarea{width:100%;min-height:58px;padding:24px 16px 8px;background:var(--card);border:0;border-bottom:1px solid var(--ink-2);font-size:16px;border-radius:0;appearance:none}
.field textarea{min-height:120px;resize:vertical}
.field label{position:absolute;left:16px;top:18px;color:var(--mu);pointer-events:none;transition:all .18s;font-size:16px}
.field input:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--ink)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:7px;font-size:12px;letter-spacing:.04em}
.field .err{color:oklch(0.5 0.17 25);font-size:13.5px;min-height:0;margin-top:4px}
.field [aria-invalid]{border-bottom-color:oklch(0.5 0.17 25)}
.fnav{position:fixed;right:12px;z-index:40;width:48px;height:48px;background:var(--ink);color:var(--card);border:0;font-size:20px}
.ways{border-top:1px solid var(--ink)}
.ways a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 0;border-bottom:1px solid var(--rule)}
.ways a span{color:var(--mu);font-size:14px}
.ways a b{font:italic 400 clamp(20px,1.8vw,26px)/1.2 var(--serif)}
.ways a:hover b{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* Contact keeps the direct channels legible without turning them into a card grid. */
.contact-directory{padding-top:clamp(52px,6vw,88px);padding-bottom:clamp(72px,9vw,132px)}
.contact-directory .split{align-items:start}
.contact-intro h2{margin-top:14px}
.contact-intro p{max-width:31ch}
.contact-brief{margin-top:24px}
.ways.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.ways.grid a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:120px;padding:22px;background:var(--card);transition:background .2s ease}
.ways.grid a span{color:var(--mu);font-size:13px}
.ways.grid a b{font:italic 400 clamp(19px,1.8vw,24px)/1.2 var(--serif)}
.ways.grid a:hover{background:oklch(.98 .002 250)}
.ways.grid a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
@media(max-width:600px){.ways.grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .contact-directory{padding-top:48px;padding-bottom:56px}
  .contact-intro h2{font-size:clamp(34px,10vw,44px)}
  .contact-brief{margin-top:22px}
  .contact-ways{margin-top:42px}
  .ways.grid a{min-height:100px;padding:18px}
  .ways.grid a b{font-size:clamp(18px,6vw,22px)}
}

footer{background:var(--ink);color:oklch(0.82 0.005 250);padding:clamp(48px,6vw,80px) 0 0}
.ft{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.ft .b img{width:120px;margin-bottom:22px}
.ft .b .btn{background:var(--on);color:var(--ink)}
.ft .b .btn.line{background:none;color:var(--on);box-shadow:inset 0 0 0 1px oklch(0.6 0.006 250)}
.ft nav{display:flex;gap:clamp(24px,4vw,64px);flex-wrap:wrap}
.ft nav div{display:flex;flex-direction:column}
.ft nav a{font-size:14.5px;padding:5px 0}.ft nav a:hover{color:#fff}
.bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:48px;padding:16px 0 20px;border-top:1px solid oklch(0.32 0.006 250);font-size:12px;color:oklch(0.6 0.006 250)}
.bottom .ra{display:inline-flex;gap:6px;align-items:center}.bottom svg{width:9px;height:9px;fill:currentColor}
@media(max-width:760px){.home footer{min-height:100lvh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(48px,12vh,96px)}.home footer .bottom{margin-top:clamp(28px,6vh,48px)}}

@media (max-width:980px){
  .grid{grid-template-columns:1fr 1fr}
  .tony .l,.chat,.qa .l,.qa .list,.read .news,.read .guides,.split>.l,.split>.r{grid-column:1/-1}
  .markets{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:repeat(3,1fr)}
  /* full-screen menu overlay */
  body.menu-open{overflow:hidden;touch-action:none}
  header{isolation:isolate}
  header nav{display:flex;position:fixed;inset:0;z-index:1;width:100vw;height:100dvh;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--ink);padding:72px var(--gut);overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}
  header nav.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .2s ease}
  header nav a{padding:12px 0;border-bottom:0;font:500 clamp(24px,7vw,34px)/1.12 var(--sans);letter-spacing:-.01em;text-shadow:none;color:var(--on)}
  header nav a.lang{font:700 14px/1 var(--sans);letter-spacing:.08em;margin-top:22px;opacity:.65}
  header .logo,header .menu{position:relative;z-index:2}
  header.open{position:fixed;background:transparent}
  header.open .logo img{filter:none}
  header.open .menu{color:var(--on)}
  body.yacht header.open nav{background:var(--ink)}
  body.yacht header.open nav a{color:var(--on);text-shadow:none}
  body.yacht header.open .logo img{filter:none}
  .menu{display:block}
  header .wrap{height:64px}
  .phead{padding-top:calc(64px + 40px)}
}
/* phone: the film is shot vertical (yacht-tracking 9:16 cut, Enes 7 Oct: "video dikey olmalı ki çarpıcı olsun") and fills the screen */
@media (max-width:760px){
  /* Hero is ONE clean full-screen card: just the film + title. The search filter lives as a
     minimal bar at the top of the next card (yachts for sale). */
  .band{height:100lvh;position:relative;overflow:hidden}
  .hero-inner{height:100%;min-height:0;max-height:none}
  .hero-inner:after{background:linear-gradient(oklch(0.1 0.004 250/.5),oklch(0.1 0.004 250/0) 22%),linear-gradient(to top,oklch(0.1 0.004 250/.9),oklch(0.1 0.004 250/.3) 32%,oklch(0.1 0.004 250/0) 56%)}
  .band .cap{bottom:clamp(96px,13vh,132px)}
  .band h1{font-size:clamp(28px,7.6vw,40px);max-width:16ch;line-height:1.08;text-wrap:balance}
}
/* phone legibility + touch: nothing under 12px, footer links ≥44px tall */
@media (max-width:760px){
  .lab,.bubble small{font-size:12px}
  .ft nav a{display:flex;align-items:center;min-height:44px;padding:0}
  .bottom a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:640px){
  body{font-size:16px}
  header .logo img{width:100px}
  .brief{margin-top:-72px}
  .phead.lap{padding-bottom:calc(72px + 24px)}
  .sheet{padding:20px 16px}
  .sentence{font-size:24px;line-height:1.5}
  .meas{font-size:25.2px}
  .nw{white-space:normal}
  .grid,.markets,.spec{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr 1fr}.gal button.wide{grid-column:1/-1;grid-row:auto}
  .rows a{grid-template-columns:110px 1fr;gap:14px}
  .rows h3{font-size:16.5px}.rows p{display:none}
  .yhero{min-height:78svh}
  .yhero .cap{padding-bottom:calc(72px + 24px)}
  .bottom{flex-direction:column}
  .prose{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ============================================================ HOMEPAGE DELTA (primus2 "Brief") ============================================================
   Everything below is the new homepage + /refit/ design, scoped to .band / .rail / .pg-split / body.home so inner pages keep the rules above. */

/* the brief on the home hero (inner-page .brief keeps its overlap rule above) */
.band .brief{z-index:3;margin-top:0}
@media(min-width:761px){
  .band .cap{bottom:clamp(138px,16vh,200px)}
  .band .brief{position:absolute;left:0;right:0;bottom:clamp(28px,4vh,52px);z-index:3;pointer-events:none}
  .band .brief .wrap{pointer-events:none}
  .band .brief .sheet{pointer-events:auto;display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding:clamp(16px,1.5vw,24px) clamp(24px,2.3vw,38px)}
  .band .brief .sentence{flex:1;font-size:clamp(18px,1.55vw,24px);line-height:1.45;max-width:none}
  .band .brief .brief-cta{flex:none}
}

/* custom sentence dropdown: hide the native select + base chevron where a .dd-t trigger is present */
.pick:has(.dd-t){display:inline-block}
.pick:has(.dd-t):after{display:none}
.pick:has(.dd-t) select{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none;overflow:hidden}
.dd-t{display:inline-flex;align-items:baseline;appearance:none;background:none;border:0;border-bottom:2px solid var(--ink);color:var(--ink);font:italic 400 1.05em/1.2 var(--serif);letter-spacing:-.005em;padding:0 26px 2px 2px;cursor:pointer;position:relative;text-align:left}
.dd-t:after{content:"";position:absolute;right:7px;top:52%;width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-75%) rotate(45deg);transition:transform .2s}
.pick.open .dd-t:after{transform:translateY(-20%) rotate(-135deg)}
.dd-t:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.dd-m{position:absolute;left:0;top:calc(100% + 8px);min-width:232px;max-width:300px;background:var(--card);box-shadow:0 24px 54px oklch(0.2 0.01 250/.26);padding:6px;z-index:50;display:none}
.dd-m.up{top:auto;bottom:calc(100% + 8px)}
.pick.open .dd-m{display:block}
.dd-o{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 14px 12px 18px;background:none;border:0;cursor:pointer;position:relative;color:var(--ink-2);font:500 15px/1.2 var(--sans);text-align:left}
.dd-o:hover{background:oklch(0.955 0.004 250);color:var(--ink)}
.dd-o[aria-selected="true"]{color:var(--ink);font-weight:600}
.dd-o[aria-selected="true"]:before{content:"";position:absolute;left:4px;top:11px;bottom:11px;width:3px;background:var(--ink)}
.dd-o .ck{width:13px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:0;flex:none;margin-bottom:2px}
.dd-o[aria-selected="true"] .ck{opacity:1}

/* filter + fleet = ONE unified surface. Order: heading → search sentence → rail. No boxed-off panel,
   no eyebrow, no "featured first" caption. Spacing is one consistent rhythm top to bottom. */
.finder{--gap:clamp(18px,4vw,34px)}
.finder .rhead .rhx .lab,.finder .more .lab{display:none}          /* drop the eyebrow + the caption */
.finder .rhead{margin-bottom:var(--gap)}
.finder .findbar{padding:0 var(--gut);margin:0 0 var(--gap)}
.findbar .sheet{background:none;box-shadow:none;padding:0;display:block}
.findbar .sentence{margin:0;max-width:34ch;color:var(--mu);font:400 clamp(19px,2.1vw,30px)/1.55 var(--sans);letter-spacing:-.01em}
/* inline dropdowns: the selectable value in ink, underlined, with a small caret — never taller than the line */
.finder .findbar .dd-t{min-height:0;border-bottom:2px solid var(--ink);padding:0 16px 1px 1px;border-radius:0;color:var(--ink);transition:color .15s}
.finder .findbar .dd-t:hover,.finder .findbar .pick.open .dd-t{color:oklch(0.46 0.02 250)}
.finder .findbar .dd-t:after{width:5px;height:5px;border-right-width:1.5px;border-bottom-width:1.5px;right:3px;top:.5em;transform:translateY(-50%) rotate(45deg)}
.finder .findbar .pick.open .dd-t:after{transform:translateY(-50%) rotate(-135deg)}
.finder .more{margin-top:var(--gap)}
/* the filter makes the card tall, so pin it to the top (clear of the fixed header), not centred */
.home .results.finder{justify-content:flex-start;padding-top:calc(64px + var(--gap));padding-bottom:var(--gap)}
@media(min-width:900px){.home .results.finder{padding-top:calc(80px + clamp(20px,3vw,44px))}}
@media(max-width:760px){
  .findbar .sentence{font-size:clamp(18px,4.8vw,22px);line-height:1.55;max-width:none}
  .finder .rsub{display:none}
  .finder .findbar{margin-bottom:clamp(22px,5.5vw,38px)}   /* clear air between the filter and the fleet */
  /* Keep this a complete homepage chapter. The rail stays naturally sized, so its
     3:2 photo is never stretched merely to occupy the viewport. */
  .home .results.finder{display:flex;flex-direction:column;justify-content:flex-start;min-height:100lvh;padding-top:calc(64px + var(--gap));padding-bottom:var(--safebottom)}
  .finder .more{margin-top:clamp(16px,4vw,26px)}
  /* A rail card must keep its 3:2 photograph. Growing it to fill the remaining viewport
     turned the image into a tall portrait on Android and small iPhones. */
  .finder .railwrap,.finder .railwrap .grid{min-height:0}
  .finder .card{height:auto}
  .finder .card .shot{flex:none;min-height:0;aspect-ratio:3/2}
}

/* homepage yachts: horizontal carousel rail of gallery cards (own .rail scope → for-sale .grid untouched) */
.results.rail .wrap{max-width:none;padding:0;min-width:0;width:100%}
.rail .railwrap{position:relative}
.rail .grid{display:flex;grid-template-columns:none;gap:clamp(16px,1.8vw,30px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--gut) 4px;overscroll-behavior-x:contain}
.rail .grid::-webkit-scrollbar{display:none}
.rail .card{flex:0 0 clamp(300px,42vw,600px);scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;color:var(--ink);position:static;background:none;overflow:visible}
.rail .card .shot{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--ink)}
.rail .card .gal{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rail .card .gal::-webkit-scrollbar{display:none}
.rail .card .gal img{flex:0 0 100%;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;scroll-snap-align:center;user-select:none;transition:none}
.rail .card:hover .gal img{transform:none}
.rail .card .dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:6px;z-index:2;pointer-events:none;padding:0}
.rail .card .dots i{width:26px;height:2px;border-radius:0;background:rgba(255,255,255,.4);box-shadow:0 0 3px rgba(0,0,0,.25);animation:none;transition:background .25s}
.rail .card .dots i.on{background:#fff}
.rail .card .gp,.rail .card .gn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.86);backdrop-filter:blur(4px);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;z-index:2}
.rail .card .shot:hover .gp,.rail .card .shot:hover .gn{opacity:1}
.rail .card .gp:hover,.rail .card .gn:hover{background:#fff}
.rail .card .gp{left:12px}.rail .card .gn{right:12px}
.rail .card .gp:before,.rail .card .gn:before{content:"";width:8px;height:8px;border:1.6px solid var(--ink);border-right:0;border-top:0}
.rail .card .gp:before{transform:rotate(45deg);margin-left:3px}
.rail .card .gn:before{transform:rotate(-135deg);margin-right:3px}
.rail .card .in{position:static;inset:auto;padding:18px 2px 6px;background:none;color:var(--ink)}
.rail .card h3{font:700 17px/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.rail .card .pr{font:italic 400 22px/1.12 var(--serif);color:var(--ink);margin:6px 0 4px}
.rail .card .sp{font-size:14px;color:var(--mu);opacity:1}
.rail .card.out{display:none}
.rail .rhead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:0 var(--gut);margin-bottom:clamp(22px,2.6vw,40px)}
.rail .rhead .lab{display:block;margin-bottom:10px}
.rail .rhead h2{font:700 clamp(28px,3.6vw,52px)/1.02 var(--sans);letter-spacing:.005em;text-transform:uppercase;color:var(--ink)}
.rail .rhead h2 em{font:italic 400 1em/1 var(--serif);text-transform:none}
.rail .rhead .rsub{margin-top:12px;max-width:40ch;color:var(--mu);font-size:15px;line-height:1.5}
.railnav{flex:0 0 auto;display:flex;gap:12px;z-index:3;padding-bottom:4px}
.railnav button{width:54px;height:54px;border-radius:3px;border:1px solid var(--line,#deddd6);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s,opacity .2s}
.railnav button:hover{background:#fff}
.railnav button[disabled]{opacity:.32;cursor:default;transform:none}
.railnav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.rail .more{padding:0 var(--gut)}
.rail .empty{display:none}
@media(max-width:760px){
  .railnav{display:none}.rail .card .gp,.rail .card .gn{display:none}
  /* A full, readable first card with a deliberate glimpse of the next one. */
  .rail .card{flex-basis:clamp(272px,86vw,360px)}
  .rail .card .in{padding:20px 2px 10px}
  .rail .card h3{font-size:clamp(18px,5vw,21px);line-height:1.18}
  .rail .card .pr{font-size:clamp(24px,6.2vw,27px);margin:7px 0 5px}
  .rail .card .sp{font-size:clamp(15px,3.9vw,16px);line-height:1.45}
  .rail .rhead h2{font-size:clamp(30px,8vw,36px)}
  .findbar .sentence{font-size:clamp(19px,5.2vw,23px)}
}

/* floating Ask Tony — desktop black pill, mobile silver vertical tab on the right edge */
.tonyfab{position:fixed;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:80;display:inline-flex;align-items:center;gap:9px;height:54px;padding:0 20px 0 14px;border-radius:999px;background:var(--ink);color:var(--card);font:600 14px/1 var(--sans);letter-spacing:.02em;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .2s,background .3s}
.tonyfab:hover{transform:translateY(-2px);background:oklch(0.32 0.008 250)}
.tonyfab img{width:24px;height:24px;display:block;flex:0 0 auto}
@media(max-width:760px){
  .tonyfab{right:0;bottom:auto;top:50%;transform:translateY(-50%);flex-direction:column;gap:12px;height:auto;width:auto;padding:20px 8px 20px 10px;border-radius:4px 0 0 4px;background:linear-gradient(160deg,#8b93a1 0%,#6b7382 40%,#4a505d 100%);color:#fff;font-size:14px;letter-spacing:.84px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 4px 24px rgba(0,0,0,.35);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease,background .3s}
  .tonyfab:hover{transform:translateY(-50%);background:linear-gradient(160deg,#8b93a1 0%,#6b7382 40%,#4a505d 100%)}
  .tonyfab:active{opacity:.7}
  .tonyfab img{width:22px;height:22px}
  .tonyfab span{writing-mode:vertical-rl;transform:rotate(180deg)}
  .tonyfab.hid{transform:translate(120%,-50%);opacity:0;pointer-events:none}
}

/* editorial full-bleed band (home + /refit/) */
.ed{position:relative;min-height:100lvh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.ed .edcta{margin-top:26px;background:#fff;color:var(--ink)}
.ed .edcta:hover{background:rgba(255,255,255,.86)}
.ed .edimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ed .edov{position:relative;width:100%;padding:clamp(40px,6vw,104px) 0 clamp(36px,4vw,72px);background:linear-gradient(to top,rgba(10,12,12,.74),rgba(10,12,12,.12) 52%,transparent)}
.ed .edov .wrap{color:#fff}
.ed .lab{color:rgba(255,255,255,.82)}
.ed h2,.ed h1{font:400 clamp(30px,4.4vw,62px)/1.08 var(--serif);letter-spacing:-.01em;margin:12px 0 0;max-width:18ch;color:#fff}
.ed h2 em,.ed h1 em{font-style:italic}
.ed p{margin-top:18px;max-width:46ch;color:rgba(255,255,255,.86);font-size:clamp(15px,1.1vw,17px);line-height:1.55}

/* News — Azimut-style stacked rows inside a one-screen section (inner scroll) */
.read{min-height:100lvh;background:var(--bg);display:flex;flex-direction:column;overflow:visible;padding:0}
.read .jhd,.blog .jhd{padding:clamp(100px,13vh,156px) var(--gut) clamp(14px,1.8vw,22px)}
.read .jhd h2,.blog .jhd h2{font:400 clamp(28px,3.8vw,52px)/1.05 var(--serif);letter-spacing:-.01em;margin:10px 0 0;color:var(--ink)}
.read .jhd h2 em,.blog .jhd h2 em{font-style:italic}
.read .jhd p,.blog .jhd p{margin-top:12px;color:var(--mu);font-size:clamp(15px,1.1vw,17px);line-height:1.55;max-width:62ch}
.jscroll{padding:0 var(--gut) clamp(28px,3vw,56px)}
.jrow{display:grid;grid-template-columns:1fr;gap:16px;align-items:center;padding:clamp(18px,2.2vw,30px) 0;border-top:1px solid var(--rule);color:var(--ink)}
.jrow:first-child{border-top:0;padding-top:clamp(8px,1vw,14px)}
.jsh{overflow:hidden;aspect-ratio:16/10;background:var(--ink)}
.jsh img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.jrow:hover .jsh img{transform:scale(1.04)}
.jtx h3{font:400 clamp(21px,2.3vw,34px)/1.13 var(--serif);letter-spacing:-.005em;margin-top:8px;text-wrap:balance;color:var(--ink)}
.jrow:hover .jtx h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.jtx .jex{margin-top:10px;color:var(--mu);font-size:clamp(14px,1.05vw,16px);line-height:1.55;max-width:56ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jnote{margin-top:clamp(22px,2.4vw,34px);padding-top:clamp(18px,2vw,26px);border-top:1px solid var(--rule);color:var(--mu);font-size:clamp(15px,1.1vw,17px);line-height:1.55;max-width:66ch}
.jmore{display:flex;gap:14px;flex-wrap:wrap;padding-top:clamp(18px,1.8vw,26px)}
@media(min-width:800px){.jrow{grid-template-columns:minmax(300px,40%) 1fr;gap:clamp(24px,3vw,48px)}}

/* fleet-by-size tiers (home + /refit/ services) */
.tiers{min-height:100lvh;padding:clamp(28px,4vh,64px) 0;background:var(--bg);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.tiers .whd{padding:0 var(--gut);margin-bottom:clamp(22px,2.6vw,38px)}
.tiers .whd h2{font:400 clamp(28px,3.8vw,52px)/1.05 var(--serif);letter-spacing:-.01em;margin:10px 0 0;color:var(--ink);max-width:20ch}
.tiers .whd h2 em{font-style:italic}
.tiers .whd p{margin-top:12px;color:var(--mu);font-size:clamp(15px,1.1vw,17px);line-height:1.55;max-width:56ch}
.tierrow{padding:0 var(--gut);display:grid;grid-template-columns:1fr;gap:clamp(16px,1.8vw,28px)}
.tier{display:block;color:var(--ink)}
.tsh{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--ink)}
.tsh img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.tier:hover .tsh img{transform:scale(1.04)}
.tin{display:block;padding-top:15px}
.tn{display:block;font:700 16px/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.tr{display:block;font:italic 400 19px/1.2 var(--serif);color:var(--ink);margin-top:6px}
.tc{display:block;font-size:14px;color:var(--mu);margin-top:7px}
.tier:hover .tn{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media(min-width:800px){.tierrow{grid-template-columns:repeat(3,1fr)}}

/* journal bento (#region) */
.blog{height:100lvh;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
.bgrid{flex:1;min-height:0;display:grid;gap:clamp(10px,1.1vw,16px);padding:0 var(--gut) clamp(20px,2.4vw,40px);grid-template-columns:1fr;grid-auto-rows:1fr}
.btile{position:relative;display:block;overflow:hidden;background:var(--ink);min-height:0}
.btile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.btile:hover img{transform:scale(1.05)}
.bov{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,2vw,30px);color:#fff}
.bov:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,12,.78),rgba(10,12,12,.04) 64%,transparent);pointer-events:none}
.bov .lab{position:relative;color:rgba(255,255,255,.82)}
.bov h3{position:relative;font:400 clamp(20px,2vw,32px)/1.08 var(--serif);letter-spacing:-.005em;margin-top:6px;text-wrap:balance}
.btile:hover .bov h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(min-width:800px){.bgrid{grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:1fr 1fr}.btile.feat{grid-row:1/3}.btile.wide{grid-column:2/4}}
@media(max-width:799px){.blog{height:100lvh}.bgrid{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:clamp(8px,2vw,14px)}.btile{aspect-ratio:auto;min-height:0}.bov h3{font-size:clamp(15px,4.4vw,20px)}}

/* editorial two-up page (qa / sell as .pg-split) */
.pg-split{display:grid;grid-template-columns:1fr 1fr;min-height:100lvh;align-items:stretch}
.pg-media{width:100%;overflow:hidden;background:var(--ink)}
.pg-media img{width:100%;height:100%;object-fit:cover;display:block}
.pg-body{display:flex;align-items:center;padding:clamp(48px,6vw,104px) clamp(30px,6vw,112px)}
.pg-inner{width:100%;max-width:56ch}
.pg-split h2{font:500 clamp(32px,3.4vw,52px)/1.06 var(--sans);letter-spacing:-.035em;color:var(--ink);margin:0}
.pg-split h2 em{font:italic 400 .97em/1 var(--serif)}
.pg-split .lab{margin-bottom:16px}
.pg-split .lede{font-size:clamp(17px,1.45vw,20px);line-height:1.62;color:var(--ink-2);margin:18px 0 clamp(22px,2.6vw,38px);max-width:48ch}
.pg-split .list{border-top:1px solid var(--ink);margin-bottom:clamp(22px,2.6vw,32px)}
.pg-split details[name]:first-of-type,.pg-split .list details{border-bottom:1px solid var(--rule)}
@media(max-width:760px){
  .pg-split{grid-template-columns:1fr}
  .pg-media{aspect-ratio:4/3}
  .pg-body{padding:clamp(28px,8vw,48px) var(--gut)}
  /* sell CTA: one full-screen image with the text overlaid, like the .ed hero */
  .sell.pg-split{position:relative;display:flex;align-items:flex-end;min-height:100lvh}
  .sell .pg-media{position:absolute;inset:0;aspect-ratio:auto;height:100%}
  .sell .pg-body{position:relative;z-index:2;width:100%;padding:clamp(28px,8vw,48px) var(--gut) clamp(42px,12vw,66px)}
  .sell .pg-body:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,12,12,.9) 0%,rgba(10,12,12,.72) 44%,rgba(10,12,12,.3) 72%,transparent 100%)}
  .sell h2{color:#fff}
  .sell .lede{color:rgba(255,255,255,.88)}
  .sell .lab{color:rgba(255,255,255,.82)}
  /* FAQ (#questions) is content-heavy and taller than a phone screen: let it flow at its natural height —
     it still snaps gently to its top, but is NOT forced into one firm full screen (that is what broke the scroll). */
  .home #questions.pg-split{min-height:0;display:block;padding-top:0}  /* photo runs up under the fixed header — no gap above it */
  .home #questions .pg-media{aspect-ratio:16/10}
  .home #questions .pg-body{display:block;padding-top:clamp(20px,5vw,30px)}
  /* section buttons (All news / All articles) must clear the iOS bottom bar: trim the big header top-pad to free room,
     and reserve bottom space (home-indicator safe area + toolbar allowance) so the button sits above the bar. */
  .read .jhd,.blog .jhd{padding-top:clamp(76px,10vh,112px)}
  .home .read,.home .blog,.home .tony,.home .ed .edov,.home .sell .pg-body{padding-bottom:var(--safebottom)}
  .read .jmore{scroll-snap-align:end}   /* News flows tall → its end (All news button) becomes a reachable snap stop */
}
@media(min-width:761px){
  .pg-body{padding-top:clamp(40px,5vh,72px);padding-bottom:clamp(40px,5vh,72px)}
  .pg-split summary{min-height:52px;padding:12px 0;font-size:clamp(16px,1.3vw,19px)}
  .pg-split .list details p{padding-bottom:16px}
}

/* progress bar + side page dots (mix-blend → visible on any ground) */
.pbar{position:fixed;top:0;left:0;height:3px;width:0;background:#fff;z-index:72;mix-blend-mode:difference;transition:width .15s linear;will-change:width}
.pnav{display:none;position:fixed;right:clamp(14px,1.8vw,26px);top:50%;transform:translateY(-50%);z-index:70;flex-direction:column;gap:17px;mix-blend-mode:difference}
.pnav a{position:relative;width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #fff;transition:background .3s,transform .3s}
.pnav a.on{background:#fff;transform:scale(1.2)}
.pnav a span{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:0;pointer-events:none;transition:opacity .25s}
.pnav a:hover span{opacity:1}
@media (max-width:760px){.pnav{display:none}}

/* scroll-reveal (JS adds .rv to homepage els; .rv is reveal-only, never the split right column) */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.on .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none!important}}

/* full-page scroll-snap: HOMEPAGE ONLY. FORCE page-by-page (mandatory + stop:always): sections are a full
   screen (lvh) and fill behind the iOS toolbar, so the hard page jump hides any overshoot — no bleed.
   The FAQ (#questions) is the one section taller than a screen, so it does NOT force-stop — you scroll through it. */
/* `:has()` is absent in a few Android WebViews. app.js adds .home-scroll as a
   direct, equivalent hook so the mobile page rail still snaps there. */
html.home-scroll,html:has(body.home){scroll-snap-type:y mandatory}
.home .band,.home .results,.home .ed,.home .tony,.home .tiers,.home .blog,.home #sell,.home footer{scroll-snap-align:start;scroll-snap-stop:always}
.home .read,.home #questions{scroll-snap-align:start}   /* content-heavy: flow + snap at top, no force-stop so you scroll through */
.home .results,.home .tony{min-height:100lvh;display:flex;flex-direction:column;justify-content:center}
@media (min-width:900px){
  html.home-scroll,html:has(body.home){scroll-snap-type:y mandatory}
  .home .band,.home .results,.home .ed,.home .tony,.home .tiers,.home .blog,.home #sell{scroll-snap-stop:always}
  .home .results{padding:clamp(28px,5vh,64px) 0}
}

/* iOS 26 floating-pill leak (html.ios26 only, set by app.js; everything else uses the plain 100lvh base): every full-screen snap card is
   dvh + --pill tall, so its background runs under the pill while the content (padding-bottom = --pill, border-box) stays in the
   visible dvh area. --pill is set by app.js from screen.height - innerHeight. */
:root{--pill:0px;
  /* The iOS toolbar is TALL when scrolling up / at rest (visible area = svh) and SHORT when scrolling down (= lvh).
     A bottom item parked at the lvh edge hides under the tall toolbar on scroll-up. Keep every bottom item inside the
     svh (tall-toolbar) safe zone: reserve (lvh - svh) + a margin at the bottom. On iOS 26 the floating pill replaces
     that delta (set below). On Android/desktop lvh == svh, so this is just the margin. */
  --safebottom:calc(100lvh - 100svh + clamp(18px,3vh,32px));
  /* ⛔ TASARIM KURALI — iOS 26 etek knob'u: her tam-ekran scroll-snap bolumu = 100lvh + --skirt tall; fazlasi alta bos etek olur (bolumun KENDI arka plan rengi, sabit renk YOK), icerik yerinde kalir. En az %15, yuzen pill daha buyukse pill kadar. Tum site tek yerden bu degerle degisir. */
  --skirt:max(15svh, var(--pill))}
html.ios26{--safebottom:calc(var(--pill) + clamp(18px,3vh,32px))}  /* iOS 26: the floating pill is the bottom bar */
@media(max-width:760px){
  html.ios26 .band{height:calc(100lvh + var(--skirt))}   /* .band clips (overflow hidden) at its own height */
  html.ios26 .band .hero-inner{height:calc(100lvh + var(--skirt))}
  html.ios26 .band .cap{bottom:calc(clamp(96px,13vh,132px) + var(--skirt))}
  html.ios26 .ed{min-height:calc(100lvh + var(--skirt))}
  html.ios26 .ed .edov{padding-bottom:calc(clamp(36px,4vw,72px) + var(--skirt))}
  html.ios26 .sell.pg-split{min-height:calc(100lvh + var(--skirt))}
  html.ios26 .sell .pg-body{padding-bottom:calc(clamp(42px,12vw,66px) + var(--skirt))}
  html.ios26 .home .results,html.ios26 .home .tony{min-height:calc(100lvh + var(--skirt));padding-bottom:var(--skirt)}
  html.ios26 .home .results.finder{padding-bottom:var(--skirt)}
  html.ios26 .read{min-height:calc(100lvh + var(--skirt))}
  html.ios26 .home .read,html.ios26 .home .blog{padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--skirt))}  /* buttons clear the floating pill */
  html.ios26 .tiers{min-height:calc(100lvh + var(--skirt));padding-bottom:calc(clamp(28px,4vh,64px) + var(--skirt))}
  html.ios26 .blog{height:calc(100lvh + var(--skirt))}
  html.ios26 .bgrid{padding-bottom:clamp(20px,2.4vw,40px)}
  html.ios26 .home footer{min-height:calc(100lvh + var(--skirt));padding-bottom:var(--skirt)}
}


/* ============================================================ YACHT DETAIL — scoped editorial system ============================================================ */
.yacht{--hh:64px;--max:1600px;background:var(--bg);color:var(--ink)}
@media(min-width:981px){.yacht{--hh:80px}}
body.yacht header:not(.open){background:var(--bg);color:var(--ink)}
body.yacht header:not(.open) .logo img{filter:invert(1)}
body.yacht header .wrap{max-width:var(--max);padding:0 var(--gut)}
@media(min-width:981px){body.yacht header:not(.open) nav a{color:var(--ink);text-shadow:none}}
html:has(body.yacht){scroll-snap-type:y mandatory}
.yacht .pbar{width:100%;height:3px;background:var(--ink);mix-blend-mode:normal;transform:scaleX(0);transform-origin:left;transition:none;will-change:auto;z-index:90}
body.yacht .lb{z-index:100}
.yacht footer{scroll-snap-align:start;scroll-snap-stop:always}

/* Shared chapter rhythm. Chapters can grow naturally when their content needs room. */
.yc{position:relative;box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;justify-content:center;background:var(--bg);color:var(--ink);padding:calc(var(--hh) + 40px) 0 40px;scroll-snap-align:start;scroll-snap-stop:always}
.yc>.wrap{width:100%;min-width:0}
.yc-w{background:var(--card)}
.yc .lab{display:block}
.yc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px 16px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:clamp(16px,2.2vw,28px);margin-bottom:clamp(14px,2vw,24px)}
.yc-head h2{font:500 clamp(26px,2.8vw,40px)/1.05 var(--sans);letter-spacing:-.025em}
.yc-head .lab{color:var(--mu)}
.yc-story{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(28px,5vw,80px);align-items:start}
.yc-story-copy .yc-lede{margin-top:18px;max-width:42ch;font:400 clamp(24px,2.7vw,36px)/1.3 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.yc-story-copy .yc-body{margin-top:18px;max-width:68ch}
.yc-story-copy .yc-body p{font:400 clamp(16px,1.15vw,19px)/1.62 var(--sans);color:var(--ink-2)}
.yc-story-copy .yc-body p+p{margin-top:1em}
.yc-story-title{font:500 clamp(25px,2.3vw,34px)/1.12 var(--sans);letter-spacing:-.02em;margin:0 0 18px}
.yc-story .yc-hl{list-style:none;counter-reset:hl;border-top:1px solid var(--ink)}
.yc-story .yc-hl li{counter-increment:hl;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule);font:italic 400 clamp(18px,1.55vw,23px)/1.3 var(--serif)}
.yc-story .yc-hl li:before{content:counter(hl,decimal-leading-zero);font:600 12px/1.2 var(--sans);font-style:normal;letter-spacing:.14em;color:var(--mu)}

/* Hero: the desktop split stays intact; compact breakpoints use a photo-led overlap card. */
.yc-hero{position:relative;box-sizing:border-box;min-height:100svh;overflow:visible;background:var(--bg);color:var(--ink);scroll-snap-align:start;scroll-snap-stop:always}
.yc-shot{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.yc-photo-frame{position:relative;width:min(100%,640px);aspect-ratio:3/2;background:var(--rule)}
.yc-photo-frame img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--yc-focus,50% 50%)}
.yc-cap{position:relative;z-index:2;width:calc(100% - 2*var(--gut));margin:0 var(--gut);background:var(--card);color:var(--ink)}
.yc-manifest{padding:clamp(24px,6vw,34px)}
.yc-meta{display:flex;gap:10px;margin-top:10px;color:var(--ink-2);font:500 13px/1.2 var(--sans)}
.yc-meta span+span:before{content:"·";margin-right:10px;color:var(--mu)}
.yc-hero h1{display:flex;align-items:flex-end;font:400 44px/1.04 var(--serif);letter-spacing:-.025em;margin:10px 0 8px;min-height:2.08em;text-wrap:balance;max-width:100%;overflow-wrap:anywhere}
.yc-price{font:italic 400 clamp(27px,7.5vw,40px)/1 var(--serif);color:var(--ink);white-space:nowrap}
.yc-dossier-title .yc-price{font-size:clamp(28px,3vw,40px)}
.yc-dossier{min-width:0}
.yc-hero a{transition:transform 160ms ease-out,opacity 160ms ease-out}
.yc-hero a:active{transform:translateY(1px);opacity:.82}
.yc-facts-title{font:500 24px/1.1 var(--sans);margin:0 0 14px;color:var(--ink)}
.yc-card{background:var(--card);padding:clamp(18px,2vw,28px)}
.yc-facts{list-style:none;margin:0 0 18px;padding:0}
.yc-facts li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--rule)}
.yc-facts li:last-child{border-bottom:0}
.yc-facts .k{color:var(--ink-2);font-size:15px}
.yc-facts .v{font:italic 400 20px/1.2 var(--serif);text-align:right;min-width:0}
.yc-acts{display:grid;gap:10px}
.yc-acts .btn{width:100%;min-height:50px;justify-content:space-between}
.yc-gallery-label{display:flex;min-width:0;align-items:center;gap:12px;text-align:left}
.yc-gallery-label svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.yc-gallery-label small{display:block;margin-top:2px;color:var(--mu);font:400 12px/1.2 var(--sans);letter-spacing:.02em}
.yc-note{margin-top:14px;color:var(--mu);font-size:14px;line-height:1.5}
.yc-note b{color:var(--ink-2);font-weight:600}
.yc-photo-gallery{display:none}
@media(min-width:1100px) and (min-aspect-ratio:6/5){
  .yc-hero{display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);align-items:stretch;align-content:center;min-height:100svh;padding:calc(var(--hh) + 24px) 0 24px}
  .yc-shot{align-self:stretch;margin:0;padding:0}
  .yc-photo-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;min-height:0;aspect-ratio:auto}
  .yc-cap{display:flex;align-items:stretch;min-width:0;width:auto;height:auto;margin:0;background:transparent}
  .yc-manifest{display:flex;box-sizing:border-box;width:calc(100% - 2*clamp(24px,3vw,64px));max-width:640px;flex-direction:column;justify-content:center;gap:clamp(18px,2vw,28px);padding:0;margin:0 auto}
  .yc-hero h1{font-size:clamp(40px,3.2vw,60px);min-height:2.08em;margin:8px 0 10px}
  .yc-dossier-title .yc-price{font-size:clamp(32px,2.5vw,44px)}
  .yc-facts-title{font-size:24px}
  .yc-card{padding:clamp(20px,1.7vw,30px)}
  .yc-facts li{padding:10px 0}
  .yc-note{font-size:14px}
}

/* Tablet and square canvases: full-width landscape photo, overlapping two-column dossier. */
@media (min-width:761px) and (max-width:1099px), (min-width:761px) and (max-aspect-ratio:6/5){
  .yc-hero{display:flex;flex-direction:column;align-items:stretch;min-height:100svh;padding-top:var(--hh)}
  .yc-shot{align-self:stretch;width:100%;height:auto;flex:none;margin:0;padding:0}
  .yc-photo-frame{position:relative;inset:auto;width:100%;height:auto;max-width:none;aspect-ratio:16/9;margin:0}
  .yc-cap{width:min(calc(100% - 48px),1040px);margin:-24px auto 0;display:flex;align-items:stretch}
  .yc-manifest{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:clamp(20px,3vw,36px);width:100%;max-width:none;padding:24px clamp(24px,3.5vw,48px);margin:0}
  .yc-dossier-title{align-self:start}
  .yc-hero h1{font-size:clamp(34px,4vw,46px);min-height:0;margin:4px 0 10px}
  .yc-dossier-title .yc-price{font-size:clamp(27px,3vw,36px)}
  .yc-facts-title{font-size:21px;margin-bottom:10px}
  .yc-card{padding:0}
  .yc-facts{margin-bottom:12px}
  .yc-facts li{padding:6px 0}
  .yc-facts .k{font-size:14px}
  .yc-facts .v{font-size:18px}
  .yc-acts{gap:8px}
  .yc-acts .btn{min-height:44px}
  .yc-note{font-size:13px}
}

/* Specifications and gallery */
.yc-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,4vw,64px)}
.yc-sp{justify-content:flex-start}
.yc-grp{min-width:0}
.yc-grp h3{font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mu);padding:18px 0 8px;border-bottom:1px solid var(--ink)}
.yc-grp dl{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--rule)}
.yc-grp dt{color:var(--ink-2);font-size:15px}
.yc-grp dd{font-weight:500;font-size:15px;text-align:right;min-width:0;overflow-wrap:anywhere}
.yc-gal{display:flex;flex-direction:column;min-height:100svh;box-sizing:border-box;justify-content:center;padding:calc(var(--hh) + 32px) 0 32px;scroll-snap-align:start;scroll-snap-stop:always}
.yc-gal .yc-head{margin-bottom:16px}
.yc-gallery-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.yc-gallery-controls[hidden]{display:none}
.yc-gallery-controls .btn{min-height:44px;padding:0 14px;font-size:13px}
.yc-gallery-count{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.yc-gallery-all{margin-left:auto}
.yc-gallery-controls button:disabled{opacity:.42;cursor:default}
.yc-gal .gal{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,clamp(100px,calc((100svh - var(--hh) - 240px)/3),250px));grid-auto-rows:clamp(100px,calc((100svh - var(--hh) - 240px)/3),250px);gap:clamp(8px,1vw,14px)}
.yc-gal .gal button{min-width:0;min-height:0}
.yc-gal .gal button.yc-page-hidden{display:none}
.yc-gal .gal img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.yc-gal .gal button.wide{grid-column:span 2;grid-row:span 2}
.yc-gal .gal button.wide img{height:100%}
@media(min-width:761px) and (max-width:1099px){
  .yc-gal .gal{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,clamp(100px,calc((100svh - var(--hh) - 240px)/3),230px));grid-auto-rows:clamp(100px,calc((100svh - var(--hh) - 240px)/3),230px)}
}
@media(max-width:760px){
  .yc.yc-gal{padding:calc(var(--hh) + 24px) 0 24px;justify-content:center}
  .yc-gal .gal{touch-action:pan-y pinch-zoom}
  .yc-gal .gal{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);gap:0}
  .yc-gal .gal button.wide{grid-column:auto;grid-row:auto}
  .yc-gal .gal img{aspect-ratio:1/1;object-fit:contain;background:var(--rule)}
  .yc-gallery-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:14px}
  .yc-gallery-controls .yc-gallery-prev{justify-self:start}
  .yc-gallery-controls .yc-gallery-next{justify-self:end}
  .yc-gallery-controls .yc-gallery-all{grid-column:1/-1;justify-self:stretch;margin:0}
  .yc-gallery-controls .btn{min-height:44px;padding:0 10px;font-size:12px}
  .yc-gallery-count{font-size:12px;text-align:center}
}

/* Deck Plans uses a single selected drawing. This keeps vertical movement reserved
   for the page snap while plan browsing stays horizontal. */
.yc-pl .wrap{max-width:1320px}
.yc-pl-layout{height:100%;min-height:0;display:flex;flex-direction:column}
.yc-pl-layout .yc-head{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 clamp(14px,2vh,24px)}
.yc-pl-layout .yc-head .lab{white-space:nowrap}
.yc-plan-stage{position:relative;flex:1;min-height:0;overflow:hidden;display:grid;background:var(--card);border:1px solid var(--rule)}
.yc-plan-stage>button{grid-area:1/1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:clamp(12px,2vw,28px);border:0;background:var(--card);cursor:zoom-in;opacity:0;pointer-events:none;transition:opacity .18s ease}
.yc-plan-stage>button.yc-plan-active{opacity:1;pointer-events:auto}
.yc-plan-stage img{display:block;width:100%;height:100%;object-fit:contain}
.yc-plan-nav{flex:none;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-top:12px}
.yc-plan-nav::-webkit-scrollbar{display:none}
.yc-plan-tab{flex:0 0 auto;min-height:42px;padding:0 16px;border:1px solid var(--rule);background:transparent;color:var(--ink);font:600 12px/1 var(--sans);letter-spacing:.04em;cursor:pointer}
.yc-plan-tab.is-active{background:var(--ink);border-color:var(--ink);color:var(--on)}
.yc-mobile-plans{display:none}

/* Tony uses the original 12-column conversation layout, at the original measure. */
.yacht .tony{box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hh) + 40px) 0 40px;scroll-snap-align:start;scroll-snap-stop:always}
.yacht .tony>.wrap{width:100%;max-width:1320px}

/* Also and footer share the final desktop snap chapter. */
.yc-ending{box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start;scroll-snap-stop:always;background:var(--ink)}
.yc-also{box-sizing:border-box;flex:1 0 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;padding:calc(var(--hh) + 40px) 0 32px;background:var(--bg);color:var(--ink);scroll-snap-align:none}
.yc-also>.wrap{width:100%;max-width:1320px}
.yc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:stretch}
.yc-cards .card{height:100%;display:flex;flex-direction:column;overflow:hidden;background:none;color:var(--ink)}
.yc-cards .card img{width:100%;aspect-ratio:16/9;object-fit:cover;flex:none}
.yc-cards .card .in{position:static;inset:auto;flex:1;padding:16px 0 8px;background:none;color:var(--ink)}
.yc-cards .card h3{font:500 clamp(18px,1.35vw,22px)/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.yc-cards .card .pr{font:italic 400 clamp(21px,1.55vw,25px)/1.15 var(--serif);margin:6px 0;color:var(--ink)}
.yc-cards .card .sp{font-size:13px;line-height:1.45;color:var(--mu);opacity:1}
.yc-ending>footer{flex:none;scroll-snap-align:none;scroll-snap-stop:normal;padding:24px 0 0}
.yc-ending>footer .ft .b img{width:96px;margin-bottom:0}
.yc-ending>footer .bottom{margin-top:20px}

@media (min-width:761px) and (max-width:1099px), (min-width:761px) and (max-aspect-ratio:6/5){
  .yc-ending{display:block;min-height:0;background:var(--bg)}
  .yc-also{min-height:100svh;padding:calc(var(--hh) + 40px) 0 32px;scroll-snap-align:start;scroll-snap-stop:always}
  .yc-cards{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}
  .yc-cards::-webkit-scrollbar{display:none}
  .yc-cards .card{flex:0 0 min(56vw,480px);scroll-snap-align:start}
  .yc-ending>footer{padding:48px 0 0;scroll-snap-align:start}
  .yc-ending>footer .bottom{margin-top:28px}
}

@media(max-width:980px){
  .yacht .tony{padding:calc(var(--hh) + 32px) 0 32px}
  .yacht .tony>.wrap{max-width:760px}
}
@media(max-width:760px){
  .yacht{--hh:64px}
  .yc{justify-content:flex-start;padding:calc(var(--hh) + 32px) 0 32px}
  .yc-ab{scroll-snap-align:none;padding:0}
  .yc-story{grid-template-columns:minmax(0,1fr);gap:0}
  .yc-story-copy,.yc-story>.yc-col{min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hh) + 28px) 0 32px;scroll-snap-align:start;scroll-snap-stop:always}
  .yc-story .yc-hl li{font-size:20px;padding:10px 0}
  .yc-story-title{margin-bottom:14px}
  .yc-hero{display:flex;flex-direction:column;min-height:100svh;padding:var(--hh) 0 16px}
  .yc-shot{align-self:stretch;width:100%;height:auto;flex:none;margin:0;padding:0}
  .yc-photo-frame{position:relative;inset:auto;width:100%;height:clamp(150px,min(66.667vw,calc(100svh - 440px)),320px);max-width:none;aspect-ratio:auto;margin:0}
  .yc-photo-frame img{object-fit:cover}
  .yc-photo-gallery{position:absolute;right:16px;bottom:60px;z-index:2;display:flex;min-height:44px;align-items:center;gap:8px;padding:0 12px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600}
  .yc-photo-gallery svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .yc-cap{width:calc(100% - 32px);margin:-48px 16px 0;display:block;box-shadow:none}
  .yc-manifest{display:block;padding:18px 18px 18px}
  .yc-dossier-title .yc-price{font-size:clamp(28px,7.5vw,34px);line-height:1.05}
  .yc-hero h1{display:block;font-size:clamp(34px,8.8vw,42px);line-height:1.04;min-height:0;margin:0 0 6px;text-wrap:pretty}
  .yc-dossier-title{margin-bottom:16px}
  .yc-dossier-title .yc-price{display:block}
  .yc-facts-title{font-size:20px;line-height:1.15;margin-bottom:8px}
  .yc-card{padding:0}
  .yc-facts{margin-bottom:10px}
  .yc-facts .yc-fact-location{display:none}
  .yc-facts li:has(+ .yc-fact-location){border-bottom:0}
  .yc-facts li{gap:16px;padding:5px 0}
  .yc-facts .k{font-size:15px;line-height:1.3}
  .yc-facts .v{font-size:20px;line-height:1.2}
  .yc-acts{gap:8px}
  .yc-acts .btn{min-height:48px;font-size:14px;padding:0 16px}
  .yc-acts>.yc-gallery-action,.yc-note{display:none}
  .yc-story-copy .yc-lede{font-size:clamp(24px,6vw,30px)}
  .yc-groups{grid-template-columns:minmax(0,1fr);gap:0}
  .yc-grp dt,.yc-grp dd{font-size:16px;line-height:1.4}
  .yc-grp dl{gap:10px;padding:7px 0}
  .yc-grp dd{max-width:56%}
  .yc-pl .plans{grid-template-columns:minmax(0,1fr)}
  .yacht .tony{padding:calc(var(--hh) + 32px) 0 32px}
  .yacht .tony>.wrap{display:block}
  .yacht .tony .l{margin-bottom:22px}
  .yacht .tony .l h2{font-size:clamp(28px,8vw,38px)}
  .yacht .chat{padding:16px}
  .yc-ending{display:block;min-height:0;background:var(--bg)}
  .yc-also{min-height:100svh;padding:calc(var(--hh) + 32px) 0 32px;scroll-snap-align:start;scroll-snap-stop:always}
  .yc-cards{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}
  .yc-cards::-webkit-scrollbar{display:none}
  .yc-cards .card{flex:0 0 min(82vw,360px);scroll-snap-align:start}
  .yc-ending>footer{padding:44px 0 0;scroll-snap-align:start}
  .yc-ending>footer .bottom{margin-top:28px}
}
@media(max-width:760px){
  .yc-gal .gal{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-auto-rows:auto}
  .yc-gal .gal button,.yc-gal .gal button.wide{grid-column:auto;grid-row:auto;aspect-ratio:3/2;background:var(--rule)}
  .yc-gal .gal img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
}
@media (prefers-reduced-motion:reduce){.yc-hero a{transition:none}}

/* Yacht contact sheet: two columns at every size, originals in the lightbox. */
.yc-contact-sheet{position:fixed;inset:0;z-index:95;overflow-y:auto;overscroll-behavior:contain;background:var(--card);color:var(--ink);padding:0 var(--gut) calc(32px + env(safe-area-inset-bottom))}
.yc-contact-sheet[hidden]{display:none}
.yc-contact-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;background:var(--card)}
.yc-contact-head h2{font-size:clamp(24px,3vw,36px)}
.yc-contact-head button{flex:none;width:48px;height:48px;background:none;border:1px solid var(--rule);font:400 32px/1 var(--sans);color:var(--ink);cursor:pointer}
.yc-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.5vw,20px);max-width:1320px;margin:0 auto}
.yc-contact-grid button{display:block;width:100%;aspect-ratio:3/2;border:0;background:var(--bg);cursor:zoom-in;overflow:hidden}
.yc-contact-grid img{display:block;width:100%;height:100%;object-fit:cover}

/* Overflow belongs to its chapter; the document keeps mandatory page snapping. */
.yc-sp,.yc-pl{height:100svh;min-height:0;justify-content:flex-start;padding:calc(var(--hh) + 24px) 0 24px;overflow:hidden}
.yc-section-scroll{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--mu) transparent;padding-bottom:48px;scroll-padding:24px}
.yc-section-scroll:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.yc-sp .yc-grp:first-child h3{padding-top:0}

/* Each ending is a separate chapter, including the footer. */
.yc-ending{display:block;min-height:0;background:var(--ink);scroll-snap-align:none;scroll-snap-stop:normal}
.yc-also{min-height:100svh;padding:calc(var(--hh) + 32px) 0 32px;scroll-snap-align:start;scroll-snap-stop:always}
.yc-cards .card{background:var(--card)}
.yc-cards .card .in{padding:20px 22px 24px}
.yc-cards .card h3{font-size:clamp(21px,1.7vw,26px)}
.yc-cards .card .pr{font-size:clamp(25px,2vw,30px);margin:8px 0}
.yc-cards .card .sp{font-size:14px}
.yc-ending>footer{box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hh) + 40px) 0 40px;scroll-snap-align:start;scroll-snap-stop:normal}
.yc-ending>footer>.wrap{width:100%;max-width:1320px}
.yc-ending>footer .ft{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,7vw,112px)}
.yc-footer-intro h2{color:var(--on);font:400 clamp(44px,5.5vw,80px)/1.05 var(--serif);letter-spacing:-.025em;margin:0 0 24px}
.yc-footer-contact{display:inline-flex;align-items:center;gap:24px;min-height:48px;border-bottom:1px solid oklch(.5 .005 250);font-size:18px;color:var(--on)}
.yc-ending>footer .ft nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px}
.yc-ending>footer .ft nav a{font-size:16px;min-height:44px;display:flex;align-items:center;padding:4px 0}
.yc-ending>footer .bottom{margin-top:48px;padding-bottom:0}

@media(max-width:760px){
  .yacht{--yc-page-height:calc(100lvh + var(--skirt));--yc-tail:calc(var(--yc-page-height) - 100svh)}  /* KURAL: bolum = 100lvh + etek(min %10 / pill kadar); lvh buyuk viewport u doldurur (alt gri gorunmez), etek pill i temizler; icerik ustteki ~100svh de ortali, kaymaz */
  /* Specs and deck plans are single document chapters. Let the page carry an
     overlong chapter instead of trapping vertical gestures in a nested rail. */
  .yc-sp,.yc-pl{height:auto;min-height:var(--yc-page-height);overflow:visible;padding:calc(var(--hh) + 24px) 0 calc(32px + var(--yc-tail))}
  .yc-sp>.yc-section-scroll,.yc-pl>.yc-section-scroll{height:auto;overflow:visible;overscroll-behavior-y:auto;padding-bottom:0}
  .yacht .tony{height:var(--yc-page-height);min-height:0;justify-content:center;padding:calc(var(--hh) + 24px) 0 calc(24px + var(--yc-tail))}
  .yacht .tony>.wrap{height:100%;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:visible;padding-bottom:0}
  .yacht .tony .l h2{font-size:32px;line-height:1.1;margin:8px 0 12px}
  .yacht .tony .l p{font-size:16px;line-height:1.5}
  .yacht .tony .l{margin-bottom:20px}
  .yacht .tony .log{max-height:180px}
  .yc-also{height:var(--yc-page-height);min-height:0;justify-content:flex-start;padding:calc(var(--hh) + 24px) 0 calc(24px + var(--yc-tail))}
  .yc-also>.wrap{max-height:none;overflow:visible}
  .yc-contact{min-height:var(--yc-page-height);height:auto;justify-content:center;padding:calc(var(--hh) + 24px) 0 calc(24px + var(--yc-tail))}  /* uzun form svh'ye sigmazsa: sabit yukseklik yerine buyu+kaydirilabilir ol (yc-sp gibi), buton erisilsin, etek alta kalsin */
  /* iletisim formu genis Safari cubugunda (svh kucuk) sigsin diye ferah bosluklari sik: icerik/alan silinmez, yalniz sik */
  .yc-contact .yc-lead-form{gap:10px}
  .yc-contact .yc-lead-form .field textarea{min-height:80px}
  .yc-contact .yc-lead-form>button{min-height:50px;margin-top:4px}
  .yc-contact-h{margin:8px 0 8px}
  .yc-contact-cols{row-gap:16px}
  .yc-contact>.wrap{max-height:none;overflow:visible}
  .yc-also .yc-head{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}
  .yc-also .yc-head h2{font-size:32px}
  .yc-also .yc-head .btn{min-height:46px}
  .yc-cards .card{flex-basis:calc(100vw - 2*var(--gut) - 20px)}
  .yc-cards .card img{aspect-ratio:16/10}
  .yc-cards .card .in{padding:18px 20px 20px}
  .yc-cards .card h3{font-size:22px}
  .yc-cards .card .pr{font-size:28px}
  .yc-cards{padding-bottom:12px}
  .yc-ending>footer{height:var(--yc-page-height);min-height:0;justify-content:center;padding:calc(var(--hh) + 24px) 0 calc(24px + var(--yc-tail))}
  .yc-ending>footer>.wrap{max-height:none;overflow:visible;padding-bottom:0}
  .yc-ending>footer .ft{grid-template-columns:minmax(0,1fr);gap:28px}
  .yc-footer-intro h2{font-size:42px;margin-bottom:12px}
  .yc-footer-contact{font-size:17px;min-height:44px}
  .yc-ending>footer .ft nav{gap:12px 20px}
  .yc-ending>footer .ft nav a{font-size:15px}
  .yc-ending>footer .bottom{margin-top:24px;font-size:12px}
}

/* Readable overview rather than an undiscoverable phone scroller. */
.yc-ending>footer .ft nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.yc-ending>footer .ft nav h3{font:500 14px/1.3 var(--sans);color:var(--mu);margin-bottom:14px}
.yc-ending>footer .ft nav a{line-height:1.35}
.yc-ending>footer .ft{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.yc-ending>footer .bottom{align-items:center}
.yc-ending>footer .bottom .ra{width:auto}
@media(max-width:760px){
  .yc-sp{padding-top:calc(var(--hh) + 20px)}
  .yc-sp .yc-section-scroll{overflow:visible;padding-bottom:0}
  .yc-sp .yc-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 22px;align-items:start}
  .yc-sp .yc-grp h3{font-size:13px;letter-spacing:.08em;padding:0 0 8px;margin-bottom:2px}
  .yc-sp .yc-grp dl{display:block;padding:6px 0}
  .yc-sp .yc-grp dt{font-size:14px;line-height:1.25;margin-bottom:3px}
  .yc-sp .yc-grp dd{max-width:none;text-align:left;font-size:16px;line-height:1.25;font-weight:500}
  .yacht .tony .l{flex:none;margin-bottom:16px}
  .yacht .tony .l p{display:none}
  .yacht .tony .l h2{margin-bottom:0;font-size:30px}
  .yacht .tony .chat{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px}
  .yacht .tony .log{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior-y:contain}
  .yacht .tony .bubble,.yacht .tony .ty-y{flex:none}
  .yacht .tony .sugg{flex:none;margin:0;gap:8px}
  .yacht .tony .sugg button{min-height:44px;font-size:14px;line-height:1.3;padding:8px 12px}
  .yacht .tony .ask{flex:none}
  .yacht .tony .ask input{min-height:48px}
  .yacht .tony .ask button{min-width:48px}
  .yc-ending>footer .ft{grid-template-columns:minmax(0,1fr);gap:36px}
  .yc-footer-intro h2{font-size:52px;margin-bottom:20px}
  .yc-footer-contact{display:flex;justify-content:space-between;padding-bottom:12px}
  .yc-ending>footer .ft nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .yc-ending>footer .ft nav h3{font-size:13px;margin-bottom:10px}
  .yc-ending>footer .ft nav a{font-size:15px;min-height:44px}
  .yc-ending>footer .bottom{margin-top:36px;flex-wrap:nowrap}
}
@media(max-width:760px) and (max-height:640px){
  .yc-sp .yc-groups{gap:14px 22px}
  .yc-sp .yc-grp dl{padding:3px 0}
  .yc-sp .yc-grp dt{margin-bottom:2px;line-height:1.2}
  .yc-sp .yc-grp h3{padding-bottom:6px}
  .yc-sp{padding-bottom:calc(16px + var(--yc-tail))}
  .yc-ending>footer .ft{gap:24px}
  .yc-footer-intro h2{font-size:44px;margin-bottom:12px}
  .yc-ending>footer .bottom{margin-top:24px}
}

/* Yacht dossier: quiet section divisions, aligned labels and editorial values. */
.yc-sp .yc-grp h3{font:500 18px/1.2 var(--sans);color:var(--ink);letter-spacing:0;text-transform:none;border:0;border-top:1px solid var(--rule);padding:14px 0 10px;margin:0}
.yc-sp .yc-grp dl{border:0;gap:20px;padding:6px 0}
.yc-sp .yc-grp dt{font-size:15px;color:var(--mu)}
.yc-sp .yc-grp dd{font:italic 400 21px/1.2 var(--serif);color:var(--ink)}
.yc-footer-email{display:flex;align-items:center;min-height:44px;font:400 clamp(25px,2.4vw,34px)/1.15 var(--serif);color:var(--on);overflow-wrap:anywhere}
.yc-footer-contact{border:0;min-height:44px;font-size:17px;margin-top:6px;padding:0}
.yc-ending>footer .ft nav h3{display:none}
.yc-ending>footer .ft nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 40px}
.yc-ending>footer .ft nav>div:last-child{grid-column:1/-1;display:flex;flex-direction:row;gap:24px;flex-wrap:wrap;border-top:1px solid oklch(.32 .006 250);padding-top:16px}
.yc-ending>footer .ft nav>div:last-child a{font-size:14px;color:oklch(.7 .005 250)}
.yc-ending>footer .bottom{flex-direction:row;justify-content:space-between;text-align:left;margin-top:36px}
@media(max-width:760px){
  .yc-sp .yc-groups{grid-template-columns:minmax(0,1fr);gap:12px}
  .yc-sp .yc-grp h3{font-size:16px;padding:8px 0 6px}
  .yc-sp .yc-grp dl{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:18px}
  .yc-sp .yc-grp dt{font-size:14px;line-height:1.25;margin:0;flex:none}
  .yc-sp .yc-grp dd{max-width:64%;font-size:18px;line-height:1.15;text-align:right}
  .yc-ending>footer .ft{gap:28px}
  .yc-footer-intro h2{font-size:42px;margin-bottom:16px}
  .yc-footer-email{font-size:27px}
  .yc-footer-contact{justify-content:space-between;margin:0;max-width:none}
  .yc-ending>footer .ft nav{gap:12px 28px}
  .yc-ending>footer .ft nav a{font-size:16px}
  .yc-ending>footer .ft nav>div:last-child{gap:20px;padding-top:8px}
  .yc-ending>footer .ft nav>div:last-child a{font-size:13px}
  .yc-ending>footer .bottom{margin-top:24px}
}
@media(max-width:760px) and (max-height:640px){
  .yc-sp .yc-groups{gap:8px}
  .yc-sp .yc-grp h3{font-size:15px;padding:5px 0 4px}
  .yc-sp .yc-grp dl{padding:1px 0}
  .yc-sp .yc-grp dd{font-size:17px}
  .yc-ending>footer .ft{gap:20px}
  .yc-footer-intro h2{font-size:36px;margin-bottom:8px}
  .yc-ending>footer .bottom{margin-top:16px}
}

/* Original specification type and rules, with every phone group full width. */
.yc-sp .yc-grp h3{font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mu);border-top:0;border-bottom:1px solid var(--ink);padding:18px 0 8px;margin:0}
.yc-sp .yc-grp dl{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule);gap:16px;padding:10px 0}
.yc-sp .yc-grp dt{font:400 15px/1.3 var(--sans);color:var(--ink-2);margin:0}
.yc-sp .yc-grp dd{font:500 15px/1.3 var(--sans);text-align:right;color:var(--ink);min-width:0;max-width:64%}
/* Footer content keeps a natural compact measure inside its own snap chapter. */
.yc-ending>footer{background:var(--ink);color:var(--on)}
.yc-ending>footer>.wrap{height:auto;max-width:1100px}
.yc-footer-intro h2{font:500 24px/1.15 var(--sans);color:var(--on);letter-spacing:-.02em;margin:0 0 14px}
.yc-footer-email{font:400 20px/1.2 var(--sans);color:var(--on)}
.yc-footer-contact{border:1px solid oklch(.5 .005 250);color:var(--on);padding:0 16px;min-height:46px;justify-content:space-between;margin-top:12px;max-width:280px}
.yc-ending>footer .ft nav a{color:var(--on);font-size:16px}
.yc-ending>footer .ft nav>div:last-child{border-color:oklch(.32 .006 250)}
.yc-ending>footer .ft nav>div:last-child a{color:oklch(.7 .005 250);font-size:14px}
.yc-ending>footer .bottom{color:oklch(.6 .006 250);border:0;padding:0;margin-top:28px}
@media(max-width:760px){
  .yc-sp .yc-groups{grid-template-columns:minmax(0,1fr);gap:10px}
  .yc-sp .yc-grp{grid-column:1/-1}
  .yc-sp .yc-grp h3{padding:8px 0 7px}
  .yc-sp .yc-grp dl{padding:5px 0;gap:12px;flex-wrap:nowrap}
  .yc-sp .yc-grp dt,.yc-sp .yc-grp dd{font-size:14.5px;line-height:1.3}
  .yc-ending>footer>.wrap{height:auto;display:block;max-width:540px}
  .yc-ending>footer .ft{gap:28px}
  .yc-footer-intro h2{font-size:24px;margin-bottom:10px}
  .yc-footer-email{font-size:20px}
  .yc-footer-contact{margin-top:12px;max-width:none;font-size:16px}
  .yc-ending>footer .ft nav{gap:12px 28px}
  .yc-ending>footer .ft nav a{font-size:16px}
  .yc-ending>footer .ft nav>div:last-child a{font-size:14px}
  .yc-ending>footer .bottom{margin-top:28px;padding:0}
}
@media(max-width:760px) and (max-height:640px){
  .yc-sp .yc-groups{gap:6px}
  .yc-sp .yc-grp h3{padding:5px 0}
  .yc-sp .yc-grp dl{padding:2px 0}
  .yc-sp .yc-grp dt,.yc-sp .yc-grp dd{font-size:14px;line-height:1.25}
  .yc-ending>footer .ft{gap:20px}
  .yc-ending>footer .ft nav{gap:8px 24px}
  .yc-ending>footer .bottom{margin-top:16px}
}

/* Phone fit must never replace the established desktop specification page. */
@media(min-width:761px){
  .yc-sp .yc-grp:first-child h3{padding-top:18px}
  .yc-sp,.yc-pl{height:auto;min-height:100svh;overflow:visible;padding:calc(var(--hh) + 40px) 0 40px;justify-content:flex-start}
  .yc-sp>.yc-section-scroll,.yc-pl>.yc-section-scroll{height:auto;overflow:visible;overscroll-behavior-y:auto;padding-bottom:0}
  .yc-sp .yc-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,4vw,64px)}
  .yc-sp .yc-grp h3{font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mu);padding:18px 0 8px;border-top:0;border-bottom:1px solid var(--ink);margin:0}
  .yc-sp .yc-grp dl{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--rule)}
  .yc-sp .yc-grp dt{font:400 15px/1.6 var(--sans);color:var(--ink-2);margin:0}
  .yc-sp .yc-grp dd{font:500 15px/1.6 var(--sans);text-align:right;max-width:none}
}

/* The full Deck Plans chapter reaches beneath the fixed navigation. Its actual
   content stays inside the header-safe frame, with no competing vertical rail. */
.yc-pl{height:100svh;min-height:0;overflow:hidden;justify-content:flex-start;padding:calc(var(--hh) + 20px) 0 20px}
.yc-pl>.yc-pl-layout{height:100%;min-height:0}
@media(max-width:760px){
  .yc-pl{height:100dvh;min-height:100svh;padding:calc(var(--hh) + 16px) 0 20px}
  .yc-pl>.yc-pl-layout{height:100%;min-height:0;flex:none}
  .yc-pl-layout .yc-head{margin-bottom:12px}
  .yc-pl .yc-plan-stage,.yc-pl .yc-plan-nav{display:none}
  .yc-mobile-plans{display:flex;min-height:0;flex:1;flex-direction:column;justify-content:flex-start}
  .yc-mobile-plan-pages{flex:none}
  .yc-mobile-plan-page{display:none}
  .yc-mobile-plan-page.is-active{display:block}
  .yc-mobile-plan-grid{display:grid;gap:10px}
  .yc-mobile-plan-grid button{display:block;width:100%;aspect-ratio:3/1;overflow:hidden;border:1px solid var(--rule);background:var(--card);cursor:zoom-in;padding:8px}
  .yc-mobile-plan-grid img{width:100%;height:100%;object-fit:contain}
  .yc-mobile-plan-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
  .yc-mobile-plan-tab{min-height:44px;border:1px solid var(--rule);background:transparent;color:var(--ink);font:600 12px/1 var(--sans);letter-spacing:.04em;cursor:pointer}
  .yc-mobile-plan-tab.is-active{background:var(--ink);border-color:var(--ink);color:var(--on)}
}
.yc-ending .yc-also{scroll-snap-stop:normal}
@media(max-width:760px){.yc-spec-heading{display:none}}

/* Requested footer: three single-line link groups, centred credit at the base. */
footer.yc-footer-minimal>.wrap{max-width:900px;display:flex;flex-direction:column;justify-content:flex-start;min-height:0}
.yc-footer-minimal nav{display:block;margin:auto 0}
.yc-footer-row{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,44px);min-height:56px}
.yc-footer-row a{display:flex;align-items:center;min-height:44px;white-space:nowrap;font-size:16px;line-height:1.3;color:var(--on)}
.yc-footer-row:last-child a{color:oklch(.7 .005 250);font-size:14px}
.yc-footer-credit{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;color:oklch(.6 .006 250);font-size:12px;line-height:1.4;padding-top:24px}
.yc-footer-credit .ra{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}
.yc-footer-minimal .yc-footer-grid{display:flex;flex-direction:column;align-items:center;gap:28px}
.yc-footer-minimal .yc-footer-grid .col{display:flex;flex-direction:column;align-items:center;gap:10px}
.yc-footer-minimal .yc-footer-grid a{min-height:36px}
.yc-footer-credit svg{width:9px;height:9px;fill:currentColor}
@media(max-width:760px){
  .yc-footer-row{gap:clamp(10px,3vw,18px);min-height:52px}
  .yc-footer-row a{font-size:clamp(13px,3.5vw,15px)}
  .yc-footer-row:last-child a{font-size:13px}
  .yc-footer-credit{padding-top:20px;gap:4px}
}

/* The grouped footer is phone-only; keep the preceding desktop composition. */
@media(min-width:761px){footer.yc-footer-minimal{display:none}}
@media(max-width:760px){
  footer.yc-footer-desktop{display:none}
  footer.yc-footer-minimal{padding:48px 0 28px}
  .yc-ending>footer.yc-footer-minimal{min-height:100svh;display:flex;padding:calc(var(--hh) + 40px) 0 40px}
  .yc-ending>footer.yc-footer-minimal>.wrap{height:100%;width:100%}
  .yc-footer-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:0;gap:0}
  .yc-footer-row+.yc-footer-row{margin-top:16px}
  .yc-footer-row a,.yc-footer-row:last-child a{min-height:44px;font:400 16px/1.3 var(--sans);color:var(--on);text-align:left}
  .yc-footer-credit{padding-top:16px}
}
@media(max-width:760px) and (max-height:640px){
  .yc-ending>footer.yc-footer-minimal{padding-top:calc(var(--hh) + 12px);padding-bottom:calc(12px + var(--yc-tail))}
  .yc-footer-row+.yc-footer-row{margin-top:6px}
  .yc-footer-credit{padding-top:0}
}

/* Subtle phone footer group dividers, without changing the chapter budget. */
@media(max-width:760px){
  .yc-footer-row+.yc-footer-row{position:relative}
  .yc-footer-row+.yc-footer-row::before{content:"";position:absolute;inset:-8px 0 auto;height:1px;background:oklch(.98 .002 250 / .18);pointer-events:none}
}
@media(max-width:760px) and (max-height:640px){
  .yc-footer-row+.yc-footer-row::before{top:-3px}
}

/* Mobile footer credit: standalone, slightly larger studio signature. */
@media(max-width:760px){
  .yc-footer-minimal .yc-footer-credit>span{display:none}
  .yc-footer-minimal .yc-footer-credit .ra{font-size:14px}
  .yc-footer-minimal .yc-footer-credit .ra svg{width:10px;height:10px}
}

/* Desktop closes as a quiet corporate directory: no logo, contact address or chat link. */
@media(min-width:761px){
  footer.yc-footer-corporate{background:var(--ink);color:var(--on);padding:clamp(64px,7vw,112px) 0 28px}
  footer.yc-footer-corporate>.wrap{max-width:1100px}
  .yc-ending>footer.yc-footer-corporate{min-height:100svh;display:flex;justify-content:center;padding:calc(var(--hh) + 40px) 0 40px}
  .yc-footer-corporate-cta{display:flex;align-items:end;justify-content:space-between;gap:48px;padding-bottom:clamp(44px,5vw,72px);border-bottom:1px solid oklch(.98 .002 250 / .25)}
  .yc-footer-corporate-cta p{margin:0 0 14px;font:600 11px/1.2 var(--sans);letter-spacing:.14em;color:oklch(.64 .006 250)}
  .yc-footer-corporate-cta h2{margin:0;font:400 clamp(38px,4.2vw,64px)/1.02 var(--serif);letter-spacing:-.025em;color:var(--on)}
  .yc-footer-corporate-cta .btn{flex:none;min-height:52px;padding:0 22px;border-color:oklch(.7 .006 250);color:var(--on)}
  .yc-footer-cols{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;padding:clamp(40px,5vw,64px) 0 24px;margin-top:clamp(32px,4vw,48px)}
  .yc-footer-grid{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,88px)}
  .yc-footer-grid .col{display:flex;flex-direction:column;gap:14px}
  .yc-footer-grid a{display:flex;align-items:center;min-height:22px;color:oklch(.78 .005 250);font:400 15px/1.35 var(--sans);transition:color .2s ease}
  .yc-footer-grid a:hover{color:var(--on)}
  .yc-footer-corporate-bottom{display:flex;flex:none}
  .yc-footer-corporate-bottom .ra{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:oklch(.62 .006 250);font-size:13px}
  .yc-footer-corporate-bottom svg{width:9px;height:9px;fill:currentColor}
}
@media(min-width:761px) and (max-width:980px){
  .yc-footer-corporate-cta{align-items:flex-start;flex-direction:column;gap:28px}
}


.yc-sp>.yc-section-scroll{flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:safe center}  /* fill the page, center spec content; scroll from top when tall */

/* Enes 26 Eki: Ask Tony sabit butonu kaldirildi (tum site) */
.tonyfab{display:none}
/* PDF brosur butonu beyaz */
.yc-brochure-action{background:#fff;color:var(--ink)}

/* Enes 26 Eki: ilan iletişim + lead formu (editoryal, siteye uyumlu) */
.yc-acts-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yc-acts .yc-acts-2 .btn{width:100%;min-height:50px;justify-content:center}
.yc-contact-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:clamp(20px,3vw,36px) clamp(32px,4vw,56px);align-items:start;max-width:900px;margin-inline:auto}.yc-contact-intro{display:flex;flex-direction:column}
.yc-contact-copy .lab{color:var(--mu)}
.yc-contact-h{font:400 clamp(27px,3.6vw,42px)/1.08 var(--serif);color:var(--ink);margin:16px 0 14px}
.yc-contact-h em{font-style:italic}
.yc-contact .yc-lede{font:italic 400 clamp(17px,2vw,20px)/1.45 var(--serif);color:var(--ink-2);max-width:40ch;margin:0}
.yc-lead-form{display:grid;gap:12px}
.yc-lead-form .field{position:relative}
.yc-lead-form .field input,.yc-lead-form .field textarea{width:100%;min-height:56px;border:1px solid var(--rule);background:var(--card);color:var(--ink);font:400 16px/1.3 var(--sans);padding:24px 16px 8px;border-radius:0;transition:border-color .15s ease,box-shadow .15s ease}
.yc-lead-form .field textarea{min-height:104px;resize:vertical}
.yc-lead-form .field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--mu);font:400 16px/1 var(--sans);pointer-events:none;transition:all .15s ease}
.yc-lead-form .field textarea+label{top:27px;transform:none}
.yc-lead-form .field input:focus+label,.yc-lead-form .field input:not(:placeholder-shown)+label,.yc-lead-form .field textarea:focus+label,.yc-lead-form .field textarea:not(:placeholder-shown)+label{top:9px;transform:none;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.yc-lead-form .field input:focus,.yc-lead-form .field textarea:focus{outline:0;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.yc-lead-form .yc-chk{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font:400 12.5px/1.5 var(--sans);color:var(--mu)}
.yc-lead-form .yc-chk input{margin-top:3px;accent-color:var(--ink)}
.yc-lead-form .yc-chk a{color:var(--ink);text-decoration:underline}
.yc-lead-form>button{width:100%;min-height:54px;justify-content:space-between;margin-top:6px}
.yc-ok{font:italic 400 clamp(19px,2.4vw,24px)/1.35 var(--serif);color:var(--ink);margin:0}
@media(prefers-reduced-motion:reduce){.yc-lead-form .field label,.yc-lead-form .field input,.yc-lead-form .field textarea{transition:none}}
@media(max-width:860px){.yc-contact-cols{grid-template-columns:1fr;max-width:520px}}

.yc-contact{justify-content:safe center}

/* Enes 26 Eki: hero iletişim segment çubuğu (Alt 3) */
.yc-cbar{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--ink)}
.yc-cseg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:58px;padding:12px 6px;color:var(--ink);font:600 12px/1 var(--sans);letter-spacing:.02em;transition:background .2s ease,color .2s ease}
.yc-cseg+.yc-cseg{border-left:1px solid var(--rule)}
.yc-cseg:hover{background:var(--ink);color:var(--card)}
.yc-cseg svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.yc-cseg svg.wa{fill:currentColor;stroke:none}

/* Enes 26 Eki: teslim/taşıma showcase */
.deals{background:var(--bg);padding:clamp(28px,4vh,56px) 0 0}
.dealgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.2vw,36px) clamp(18px,2vw,30px)}
.deal{margin:0}
.deal-ph{aspect-ratio:3/2;background:var(--ink);overflow:hidden;display:flex;align-items:center;justify-content:center}
.deal-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.deal:hover .deal-ph img{transform:scale(1.03)}
.deal figcaption{margin-top:13px;font:500 clamp(16px,1.3vw,19px)/1.25 var(--sans);letter-spacing:-.01em;color:var(--ink)}
@media(max-width:860px){.dealgrid{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:520px){.dealgrid{grid-template-columns:1fr}}

/* ===== SITE IMPROVEMENTS (Oct 2026): filter panel above the for-sale grid (Bodrum Life / C&N pattern) */
.sortbar .sb-l{display:flex;align-items:center;gap:clamp(18px,2.4vw,32px)}
.ft{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;background:none;border:0;color:var(--ink);font:600 15px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-underline-offset:10px;text-decoration-thickness:2px;transition:opacity .15s}
.ft:hover{opacity:.75}.ft:active{opacity:.5}
.ft[aria-expanded="true"]{text-decoration-line:underline}
.ft-n{color:var(--mu);font-variant-numeric:tabular-nums}
.fp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .9s cubic-bezier(.22,1,.36,1)}
.fp.open{grid-template-rows:1fr}
.fp-c{overflow:hidden;min-height:0}
.fp-in{position:relative;padding:4px 0 clamp(30px,3.4vw,46px);margin-bottom:clamp(20px,2.4vw,32px);border-bottom:1px solid var(--ink);opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1)}
.fp.open .fp-in{opacity:1}
.fp-x{position:absolute;right:-10px;top:0;width:44px;height:44px;background:none;border:0;font-size:24px;line-height:1;color:var(--ink-2);cursor:pointer;transition:color .15s}
.fp-x:hover{color:var(--ink)}
.fp-g{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(30px,3vw,42px) clamp(40px,6vw,96px);padding-top:56px}
.fp-w{grid-column:1/-1}
.fp .lab{display:block;margin:0;color:var(--ink);font:500 13px/1 var(--sans);letter-spacing:.08em}
.rs-t{position:relative;height:24px;margin-top:20px;--a:0;--b:1}
.rs-t i,.rs-t b{position:absolute;top:50%;height:1px;transform:translateY(-50%)}
.rs-t i{left:7px;right:7px;background:oklch(0.17 0.006 250/.22)}
.rs-t b{left:calc(7px + (100% - 14px)*var(--a));right:calc(7px + (100% - 14px)*(1 - var(--b)));background:var(--ink)}
.rs-t input{position:absolute;inset:0;width:100%;height:100%;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;color:var(--ink)}
.rs-t input:focus-visible{outline:none}
.rs-t input::-webkit-slider-runnable-track{background:none;height:24px}
.rs-t input::-moz-range-track{background:none}
.rs-t input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:14px;height:14px;margin-top:5px;border:0;border-radius:50%;background:currentColor;cursor:grab;transition:transform .15s,box-shadow .15s}
.rs-t input::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border:0;border-radius:50%;background:currentColor;cursor:grab;transition:transform .15s,box-shadow .15s}
.rs-t input:active::-webkit-slider-thumb{transform:scale(1.25);cursor:grabbing}
.rs-t input:active::-moz-range-thumb{transform:scale(1.25);cursor:grabbing}
.rs-t input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--ink)}
.rs-t input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--ink)}
.rs-v{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font:400 20px/1.2 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.fm{position:relative;min-width:0}
.fm-t{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:48px;margin-top:12px;padding:0;background:none;border:0;border-bottom:1px solid var(--ink);color:var(--ink);font:400 20px/1.2 var(--sans);text-align:left;cursor:pointer}
.fm-s{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-t i{flex:none;width:8px;height:8px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-30%) rotate(45deg);transition:transform .25s}
.fm.open .fm-t i{transform:translateY(20%) rotate(-135deg)}
.fm-t:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.fm-m{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;max-height:min(340px,52vh);overflow:auto;overscroll-behavior:contain;padding:8px 0;background:#fff;box-shadow:0 18px 48px oklch(0.2 0.01 250/.22)}
.fm.open .fm-m{display:block}
.fm-m button{display:flex;align-items:center;gap:14px;width:100%;min-height:44px;padding:0 18px;background:none;border:0;color:var(--ink);font:400 15px/1.2 var(--sans);text-align:left;cursor:pointer}
.fm-m button:hover{background:oklch(0.17 0.006 250/.05)}
.fm-m button:before{content:"";flex:none;display:grid;place-items:center;box-sizing:border-box;width:18px;height:18px;border:1.5px solid oklch(0.17 0.006 250/.45);font:600 12px/1 var(--sans)}
.fm-m button[aria-pressed="true"]:before{content:"✓";background:var(--ink);border-color:var(--ink);color:#fff}
.fm-m button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
@media(min-width:641px){.fp.open.done .fp-c{overflow:visible}}
@media(max-width:640px){.fm-m{position:static;margin-top:8px;box-shadow:none;border:1px solid oklch(0.17 0.006 250/.18);max-height:none}}
.fp-a{display:flex;align-items:center;gap:20px;margin-top:clamp(28px,3vw,40px)}
.fp-clr{padding:0;min-height:44px;background:none;border:0;color:var(--ink-2);font:600 15px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;cursor:pointer;transition:color .15s}
.fp-clr:hover{color:var(--ink)}
.fp-go{margin-left:auto;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;background:none;border:0;color:var(--ink);font:600 20px/1 var(--sans);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:opacity .15s}
.fp-go i{font-style:normal;font-size:22px;transition:transform .3s}
@media(hover:hover){.fp-go:hover:not(:disabled) i{transform:translateX(6px)}}
.fp-go:disabled{color:var(--mu);cursor:not-allowed}.fp-go:disabled i{display:none}
html.fp-lock{overflow:hidden}
@media(max-width:640px){
  .sortbar .sb-l{gap:16px}
  .fp{position:fixed;inset:0;z-index:200;display:block;background:oklch(0.95 0.004 250/.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity .38s}
  .fp.open{opacity:1;pointer-events:auto}
  .fp-c{position:absolute;inset:0 0 96px;overflow-y:auto;overscroll-behavior:contain}
  .fp-in{padding:64px var(--gut) 28px;margin:0;border:0;opacity:1}
  .fp-x{right:calc(var(--gut) - 10px);top:12px}
  .fp-g{grid-template-columns:1fr;gap:34px;padding-top:0}
  .fp-a{position:fixed;left:20px;right:20px;bottom:20px;margin:0}
  .fp-clr{font-size:12.8px;letter-spacing:.06em;text-decoration:none}
  .fp-go{height:56px;padding:0 24px;background:#fff;border-radius:2px;font-size:12.8px;letter-spacing:.06em;box-shadow:0 2px 20px rgb(0 0 0/.18)}
}
/* journal pick: one article per page, as an editorial two-up */
.jpick.pg-split{min-height:calc(100lvh + var(--skirt));background:var(--card)}
.yacht .jpick{scroll-snap-align:start;scroll-snap-stop:always}
.yacht .jpick .pg-body{padding-top:calc(var(--hh) + clamp(32px,4vw,64px))}
@media(max-width:760px){.yacht .jpick .pg-body{padding-bottom:calc(clamp(28px,8vw,48px) + var(--yc-tail))}}  /* etek: butonlar pill ustunde */
.jpick h2 a{color:inherit;text-decoration:none}
.jpick h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.jpick .pg-media{position:relative}
.jpick .pg-media a{position:absolute;inset:0;display:block}
.jpick .pg-media img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.jpick .pg-media a:hover img{transform:scale(1.03)}
.jp-cta{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:760px){.jpick.pg-split{display:flex;flex-direction:column}.jpick .pg-media{order:-1;flex:1 1 auto;min-height:38svh;aspect-ratio:auto}.yacht .jpick .pg-media{margin-top:var(--hh)}.yacht .jpick .pg-body{padding-top:clamp(24px,6vw,36px)}}
picture.wp{display:contents}
.yc-lead-form .yc-err{margin-top:12px;color:#b3261e;font-size:14px}.yc-lead-form .yc-err a{color:inherit;text-decoration:underline}

/* phone line in the footer (tel: links count as phone-click conversions) */
.yc-footer-corporate-bottom{justify-content:space-between;align-items:center}
.yc-footer-credit .tel,.yc-footer-corporate-bottom .tel{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-variant-numeric:tabular-nums}
.yc-footer-credit .tel{font-size:14px}
.fp-clr,.fp-go{white-space:nowrap}

/* Every page chapter is a forced snap stop, so no swipe can carry past one. Chapters taller than the screen
   (news, FAQ) still scroll freely inside; the stop only holds their top. app.js does the same for the wheel. */
.home .read,.home #questions{scroll-snap-stop:always}
.yc-ending .yc-also,.yc-ending>footer{scroll-snap-stop:always}
/* ============================================================ JOURNAL — blog + news force-scroll chapters ============================================================
   Index pages: one post per full screen, mandatory snap with stop:always (same force scroll as the homepage).
   Posts: full-screen cover, then the text flows freely (proximity snap) so long reading is never cut into pages.
   Three layouts: phone = photo at its own shape on top, text below · tablet = magazine page · desktop = split screen with a scrub rail.
   Category chips live in the hero and again in a sticky bar that appears once the chapters start. */
html.jx-scroll,html:has(body.jx:not(.jx-post)){scroll-snap-type:y mandatory}
html.jx-soft,html:has(body.jx-post){scroll-snap-type:y proximity}
.jx{--jbg:var(--bg);--jfg:var(--ink);--jmu:var(--mu);--jh:80px;--jbar:0px}
.jx.news{--jbg:var(--ink);--jfg:var(--on);--jmu:oklch(0.72 0.006 250)}
@media(max-width:980px){.jx{--jh:64px;--jbar:0px}}
.jx main{background:var(--jbg)}
.jx footer{scroll-snap-align:end}

/* first screen: index hero + post cover */
.jx-hero,.jx-cover{position:relative;min-height:100lvh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:var(--on);padding:calc(var(--jh) + 40px) 0 clamp(40px,9vh,104px);overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
.jx-bg{position:absolute;inset:0;margin:0}
.jx-bg img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.jx-hero .jx-bg{opacity:.9}
.jx-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(oklch(0.1 0.004 250/.55),oklch(0.1 0.004 250/0) 26%),linear-gradient(to top,oklch(0.1 0.004 250/.94),oklch(0.1 0.004 250/.62) 40%,oklch(0.1 0.004 250/.08) 72%)}
.jx-hero>.wrap,.jx-cover>.wrap{position:relative;z-index:1;width:100%}
.jx-hero .lab,.jx-cover .lab{color:oklch(0.82 0.006 250)}
.jx-hero h1,.jx-cover h1{font:400 clamp(44px,7.4vw,112px)/.98 var(--serif);letter-spacing:-.02em;max-width:13ch;margin-top:16px;text-wrap:balance;text-shadow:0 2px 30px oklch(0 0 0/.35)}
.jx-cover h1{font-size:clamp(36px,5.6vw,84px);max-width:18ch}
.jx-hero h1 em,.jx-cover h1 em{font-style:italic}
.jx-hero .lede,.jx-cover .lede{max-width:48ch;margin-top:20px;color:oklch(0.88 0.005 250);font-size:clamp(16px,1.4vw,19.5px);line-height:1.55}
.jx-meta{display:flex;align-items:center;gap:22px;margin-top:clamp(22px,4vh,44px);font:600 11.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:oklch(0.78 0.006 250)}
.jx-cue{display:inline-flex;align-items:center;gap:10px}
.jx-cue i{display:block;width:1px;height:30px;background:currentColor;transform-origin:top;animation:jxcue 2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes jxcue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* category chips: pills with counts, plus a link across to the other list */
.jx .chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}
.jx .chips button,.jx .chips a{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 22px;border:1px solid oklch(1 0 0/.42);border-radius:0;background:none;color:inherit;font:600 14.5px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.jx .chips small{font:500 12px/1 var(--sans);letter-spacing:.02em;opacity:.6;padding-left:10px;border-left:1px solid currentColor;border-left-color:oklch(from currentColor l c h/.35)}
.jx .chips button:hover{border-color:currentColor}
.jx .chips button[aria-pressed=true]{background:var(--on);color:var(--ink);border-color:var(--on)}
.jx .chips .jx-switch{border-color:transparent;padding:0 10px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.jx .chips .jx-switch .arr{width:14px}
.jx-hero .chips{margin-top:clamp(22px,3.4vh,36px)}

/* sticky bar: same chips, shown while the chapters are on screen */
.jx-bar{position:fixed;left:0;right:0;top:var(--jh);z-index:58;height:var(--jbar);display:flex;align-items:center;padding:0 var(--gut);background:rgba(247,247,245,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);color:var(--ink);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .3s,transform .3s}
html.jx-in .jx-bar{opacity:1;transform:none;pointer-events:auto}
.jx-bar{display:none}   /* owner: no filter strip under the header; the filters live in the hero only */
.jx-bar .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}
.jx-bar .chips::-webkit-scrollbar{display:none}
.jx-bar .chips button,.jx-bar .chips a{flex:none;min-height:42px;padding:0 18px;font-size:13px;border-color:var(--rule)}
.jx-bar .chips button[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.jx-bar .chips .jx-switch{border-color:transparent}
/* sticky bar: quiet text tabs, no boxes or counts; the active one is underlined, the link to the other list sits on the right */
.jx-bar .chips{gap:clamp(18px,2.4vw,36px)}
.jx-bar .chips button,.jx-bar .chips a{min-height:var(--jbar);padding:0;border:0;border-bottom:2px solid transparent;background:none;color:var(--mu);font-size:12.5px;letter-spacing:.08em}
.jx-bar .chips button:hover{color:var(--ink);border-color:transparent}
.jx-bar .chips button[aria-pressed=true]{background:none;color:var(--ink);border-color:var(--ink)}
.jx-bar .chips small{display:none}
.jx-bar .chips .jx-switch{margin-left:auto;padding:0;color:var(--ink);text-decoration:none;border-bottom-color:transparent}
@media(min-width:900px){.jx-bar{padding:0 clamp(24px,3vw,48px)}}

/* chapter card (shared) */
.jx-card{--hdr:light;position:relative;background:var(--jbg);color:var(--jfg);scroll-snap-align:start;scroll-snap-stop:always}
.jx-card.out{display:none}
.jx-card>a{position:relative;display:flex;flex-direction:column;height:100lvh;min-height:540px;padding-top:calc(var(--jh) + var(--jbar));color:inherit}
.jx-ph{flex:none;margin:0;overflow:hidden;background:var(--ink)}
.jx-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.jx-n{font:italic 400 18px/1 var(--serif);color:var(--jmu);display:flex;align-items:baseline;gap:8px;pointer-events:none}
.jx-n b{font-weight:400}.jx-n s{text-decoration:none;font-size:.5em;letter-spacing:.04em}
.jx-tx{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
.jx-tx .lab{color:var(--jmu)}
.jx-tx h2{font:400 clamp(30px,3.5vw,58px)/1.04 var(--serif);letter-spacing:-.01em;text-wrap:balance;margin-top:12px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.jx-tx p{margin-top:16px;color:var(--jmu);max-width:46ch;font-size:clamp(15.5px,1.15vw,18px);line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.jx-go{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(18px,3vh,34px);padding-bottom:6px;border-bottom:1px solid currentColor;font:600 14px/1 var(--sans);letter-spacing:.02em;width:max-content}
.jx-card a:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.jx-card a:hover .jx-ph img{transform:scale(1.03)}
.jx-rail{display:none}
/* bow on the frame edge: the photo's rendered width is max(frame width, frame height x aspect); slide it so the bow sits 2% in from the edge, clamped to the photo */
.jx-ph{container-type:size}
.jx-ph img{--rw:max(100cqw,calc(100cqh * var(--ar,1.5)))}
.jx-ph img[data-bow=l]{object-position:clamp(calc(100cqw - var(--rw)),calc(2cqw - var(--rw) * var(--bx)),0px) 50%}
.jx-ph img[data-bow=r]{object-position:clamp(calc(100cqw - var(--rw)),calc(98cqw - var(--rw) * var(--bx)),0px) 50%}
.jx-ph img[data-flip]{transform:scaleX(-1)}
.jx-card a:hover .jx-ph img[data-flip]{transform:scale(-1.03,1.03)}

/* post body */
.jx-body,.jx-more{scroll-snap-align:start}
.jx-progress{background:var(--ink);height:2px;z-index:72}
.jx-post .jx-body{padding-top:clamp(48px,7vw,96px)}

/* ---------- PHONE: the photo keeps a landscape frame (4:3) under the bar, text below — no tall crops ---------- */
@media(max-width:760px){
  .jx-hero,.jx-cover{padding-bottom:var(--safebottom)}
  .jx-hero .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:calc(var(--gut)*-1);margin-right:calc(var(--gut)*-1);padding:0 var(--gut)}
  .jx-hero .chips::-webkit-scrollbar{display:none}
  .jx-hero .chips button,.jx-hero .chips a{flex:none}
  .jx-hero .chips button,.jx-hero .chips a{min-height:38px;padding:0 14px;font-size:12px;letter-spacing:.04em}
  .jx-hero .chips small{padding-left:7px}
  .jx-ph{width:100%;flex:1 1 auto;min-height:0}   /* photo takes all the height the text leaves; the bow rule keeps the boat in */
  .jx-n{position:absolute;z-index:1;top:calc(var(--jh) + var(--jbar) + 12px);right:var(--gut);color:#fff;font-size:28px;text-shadow:0 1px 14px oklch(0 0 0/.55)}
  .jx-n s{color:rgba(255,255,255,.8)}
  .jx-tx{flex:none;justify-content:flex-start;padding:clamp(20px,3vh,28px) var(--gut) var(--safebottom)}
  .jx-tx h2{font-size:clamp(27px,7.8vw,36px);-webkit-line-clamp:4}
  .jx-tx p{-webkit-line-clamp:3;font-size:15.5px;margin-top:12px}
  html.ios26 .jx-hero,html.ios26 .jx-cover,html.ios26 .jx-card>a{min-height:calc(100lvh + var(--skirt))}
  html.ios26 .jx-card>a{height:calc(100lvh + var(--skirt))}
  html.ios26 .jx-tx{padding-bottom:calc(var(--skirt) + 28px)}
}
@media(max-width:760px) and (max-height:700px){.jx-tx p{display:none}}

/* ---------- TABLET: magazine page, photo close to its own 3:2 shape, big chapter number on the photo ---------- */
@media(min-width:761px) and (max-width:1099px){
  .jx-ph{width:100%;height:min(54lvh,66.6vw)}
  .jx-n{position:absolute;top:calc(var(--jh) + var(--jbar) + min(54lvh,66.6vw) - 78px);right:var(--gut);color:#fff;font-size:64px;text-shadow:0 2px 20px oklch(0 0 0/.35)}
  .jx-n s{color:rgba(255,255,255,.8)}
  .jx-tx{padding:clamp(24px,3.6vh,48px) var(--gut)}
  .jx-tx h2{font-size:clamp(34px,5vw,50px);max-width:20ch;-webkit-line-clamp:3}
  .jx-tx p{-webkit-line-clamp:3;font-size:17px}
}

/* ---------- DESKTOP: split screen, sides alternate, scrub rail on the right ---------- */
@media(min-width:1100px){
  .jx-card>a{display:grid;grid-template-columns:7fr 5fr;grid-template-areas:"ph tx";padding-top:0;min-height:640px}
  .jx-card.alt>a{grid-template-columns:5fr 7fr;grid-template-areas:"tx ph"}
  .jx-ph{grid-area:ph;height:100%}
  .jx-tx{grid-area:tx;padding:calc(var(--jh) + var(--jbar) + 48px) clamp(72px,6vw,128px) 64px clamp(40px,5vw,104px)}
  .jx-n{grid-area:tx;align-self:start;margin:calc(var(--jh) + var(--jbar) + 32px) clamp(40px,5vw,104px) 0;font-size:clamp(64px,6.4vw,112px);line-height:.9}
  .jx-n b{color:transparent;-webkit-text-stroke:1px var(--jmu)}
  .jx-tx h2{font-size:clamp(36px,3.3vw,56px)}
  .jx-cover>.wrap{display:grid;grid-template-columns:1fr auto;column-gap:48px;align-items:end}
  .jx-cover>.wrap>*{grid-column:1}
  .jx-cover .jx-meta{grid-column:2;grid-row:1/4;margin:0;flex-direction:column;align-items:flex-end}

  /* the rail: one tick per article; click a tick or drag along the track to fly through the list, hover shows the title */
  .jx-rail{display:flex;flex-direction:column;align-items:center;gap:10px;position:fixed;right:clamp(12px,1.4vw,24px);top:calc(var(--jh) + var(--jbar) + 28px);bottom:28px;z-index:70;opacity:0;pointer-events:none;transition:opacity .35s;user-select:none}
  html.jx-in .jx-rail{opacity:1;pointer-events:auto}
  .jx-rail-n{font:600 11px/1 var(--sans);letter-spacing:.1em;padding:7px 9px;border-radius:999px;background:var(--ink);color:#fff;white-space:nowrap;box-shadow:0 0 0 1px oklch(1 0 0/.18)}
  .jx-rail-t{flex:1;min-height:0;width:40px;display:flex;flex-direction:column;justify-content:space-between;padding:12px 0;border-radius:999px;background:oklch(0.17 0.006 250/.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:ns-resize;touch-action:none}
  .jx-rail-t button{position:relative;flex:1;max-height:26px;min-height:5px;width:100%;padding:0;border:0;background:none;cursor:pointer}
  .jx-rail-t button[hidden]{display:none}
  .jx-rail-t button:before{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;border-radius:2px;background:rgba(255,255,255,.62);transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s}
  .jx-rail-t button:hover:before{width:18px;background:#fff}
  .jx-rail-t button.on:before{width:24px;height:3px;background:#fff}
  .jx-rail-t button span{position:absolute;right:52px;top:50%;transform:translateY(-50%);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;background:var(--ink);color:#fff;font:500 13px/1.2 var(--sans);opacity:0;pointer-events:none;transition:opacity .15s}
  .jx-rail-t button:hover span,.jx-rail-t button:focus-visible span,.jx-rail.drag button.on span{opacity:1}
}

/* scroll-driven motion where the browser supports it (Chrome/Edge, Safari 26): the photo settles and the text rises as a chapter lands */
@supports (animation-timeline:view()){
  .jx-ph img{animation:jxzoom linear both;animation-timeline:view();animation-range:entry 0% contain 0%}
  .jx-tx>*,.jx-n{animation:jxin linear both;animation-timeline:view();animation-range:entry 35% contain 0%}
  .jx-tx>h2{animation-range:entry 45% contain 5%}
  .jx-tx>p,.jx-tx>.jx-go{animation-range:entry 55% contain 10%}
  .jx-hero .jx-bg img,.jx-cover .jx-bg img{animation:jxdrift linear both;animation-timeline:scroll(root);animation-range:0 100lvh}
}
@keyframes jxzoom{from{transform:scale(1.16)}to{transform:scale(1)}}
@keyframes jxin{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:none}}
@keyframes jxdrift{to{transform:translateY(18%) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.jx-ph img,.jx-tx>*,.jx-n,.jx-bg img,.jx-cue i{animation:none!important}}

/* ---------------------------------------------------------------- 404 (build.py not_found) */
.nf{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:var(--on)}
.nf-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.nf:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,12,14,.88),rgba(10,12,14,.32) 58%,rgba(10,12,14,.3)),linear-gradient(to right,rgba(10,12,14,.5),transparent 70%)}
.nf-num{position:absolute;z-index:1;right:var(--gut);top:50%;transform:translateY(-62%);font:300 clamp(160px,27vw,420px)/.8 var(--serif);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.4);pointer-events:none;user-select:none}
.nf-in{position:relative;z-index:2;width:100%;padding-top:140px;padding-bottom:clamp(40px,6vw,88px)}
.nf .lab{color:rgba(255,255,255,.74)}
.nf h1{font:400 clamp(40px,5.4vw,80px)/1.04 var(--serif);letter-spacing:-.015em;margin-top:14px;max-width:13ch;text-wrap:balance;color:#fff}
.nf h1 em{font-style:italic}
.nf .lede{margin-top:20px;max-width:50ch;color:rgba(255,255,255,.86);font-size:clamp(16px,1.25vw,18px)}
.nf-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.nf-cta .btn{background:#fff;color:var(--ink)}
.nf-cta .btn:hover{background:rgba(255,255,255,.86)}
.nf-cta .btn.line{background:none;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.nf-cta .btn.line:hover{background:#fff;color:var(--ink)}
.nf-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin-top:clamp(40px,7vh,80px);padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}
.nf-quick .lab{margin-right:4px}
.nf-quick a{font:500 15px/1 var(--sans);color:#fff;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .25s}
.nf-quick a:hover{border-color:#fff}
.nf-yachts{padding:clamp(56px,8vw,112px) 0}
.nf-yh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 24px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,40px)}
.nf-yh h2{font:400 clamp(30px,3.6vw,52px)/1.08 var(--serif);letter-spacing:-.01em;margin-top:10px}
.nf-yh h2 em{font-style:italic}
.nf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px)}
.nf-card{display:block;background:var(--card)}
.nf-ph{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--rule)}
.nf-ph picture{display:block;height:100%}
.nf-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.nf-card:hover .nf-ph img{transform:scale(1.04)}
.nf-ct{display:block;padding:18px 20px 22px}
.nf-n{display:block;font:500 19px/1.2 var(--sans);letter-spacing:-.01em}
.nf-p{display:block;margin-top:8px;font:600 15px/1.2 var(--sans)}
.nf-s{display:block;margin-top:6px;font-size:14px;line-height:1.4;color:var(--mu)}
.nf-ask{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:clamp(32px,4vw,56px);padding-top:24px;border-top:1px solid var(--rule)}
.nf-ask p{max-width:52ch;color:var(--ink-2)}
@media(max-width:900px){.nf-grid{grid-template-columns:1fr 1fr}.nf-grid .nf-card:nth-child(3){display:none}}
@media(max-width:600px){
  .nf-in{padding-bottom:var(--safebottom)}
  .nf-num{top:92px;right:var(--gut);transform:none;font-size:42vw}
  .nf-cta .btn{flex:1 1 100%;justify-content:space-between}
  .nf-quick{gap:4px 20px}
  .nf-quick .lab{flex-basis:100%;margin-bottom:4px}
  .nf-grid{grid-template-columns:1fr}
  .nf-ask .btn{width:100%;justify-content:space-between}
}

/* track record: sales in the press */
.press{background:var(--bg);padding:clamp(28px,4vh,56px) 0 clamp(40px,5vw,72px)}
.press h2{margin-top:12px}
.pressgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.2vw,36px) clamp(18px,2vw,30px);margin-top:clamp(24px,3vw,40px)}
.presscard{color:var(--ink)}
.press-ph{display:block;aspect-ratio:3/2;max-width:100%;background:var(--ink);overflow:hidden;margin-bottom:14px}
.press-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.presscard:hover .press-ph img{transform:scale(1.03)}
.presscard h3{font:500 clamp(20px,1.7vw,26px)/1.2 var(--sans);letter-spacing:-.01em;margin:10px 0 0}
.presscard h3 a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.presscard h3 a:hover{color:var(--ink-2)}
@media(max-width:760px){.pressgrid{grid-template-columns:1fr}}
