@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/Satoshi-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Providence Sans';src:url('fonts/Providence-Sans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --navy:#0E3A5C;--navy-2:#0A3254;--deep:#04101A;--abyss:#030E17;
  --sand:#D3B48F;--sand-l:#E9DCC9;--gold:#FEBE5C;--bronze:#8A6440;--stone:#A89F9C;
  --paper:#F6F2EC;--paper-2:#EDE6DC;--beige:#EFE6D7;--ink:#0B1D2B;--muted:#4E5B66;--ph:#5E676D;
  --line:rgba(14,58,92,.18);--line-l:rgba(255,255,255,.3);--scale:1;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:#1B2024;color:var(--ink);font-family:'Satoshi',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block}
i{font-style:normal;color:var(--stone);margin:0 1.4mm}

/* viewer */
.toolbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:#121619;color:#E8E2D9;font-size:13px;border-bottom:1px solid #283036}
.tb-l{display:flex;align-items:center;gap:10px;min-width:0}.tb-l img{width:28px;filter:brightness(0) invert(1);opacity:.9}
.tb-l span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-r{display:flex;gap:6px}
.tb-r button{font:inherit;font-weight:500;color:#E8E2D9;background:transparent;border:1px solid #3A444C;border-radius:6px;padding:8px 12px;min-height:36px;cursor:pointer}
.tb-r button[aria-pressed="true"]{background:#E8E2D9;color:#121619;border-color:#E8E2D9}
.tb-r button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.book{display:grid;justify-content:center;padding:28px 16px 80px}
.book.single{grid-template-columns:calc(210mm * var(--scale));row-gap:24px}
.book.spread{grid-template-columns:repeat(2,calc(210mm * var(--scale)));row-gap:28px;column-gap:0}
.book.spread .page[data-n="1"]{grid-column:2}
.book .page{zoom:var(--scale)}
.book.spread .page:nth-child(even){box-shadow:-14px 12px 40px rgba(0,0,0,.35)}
.book.spread .page:nth-child(odd){box-shadow:14px 12px 40px rgba(0,0,0,.35)}
.book.single .page{box-shadow:0 10px 40px rgba(0,0,0,.35)}

/* page */
.page{position:relative;width:210mm;height:297mm;overflow:hidden;background:var(--paper)}
.page.dark{background:var(--deep);color:#fff}
.page.navy{background:linear-gradient(135deg,var(--navy-2) 0%,var(--abyss) 100%);color:#fff}
.page.beige{background:var(--beige)}
.page.sand{background:var(--sand-l)}
.pad{position:relative;padding:22mm 18mm 26mm}
.img{background-size:cover;background-repeat:no-repeat;background-color:var(--paper-2)}
.bleed{position:absolute;inset:0}
.fill{position:absolute;inset:0}
.sp-img{position:absolute;top:0;width:420mm;height:297mm;background-size:cover;background-repeat:no-repeat}
.sp-img.l{left:0}.sp-img.r{left:-210mm}
.hide{display:none}

/* overlays (smooth gradients) */
.sh-top{position:absolute;left:0;right:0;top:0;height:58%;background:linear-gradient(180deg,rgba(4,16,26,.72) 0%,rgba(4,16,26,.42) 45%,rgba(4,16,26,.12) 80%,rgba(4,16,26,0) 100%)}
.sh-bl,.sh-br{position:absolute;left:0;right:0;bottom:0;height:68%;background:linear-gradient(0deg,rgba(4,16,26,.86) 0%,rgba(4,16,26,.6) 38%,rgba(4,16,26,.2) 75%,rgba(4,16,26,0) 100%)}
.sh-tl{position:absolute;left:0;right:0;top:0;height:70%;background:linear-gradient(180deg,rgba(4,16,26,.8) 0%,rgba(4,16,26,.55) 40%,rgba(4,16,26,.18) 78%,rgba(4,16,26,0) 100%)}

/* type */
h1,h2,h3,h4{font-weight:500;letter-spacing:-.02em;line-height:1.02}
h2{font-size:30pt;color:var(--navy);margin-bottom:6mm}
h2.xl{font-size:42pt;letter-spacing:-.035em;line-height:.98}
h2.huge{font-size:84pt;letter-spacing:-.045em;line-height:1.02;margin-bottom:4mm;padding-bottom:1mm}
h2.light{color:#fff}
h3{font-size:12.5pt;color:var(--navy)}
.small-h{font-size:7.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin:9mm 0 3mm}
.eyebrow{font-size:7.5pt;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin-bottom:4mm}
.eyebrow.light{color:var(--sand)}
.script{font-family:'Providence Sans',cursive;font-size:17pt;color:var(--bronze);line-height:1.25}
.script.light{color:var(--sand)}
.script.big{font-size:32pt;margin-bottom:2mm}
.lead{font-size:11pt;line-height:1.55;color:var(--muted);max-width:150mm}
.lead.light{color:rgba(255,255,255,.9)}
.lead.narrow{max-width:118mm}
.body{font-size:9.3pt;line-height:1.6;color:var(--muted)}
.sdesc{font-size:8.5pt;line-height:1.55;color:var(--muted)}
.r-no{font-size:8pt;font-weight:700;color:var(--bronze);margin-bottom:1.5mm;letter-spacing:.04em}
.r-lbl{display:block;font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:1.5mm}
.ph{color:var(--ph);border-bottom:1px dotted currentColor}
.ph.num{border:0;letter-spacing:.2em}
.dark .ph,.navy .ph{color:rgba(255,255,255,.78)}

/* captions (Kyoto-style labels) */
.cap{display:flex;justify-content:space-between;gap:4mm;font-size:6.8pt;letter-spacing:.06em;color:var(--muted);margin-top:2mm;text-transform:uppercase}
.cap .coord{color:var(--bronze);font-weight:700}
.cap.on-photo{position:absolute;color:#fff;margin:0;padding:1.6mm 2.6mm;border:1px solid rgba(255,255,255,.7);background:rgba(4,16,26,.35)}
.cap.on-photo .coord{color:var(--sand)}
.cap.br{right:14mm;bottom:14mm}.cap.bl{left:14mm;bottom:14mm}.cap.tr{right:14mm;top:14mm}

/* folio */
.folio{position:absolute;bottom:10mm;display:flex;gap:3mm;align-items:baseline;font-size:6.8pt;letter-spacing:.06em;color:var(--muted)}
.folio.l{left:18mm}.folio.r{right:18mm;flex-direction:row-reverse}
.folio b{color:var(--navy)}.folio.dark{color:rgba(255,255,255,.7)}.folio.dark b{color:#fff}

/* frames */
.frame{position:relative;overflow:hidden;margin:0}

/* 01 cover */
.cv-top{position:absolute;top:12mm;left:16mm;right:16mm;display:flex;justify-content:space-between;font-size:7.5pt;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--navy)}
.cv-title{position:absolute;left:0;right:0;top:110mm;text-align:center;color:var(--navy)}
.cv-rule{display:block;width:14mm;height:1px;background:var(--navy);margin:0 auto 4mm;opacity:.7}
.cv-name{font-size:12pt;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.cv-script{color:var(--navy);font-size:15pt;margin-top:2.5mm}
.cv-shade{position:absolute;left:0;right:0;bottom:0;height:16%;background:linear-gradient(0deg,rgba(4,16,26,.7) 0%,rgba(4,16,26,.3) 55%,rgba(4,16,26,0) 100%)}
.cv-foot{position:absolute;left:16mm;right:16mm;bottom:10mm;display:flex;justify-content:space-between;gap:6mm;font-size:7pt;letter-spacing:.1em;color:rgba(255,255,255,.92);text-transform:uppercase}
.cv-foot i{color:var(--sand)}

/* 02-03 welcome */
.wl-text{position:absolute;left:18mm;top:22mm;right:12mm}
.wl-lead{position:absolute;left:14mm;right:22mm;top:30mm}

/* 04 statement */
.statement{position:absolute;inset:0;padding:24mm 18mm 26mm;display:flex;flex-direction:column}
.big-quote{font-size:38pt;font-weight:500;line-height:1.06;letter-spacing:-.03em;color:#fff;margin-top:4mm}
.st-foot{margin-top:auto;display:grid;grid-template-columns:34mm 1fr;gap:8mm;align-items:end;padding-top:8mm;border-top:1px solid var(--line-l)}
.st-foot img{width:34mm}
.st-foot p{font-size:9.5pt;line-height:1.6;color:rgba(255,255,255,.85)}

/* 06 contents */
.toc{list-style:none;margin-top:4mm;border-top:1px solid var(--navy);width:100%}
.toc li{display:grid;grid-template-columns:10mm 1fr 10mm;align-items:baseline;padding:2.25mm 0;border-bottom:1px solid var(--line);font-size:9.6pt}
.t-no{font-size:7.5pt;font-weight:700;color:var(--bronze)}.t-name{color:var(--ink)}.t-pg{text-align:right;color:var(--navy);font-weight:700;font-size:8pt}
.toc-frame{position:absolute;right:18mm;top:22mm;width:52mm}
.toc-frame .fill{position:relative;inset:auto;height:66mm}
.page[data-n="6"] h2,.page[data-n="6"] .eyebrow{max-width:90mm}
.page[data-n="6"] .toc{margin-top:62mm}

/* 07 private */
.pp-photos{display:grid;grid-template-columns:1.6fr 1fr;gap:3mm;height:92mm;padding:0}
.pp-photos .img{height:92mm}
.pp-text{padding-top:12mm}
.cmp{margin-top:6mm;border-top:1px solid var(--navy)}
.cmp-row{display:grid;grid-template-columns:28mm 1fr 1fr;gap:5mm;padding:3.2mm 0;border-bottom:1px solid var(--line);font-size:8.5pt;line-height:1.45}
.cmp-row.head{font-size:7pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cmp-row.head .cmp-b{color:var(--navy)}
.cmp-k{font-weight:700;color:var(--navy)}.cmp-a{color:var(--muted)}.cmp-b{color:var(--ink);font-weight:500}

/* 08 map */
.map-wrap{position:absolute;inset:0;padding:16mm 14mm 14mm}
.map-head{position:absolute;left:18mm;top:20mm;z-index:2}
.map{position:absolute;left:12mm;top:58mm;width:186mm;height:210mm}
.land{fill:#F6EFE3;stroke:var(--navy);stroke-width:1.6;stroke-linejoin:round}
.route{fill:none;stroke:var(--bronze);stroke-width:3;stroke-dasharray:2 7;stroke-linecap:round;stroke-linejoin:round}
.route.n{stroke:var(--stone)}
.m-pin{fill:var(--navy)}
.m-no{fill:#fff;font:700 16px 'Satoshi'}
.m-dot{fill:var(--paper);stroke:var(--navy);stroke-width:2}
.m-lbl{fill:var(--navy);font:700 22px 'Satoshi';letter-spacing:.01em;paint-order:stroke;stroke:#F6EFE3;stroke-width:5px}
.m-lbl.s{font:500 17px 'Satoshi';fill:var(--muted)}
.m-sea{fill:var(--stone);font:400 italic 18px 'Satoshi';letter-spacing:.12em}
.m-isl{fill:var(--bronze);font:700 15px 'Satoshi';letter-spacing:.24em;text-transform:uppercase}
.map-legend{position:absolute;left:18mm;bottom:13mm;display:flex;align-items:center;gap:2.5mm;font-size:7pt;color:var(--muted)}
.lg-route{display:inline-block;width:10mm;border-top:2px dotted var(--bronze)}
.lg-note{margin-left:5mm}

/* 09 regions */
.regs{display:grid;grid-template-columns:1fr 1fr;gap:5mm 7mm;margin-top:7mm}
.reg{display:grid;grid-template-columns:30mm 1fr;gap:4mm;align-items:start}
.r-img{height:30mm}
.reg h3{font-size:11pt;margin-bottom:1.2mm}
.reg .sdesc{font-size:7.9pt}

/* 10 year */
.year{margin-top:6mm;border-top:1px solid var(--navy)}
.mrow{display:grid;grid-template-columns:8mm 24mm 28mm 1fr;gap:3mm;align-items:baseline;padding:3.3mm 0;border-bottom:1px solid var(--line)}
.m-no{font-size:7.5pt;font-weight:700;color:var(--bronze)}
.m-name{font-size:10.5pt;font-weight:500;color:var(--navy)}
.m-tags{display:flex;gap:1.5mm;flex-wrap:wrap}
.stag{font-size:6.3pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding-bottom:.6mm;border-bottom:1.5px solid}
.s-summer{color:#8A6440;border-color:#FEBE5C}.s-autumn{color:#8A6440;border-color:#A87A57}.s-early{color:#4E5B66;border-color:#A89F9C}
.s-winter{color:#0E3A5C;border-color:#0E3A5C}.s-spring{color:#4E5B66;border-color:#D3B48F}
.m-ideas{font-size:8.1pt;line-height:1.4}
.legend{display:grid;grid-template-columns:1fr 1fr;gap:7mm;margin-top:7mm;font-size:8pt;line-height:1.5;color:var(--muted)}
.legend b{display:block;color:var(--navy);margin-bottom:1mm}

/* 11 seasons */
.sn-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:96mm 1fr 1fr;gap:6mm 6mm;height:297mm;padding-top:18mm;padding-bottom:24mm}
.sn{display:flex;flex-direction:column;min-height:0}
.sn0{grid-column:1/3}
.sn0 .sn-img{height:66mm}
.sn-img{flex:1;min-height:0}
.sn:not(.sn0) .sn-img{height:auto}
.sn-body{padding-top:2.6mm}
.sn-head{display:flex;justify-content:space-between;align-items:baseline;gap:3mm}
.sn-head h3{font-size:14pt}
.sn-head span{font-size:6.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.sn-mo{font-size:7.5pt;font-weight:700;letter-spacing:.06em;color:var(--navy);margin:1mm 0 1.2mm}
.sn .sdesc{font-size:8pt}

/* 12-13 travel style */
.ts-head{position:absolute;left:18mm;top:22mm}
.stys{display:grid;gap:5.5mm;margin-top:8mm}
.sty{display:grid;grid-template-columns:62mm 1fr;gap:6mm;align-items:start;padding-bottom:5.5mm;border-bottom:1px solid var(--line)}
.sty:last-child{border-bottom:0}
.sty-img{height:44mm}
.sty h3{font-size:14pt;margin-bottom:2mm}
.fit{font-size:8pt;line-height:1.45;color:var(--ink);margin-top:2.5mm;padding-top:2.5mm;border-top:1px solid var(--line)}
.fit span{display:block;font-size:6.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);margin-bottom:.8mm}

/* 14 custom */
.list{list-style:none;font-size:9.5pt;line-height:1.5}
.list li{position:relative;padding:2.4mm 0 2.4mm 6mm;border-bottom:1px solid var(--line)}
.list li::before{content:"";position:absolute;left:0;top:4.7mm;width:3mm;height:1px;background:var(--bronze)}

.deposit{margin-top:8mm;border-top:1px solid var(--navy);padding-top:5mm;display:grid;grid-template-columns:52mm 1fr;gap:6mm;align-items:end}
.dep-amt{font-size:24pt;font-weight:500;color:var(--navy);letter-spacing:-.02em}
.dep-lbl{font-size:7pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:1mm}
.dep-note{font-size:8.5pt;line-height:1.55;color:var(--muted)}
.cu-kea{position:absolute;right:0;bottom:0;width:62mm;height:112mm}
.cu-cap{position:absolute;right:66mm;bottom:12mm;width:40mm;display:block;text-align:right}

/* 15 plan */
.top-photo{height:132mm}
.below{padding-top:12mm}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:6mm 10mm;margin-top:4mm}
.step{border-top:1px solid var(--navy);padding-top:4mm}
.st-no{display:block;font-size:8pt;font-weight:700;color:var(--bronze);margin-bottom:2mm}
.step h3{margin-bottom:2mm}

/* dividers */
.dv-text{position:absolute;left:18mm;right:14mm}
.dv-text.bl{bottom:24mm}
.dv-text.tl{top:22mm}
.dv-months{font-size:8.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:5mm}
.dv-text .script{margin-bottom:4mm}

/* package pages */
.ft-photo{height:118mm}
.ft.below{padding-top:10mm}
.pk-title{font-size:26pt;margin-bottom:2.5mm}
.route{font-size:8.6pt;line-height:1.6;color:var(--ink);padding-bottom:3.5mm;border-bottom:1px solid var(--line);margin-bottom:5mm}
.route .r-lbl{display:inline;margin-right:2.5mm}
.route.sm{border:0;padding:0;margin:1.5mm 0 0;font-size:7.8pt}
.ft-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:9mm}
.itin{margin-top:5mm}
.it-row{display:grid;grid-template-columns:13mm 1fr;column-gap:3mm;padding:2.3mm 0;border-top:1px solid var(--line);font-size:8pt;line-height:1.4}
.it-day{font-weight:700;color:var(--navy);grid-row:span 2}
.it-note{color:var(--muted);font-size:7.6pt}
.glance{border-top:1px solid var(--navy)}
.g-row{display:flex;justify-content:space-between;gap:4mm;padding:2.3mm 0;border-bottom:1px solid var(--line);font-size:8pt}
.g-row span:first-child{font-size:6.6pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:.4mm}
.g-row span:last-child{text-align:right;color:var(--ink)}
.price{display:flex;flex-direction:column;gap:2mm}
.price .p-lbl{display:block;font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.price .p-val{font-size:20pt;font-weight:500;color:var(--navy);letter-spacing:-.01em}
.price .p-unit{font-size:8pt;color:var(--muted);margin-left:1mm}
.price.lg{margin:5mm 0 3mm}
.price.sm .p-val{font-size:12.5pt}
.pr-alt{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:2mm}
.p-v2{font-size:10pt;color:var(--navy);font-weight:500}
.price.sm .pr-alt{gap:3mm}
.incl{font-size:7.8pt;line-height:1.5;color:var(--muted);margin-top:1.2mm}
.incl b{color:var(--navy);margin-right:1.5mm}
.cards{display:flex;flex-direction:column;gap:7mm;height:297mm}
.cards .eyebrow{margin-bottom:0}
.pk-card{display:flex;flex-direction:column;flex:1;min-height:0}
.pc-img{flex:1;min-height:0}
.pc-body{display:grid;grid-template-columns:1fr 44mm;gap:7mm;padding-top:4mm}
.pk-no{font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin-bottom:1.5mm}
.pc-l h3{font-size:14pt;margin-bottom:1.5mm}
.meta{font-size:7.8pt;color:var(--muted);margin-bottom:1.5mm}
.pc-r .price{border-top:1px solid var(--navy);padding-top:2mm}
.minis{position:absolute;left:18mm;right:18mm;bottom:22mm;border-top:1px solid var(--navy);padding-top:4mm}
.mini{display:grid;grid-template-columns:24mm 1fr 40mm;gap:5mm;align-items:center;padding:2.6mm 0;border-bottom:1px solid var(--line)}
.mini-img{height:18mm}
.mini h3{font-size:11pt;margin-bottom:1mm}
.mini .meta{margin:0}
.mini .price{align-items:flex-end;text-align:right}
.ay{margin-top:6mm;border-top:1px solid var(--navy)}
.ay-row{display:grid;grid-template-columns:8mm 44mm 1fr 36mm;gap:5mm;align-items:center;padding:5mm 0;border-bottom:1px solid var(--line)}
.ay-no{font-size:8pt;font-weight:700;color:var(--bronze)}
.ay-img{height:34mm}
.ay-body h3{font-size:12.5pt;margin-bottom:1.5mm}
.ay-row .price{align-items:flex-end;text-align:right}

/* experiences */
.ex-big{display:grid;grid-template-columns:1fr;margin-top:7mm}
.ex-big .frame{height:80mm}
.ex-txt{display:grid;grid-template-columns:10mm 50mm 1fr;gap:3mm;align-items:baseline;padding-top:3mm}
.ex-two{display:grid;grid-template-columns:1fr 1fr;gap:7mm;margin-top:7mm}
.ex-two .frame{height:46mm;margin-bottom:3mm}
.ex-two h3{margin-bottom:1.5mm}
.ex-rows{display:grid;gap:6mm}
.ex-row{display:grid;grid-template-columns:86mm 1fr;gap:6mm;align-items:center}
.exr-img{height:58mm}
.ex-row h3{font-size:14pt;margin-bottom:2mm}
.addons{margin-top:7mm;border-top:1px solid var(--navy)}
.addon-list{font-size:8.8pt;line-height:1.85}

/* journeys */
.col-a{margin-top:6mm}
.col-a .frame{height:112mm}
.quote{margin-top:9mm;border-top:1px solid var(--navy);padding-top:6mm}
.quote p{font-size:14pt;line-height:1.4;color:var(--navy);letter-spacing:-.01em}
.quote cite{display:block;font-style:normal;font-size:8pt;margin-top:3mm;color:var(--muted)}
.collage{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:78mm 1fr 62mm;gap:3mm;padding:16mm 16mm 16mm 12mm}
.c2{grid-column:1/3;grid-row:1}.c1{grid-column:1;grid-row:2}.c4{grid-column:2;grid-row:2}.c3{grid-column:1;grid-row:3}.c5{grid-column:2;grid-row:3}
.collage .c6{display:none}
/* budget & terms */
.read-price{display:grid;grid-template-columns:56mm 1fr;gap:9mm;align-items:start;margin-top:8mm;padding:6mm 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--line)}
.read-price .price.lg{margin:0}
.rp-notes{list-style:none;font-size:8.5pt;line-height:1.5;color:var(--muted);display:grid;gap:2.4mm}
.rp-notes b{color:var(--ink)}
.factors{display:grid;grid-template-columns:1fr 1fr;gap:0 8mm}
.factor{display:grid;grid-template-columns:8mm 1fr;gap:2mm;padding:3.4mm 0;border-bottom:1px solid var(--line);font-size:8.2pt;line-height:1.45;color:var(--muted)}
.factor b{display:block;color:var(--navy)}
.f-no{font-weight:700;color:var(--bronze);font-size:8pt}
.comps{display:grid;gap:3.4mm}
.comp{display:grid;grid-template-columns:48mm 1fr 14mm;gap:4mm;align-items:center;font-size:8.3pt}
.comp .bar{height:1px;background:var(--line)}
.comp .ph{text-align:right;border:0}
.terms{display:grid;grid-template-columns:1fr 1fr;gap:0 10mm;margin-top:7mm;border-top:1px solid var(--navy)}
.term{padding:7mm 0;border-bottom:1px solid var(--line)}
.term h4{display:flex;gap:3mm;align-items:baseline;font-size:8pt;font-weight:700;color:var(--bronze);margin-bottom:2mm}
.term h4 span{font-size:10.5pt;font-weight:500;color:var(--navy)}
.term p{font-size:8.3pt;line-height:1.5}

/* contact */
.ct-text{position:absolute;left:18mm;right:14mm;top:24mm}
.ct-card{position:absolute;left:14mm;right:18mm;bottom:24mm;display:grid;grid-template-columns:42mm 1fr;gap:8mm;padding:7mm;border:1px solid rgba(255,255,255,.55);background:rgba(4,16,26,.5)}
.qr{width:42mm;height:42mm;border:1px dashed rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.c-info{display:grid;grid-template-columns:22mm 1fr;gap:2.6mm 4mm;align-content:center}
.c-lbl{font-size:6.8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);padding-top:.6mm}
.c-val{font-size:10pt;color:#fff}

/* back */
.back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.back-logo{width:52mm;margin-bottom:9mm}
.back-foot{position:absolute;bottom:16mm;left:18mm;right:18mm;font-size:7.5pt;line-height:1.8;letter-spacing:.04em;color:rgba(255,255,255,.78)}
.back-foot i{color:var(--sand)}

/* print */
@page{size:A4;margin:0}
@media print{
  body{background:none}.toolbar{display:none}
  .book,.book.spread,.book.single{display:block;padding:0}
  .book .page{zoom:1;box-shadow:none!important;break-after:page}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media (max-width:560px){.tb-l span{display:none}}

.strip{position:absolute;left:18mm;right:18mm;top:146mm;display:grid;grid-template-columns:1.4fr 1fr;gap:4mm;height:56mm}
.st-item{position:relative}.st-img{position:absolute;inset:0}
.tm-photo{position:absolute;left:0;right:0;bottom:0;height:72mm}
.page[data-n="41"] .folio{color:#fff}.page[data-n="41"] .folio b{color:#fff}
.m-lead{stroke:var(--navy);stroke-width:1.5}

/* v3 */
.grad-fallback{background:linear-gradient(135deg,#0A3254 0%,#030E17 100%)}
.cv-title{top:112mm}
.cv-kicker{display:flex;align-items:center;justify-content:center;gap:4mm;font-size:9pt;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--navy);padding-left:.34em}
.cv-line{display:block;width:12mm;height:1px;background:var(--navy);opacity:.6}
.cv-year{font-size:40pt;font-weight:400;letter-spacing:.12em;line-height:1;color:var(--navy);margin:2mm 0 1mm;padding-left:.12em}
.cv-script{color:var(--bronze);font-size:15pt;margin-top:1mm}
.cv-name,.cv-rule{display:none}
.pp-text{padding-top:24mm}
.pp-bottom{position:absolute;left:0;right:0;bottom:0;height:88mm}
.page[data-n="7"] .folio{color:#fff}.page[data-n="7"] .folio b{color:#fff}
.reg{grid-template-columns:36mm 1fr}
.r-img{height:27mm}
.sn:not(.sn0) .sn-img{flex:none;height:48mm}
.sn:not(.sn0) .sn-body{flex:1}
.ts-glow{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.5) 22%,rgba(255,255,255,.18) 42%,rgba(255,255,255,0) 60%)}
.cu-photo{position:absolute;left:0;right:0;bottom:0;height:74mm}
.cu-cap{right:14mm;bottom:14mm}
.page[data-n="14"] .folio{color:#fff}.page[data-n="14"] .folio b{color:#fff}
.page[data-n="14"] .pad{padding-top:20mm}
.page[data-n="14"] .deposit{margin-top:6mm}
.dv-free{position:absolute;font-family:'Providence Sans',cursive;font-size:34pt;line-height:1.1;white-space:nowrap;text-shadow:0 1px 14px rgba(4,16,26,.35);transform-origin:left center}
.ct-card{background:rgba(4,16,26,.88);border:1px solid rgba(211,180,143,.6);padding:8mm;grid-template-columns:46mm 1fr;gap:8mm;bottom:22mm}
.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:2.5mm}
.qr{width:46mm;height:46mm;background:#fff;border:0;padding:3.5mm}
.qr img{width:100%;height:100%}
.qr-cap{font-size:6.8pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sand);text-align:center}
.c-info{grid-template-columns:24mm 1fr;gap:3.6mm 4mm}
.c-lbl{font-size:7.2pt}
.c-val{font-size:11.5pt}
.c-val.big{font-size:15pt;font-weight:500}
.c-val a,.bc-v a{color:#fff;text-decoration:none;border-bottom:1px solid var(--sand)}
.back-frame{position:absolute;inset:9mm;border:1px solid rgba(211,180,143,.4)}
.back{justify-content:flex-start;padding-top:60mm}
.back-kicker{font-size:7.5pt;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--sand);margin-bottom:16mm;padding-left:.32em}
.back-logo{width:62mm;margin-bottom:8mm}
.back-script{color:var(--sand);font-size:18pt}
.back-desc{font-size:9.5pt;line-height:1.6;color:rgba(255,255,255,.82);max-width:100mm;margin-top:5mm}
.back-contact{position:absolute;left:20mm;right:20mm;bottom:30mm;display:grid;grid-template-columns:1fr 30mm;gap:8mm;align-items:center;padding-top:7mm;border-top:1px solid rgba(211,180,143,.4);text-align:left}
.bc-cols{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:5mm}
.bc-v{font-size:9.5pt;color:#fff;margin-top:1.4mm}
.bc-qr{width:30mm;height:30mm;background:#fff;padding:2.5mm}
.bc-qr img{width:100%;height:100%}
.back-legal{position:absolute;left:20mm;right:20mm;bottom:17mm;font-size:7pt;letter-spacing:.06em;color:rgba(255,255,255,.65)}
.back-legal i{color:var(--sand)}
.back-foot{display:none}

/* v4 cover */
.cv-mast{position:absolute;left:0;right:0;top:22mm;text-align:center}
.cv-mast-t{display:inline-block;font-size:14pt;font-weight:700;letter-spacing:.5em;text-transform:uppercase;color:var(--navy);padding:0 0 0 .5em}
.cv-tag{position:absolute;left:16mm;bottom:21mm;font-family:'Providence Sans',cursive;font-size:19pt;line-height:1.15;color:#F3E6D2;text-shadow:0 1px 10px rgba(4,16,26,.5)}
.cv-shade{height:24%}
.cv-title{display:none}
/* v4 freestyle */
.dv-free{font-size:36pt;line-height:1.08;text-align:right;transform-origin:right center}
/* v4 collage */
.collage{grid-template-rows:100mm 1fr 58mm}
/* v4 contact card */
.ct-card{position:absolute;left:auto;right:16mm;bottom:20mm;width:132mm;display:block;background:#F6F2EC;color:var(--ink);border:0;padding:10mm 10mm 8mm;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.ct-card::before{content:"";position:absolute;inset:3mm;border:1px solid rgba(138,100,64,.45);pointer-events:none}
.cc-mark{position:absolute;right:10mm;top:9mm;width:16mm;opacity:.9}
.cc-kicker{font-size:7pt;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze)}
.cc-script{font-family:'Providence Sans',cursive;font-size:17pt;color:var(--navy);margin:3mm 0 6mm;max-width:90mm;line-height:1.2}
.cc-body{display:grid;grid-template-columns:38mm 1fr;gap:8mm;align-items:center;padding-top:6mm;border-top:1px solid rgba(14,58,92,.25)}
.cc-qr{position:relative;width:38mm;height:38mm;padding:3.5mm}
.cc-qr img{width:100%;height:100%}
.qc{position:absolute;width:5mm;height:5mm;border:0 solid var(--bronze)}
.qc.tl{top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.qc.tr{top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}
.qc.bl{bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.qc.br{bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}
.cc-lbl{font-size:6.8pt;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cc-wa{font-size:19pt;font-weight:500;letter-spacing:-.01em;color:var(--navy);margin:1mm 0 4mm}
.cc-wa a{color:inherit;text-decoration:none}
.cc-rows p{display:grid;grid-template-columns:19mm 1fr;font-size:8.6pt;color:var(--ink);padding:1.7mm 0;border-top:1px solid rgba(14,58,92,.15)}
.cc-rows span{font-size:6.5pt;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);padding-top:.5mm}
.cc-foot{font-size:7.3pt;color:var(--muted);margin-top:5mm;letter-spacing:.02em}
/* v4 back cover */
.back-frame,.back{display:none}
.bk{position:absolute;inset:0;color:#fff;text-align:center}
.bk-top{position:absolute;top:16mm;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:4mm;font-size:7pt;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.bk-dot{width:1.2mm;height:1.2mm;border-radius:50%;background:var(--sand)}
.bk-script{position:absolute;top:56mm;left:0;right:0;font-family:'Providence Sans',cursive;font-size:30pt;line-height:1.2;color:var(--sand)}
.bk-logo{position:absolute;top:104mm;left:50%;width:64mm;transform:translateX(-50%)}
.bk-line{position:absolute;top:182mm;left:20mm;right:20mm;font-size:7.2pt;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.bk-line i{color:var(--sand)}
.bk-contact{position:absolute;left:50%;bottom:34mm;transform:translateX(-50%);display:flex;align-items:center;gap:7mm;text-align:left}
.bk-qr{width:30mm;height:30mm;background:#F6F2EC;padding:2.6mm;outline:1px solid rgba(211,180,143,.6);outline-offset:2mm}
.bk-qr img{width:100%;height:100%}
.bk-lbl{font-size:6.8pt;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--sand)}
.bk-wa{font-size:17pt;font-weight:500;margin:1.5mm 0 1.5mm}
.bk-wa a{color:#fff;text-decoration:none}
.bk-sub{font-size:8.3pt;color:rgba(255,255,255,.8)}
.bk-sub i{color:var(--sand)}
.bk-legal{position:absolute;left:0;right:0;bottom:14mm;font-size:6.8pt;letter-spacing:.08em;color:rgba(255,255,255,.6)}
.bk-legal i{color:var(--sand)}

/* v5 doodle ornaments */
.dz{position:absolute;transform-origin:center}
.dz-svg{position:absolute;inset:0;overflow:visible}
.dz-t{position:absolute;font-family:'Providence Sans',cursive;line-height:1.1;margin:0}

/* v5 page 04 light background */
.page.lightbg .big-quote{color:var(--navy)}
.page.lightbg .st-foot{border-top-color:rgba(14,58,92,.25)}
.page.lightbg .st-foot p{color:var(--muted)}

/* v7 back cover light */
.bk2{position:absolute;inset:0}
.bk2-top{position:absolute;top:12mm;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:4mm;font-size:7pt;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--navy)}
.bk2-arch{position:absolute;left:50%;top:22mm;width:100mm;height:92mm;transform:translateX(-50%);border-radius:50mm 50mm 0 0;overflow:hidden}
.bk2 .ct-card{left:50%;right:auto;top:124mm;bottom:auto;transform:translateX(-50%);width:146mm;background:#FFFFFF;box-shadow:0 10px 34px rgba(14,58,92,.12)}
.bk2-logo{position:absolute;left:50%;top:241mm;width:24mm;transform:translateX(-50%)}
.bk2-legal{position:absolute;left:0;right:0;bottom:12mm;text-align:center;font-size:6.8pt;letter-spacing:.08em;color:var(--muted)}
.bk2-legal i{color:var(--bronze)}

/* v8 back cover */
.bk3{position:absolute;inset:0;color:var(--navy)}
.bk3-top{position:absolute;top:14mm;right:16mm;display:flex;align-items:center;gap:3.5mm;font-size:7pt;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--navy)}
.bk3-script{position:absolute;left:58%;top:186mm;transform:translateX(-50%) rotate(-3deg);text-align:center;white-space:nowrap;font-family:'Providence Sans',cursive;font-size:22pt;line-height:1.2;color:var(--bronze)}
.bk3-foot{position:absolute;right:16mm;bottom:14mm;text-align:right}
.bk3-line{font-size:6.8pt;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
.bk3-web{font-size:9pt;color:var(--navy);margin-top:2.5mm}
.bk3-legal{font-size:6.6pt;letter-spacing:.06em;color:var(--muted);margin-top:2.5mm}
.bk3 i{color:var(--bronze)}

.cv-foot.bk-foot-light{color:var(--navy)}
.cv-foot.bk-foot-light i{color:var(--bronze)}
.icover{background-image:url('img/cover.jpg')}
.i0350{background-image:url('img/0350.jpg')}
.ibglight{background-image:url('img/bglight.jpg')}
.i0402{background-image:url('img/0402.jpg')}
.i0376{background-image:url('img/0376.jpg')}
.i0392{background-image:url('img/0392.jpg')}
.i0356{background-image:url('img/0356.jpg')}
.i0515{background-image:url('img/0515.jpg')}
.i0113{background-image:url('img/0113.jpg')}
.i0596{background-image:url('img/0596.jpg')}
.i0538{background-image:url('img/0538.jpg')}
.i0571{background-image:url('img/0571.jpg')}
.i0183{background-image:url('img/0183.jpg')}
.i0504{background-image:url('img/0504.jpg')}
.i0577{background-image:url('img/0577.jpg')}
.i1020{background-image:url('img/1020.jpg')}
.i0436{background-image:url('img/0436.jpg')}
.i1244{background-image:url('img/1244.jpg')}
.i0587{background-image:url('img/0587.jpg')}
.i0752{background-image:url('img/0752.jpg')}
.i0737{background-image:url('img/0737.jpg')}
.i0024{background-image:url('img/0024.jpg')}
.i1199{background-image:url('img/1199.jpg')}
.i0088{background-image:url('img/0088.jpg')}
.i0594{background-image:url('img/0594.jpg')}
.i0527{background-image:url('img/0527.jpg')}
.i0110{background-image:url('img/0110.jpg')}
.i0477{background-image:url('img/0477.jpg')}
.i0560{background-image:url('img/0560.jpg')}
.i1174{background-image:url('img/1174.jpg')}
.i0133{background-image:url('img/0133.jpg')}
.i0075{background-image:url('img/0075.jpg')}
.i0570{background-image:url('img/0570.jpg')}
.i0578{background-image:url('img/0578.jpg')}
.i0419{background-image:url('img/0419.jpg')}
.i0416{background-image:url('img/0416.jpg')}
.i0892{background-image:url('img/0892.jpg')}
.i0448{background-image:url('img/0448.jpg')}
.i0845{background-image:url('img/0845.jpg')}
.i0961{background-image:url('img/0961.jpg')}
.i0484{background-image:url('img/0484.jpg')}
.i0405{background-image:url('img/0405.jpg')}
.i0503{background-image:url('img/0503.jpg')}
.i0354{background-image:url('img/0354.jpg')}
.i0439{background-image:url('img/0439.jpg')}
.i0763{background-image:url('img/0763.jpg')}
.i0342{background-image:url('img/0342.jpg')}
.i1171{background-image:url('img/1171.jpg')}
.i0702{background-image:url('img/0702.jpg')}
.i0261{background-image:url('img/0261.jpg')}
.i0472{background-image:url('img/0472.jpg')}
.i0842{background-image:url('img/0842.jpg')}
.i0464{background-image:url('img/0464.jpg')}
.i0250{background-image:url('img/0250.jpg')}
.i0724{background-image:url('img/0724.jpg')}
.i0558{background-image:url('img/0558.jpg')}
.i0409{background-image:url('img/0409.jpg')}
.ibackcover{background-image:url('img/backcover.jpg')}
/* ===== Flipbook viewer ===== */
html,body{height:100%}
body.fb{margin:0;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#2A3138 0%,#15191C 70%);color:#E8E2D9;font-family:'Satoshi',system-ui,sans-serif}
.fb-bar{position:fixed;top:0;left:0;right:0;height:56px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;background:rgba(18,22,25,.92);border-bottom:1px solid #283036;font-size:13px}
.fb-brand{display:flex;align-items:center;gap:10px;min-width:0}
.fb-brand img{width:30px;filter:brightness(0) invert(1);opacity:.92}
.fb-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.fb-actions{display:flex;gap:6px}
.fb-btn{font:inherit;font-weight:500;color:#E8E2D9;background:transparent;border:1px solid #3A444C;border-radius:6px;padding:8px 12px;min-height:36px;cursor:pointer;transition:background .2s,border-color .2s}
.fb-btn:hover{border-color:#D3B48F}
.fb-btn:focus-visible,.fb-nav:focus-visible,.fb-range:focus-visible{outline:2px solid #FEBE5C;outline-offset:2px}
.fb-btn:disabled{opacity:.35;cursor:default}

.fb-stage{position:fixed;left:0;right:0;top:56px;bottom:84px;display:flex;align-items:center;justify-content:center}
.fb-scaler{transform-origin:center center}
.fb-book{position:relative;width:420mm;height:297mm;transition:transform .9s cubic-bezier(.45,.05,.25,1);perspective:6500px}
.fb-book.no-anim,.fb-book.no-anim *{transition:none!important}
.fb-book.closed-front{transform:translateX(-105mm)}
.fb-book.closed-back{transform:translateX(105mm)}

.fb-slot{position:absolute;top:0;width:210mm;height:297mm;overflow:hidden}
.fb-slot.l{left:0}.fb-slot.r{left:210mm}
.fb-slot.filled{box-shadow:0 22px 60px rgba(0,0,0,.45)}
.fb-slot .page,.fb-face .page{box-shadow:none!important}
/* gutter shading */
.fb-slot.filled::after{content:"";position:absolute;top:0;bottom:0;width:18mm;pointer-events:none;z-index:5}
.fb-slot.l.filled::after{right:0;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.2) 100%)}
.fb-slot.r.filled::after{left:0;background:linear-gradient(270deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.2) 100%)}
.fb-slot.cover::after,.fb-slot.backcover::after{display:none}

.fb-card{position:absolute;top:0;width:210mm;height:297mm;overflow:hidden;z-index:10;display:none;background:#F6F2EC;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fb-card.f{left:210mm;transform-origin:0 50%}
.fb-card.b{left:0;transform-origin:100% 50%}
.fb-card.on{display:block}
.fb-card.anim{transition:transform .9s cubic-bezier(.45,.05,.25,1)}
.fb-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .45s ease;z-index:5}
.fb-card.f::after{background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,0) 45%)}
.fb-card.b::after{background:linear-gradient(270deg,rgba(0,0,0,.28),rgba(0,0,0,0) 45%)}
.fb-card.mid::after{opacity:1}

.fb-hit{position:absolute;top:0;height:297mm;width:210mm;z-index:20;cursor:pointer;background:transparent;border:0;padding:0}
.fb-hit.l{left:0}.fb-hit.r{left:210mm}
.fb-hit[hidden]{display:none}

.fb-nav{position:fixed;top:50%;z-index:25;width:48px;height:48px;margin-top:-14px;border-radius:50%;border:1px solid #3A444C;background:rgba(18,22,25,.75);color:#E8E2D9;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s,border-color .2s}
.fb-nav:hover{border-color:#D3B48F}
.fb-nav.prev{left:18px}.fb-nav.next{right:18px}
.fb-nav:disabled{opacity:0;pointer-events:none}

.fb-foot{position:fixed;left:0;right:0;bottom:0;height:84px;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 18px}
.fb-count{font-size:13px;letter-spacing:.08em;color:#E8E2D9}
.fb-count b{color:#D3B48F;font-weight:700}
.fb-range{width:min(520px,80vw);accent-color:#D3B48F;cursor:pointer}
.fb-hint{font-size:11px;color:#8C969E;letter-spacing:.04em}

#fbStash,#fbPrint{display:none}

@media (max-width:640px){
  .fb-brand span{display:none}
  .fb-nav{width:40px;height:40px;font-size:18px}
  .fb-nav.prev{left:8px}.fb-nav.next{right:8px}
  .fb-hint{display:none}
}

@media print{
  @page{size:A4;margin:0}
  body.fb{overflow:visible;background:none}
  .fb-bar,.fb-stage,.fb-nav,.fb-foot{display:none!important}
  #fbPrint{display:block!important}
  #fbPrint .page{zoom:1;box-shadow:none!important;break-after:page;page-break-after:always}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* page text must not inherit the viewer body colour */
.page{color:var(--ink)}
.page.dark,.page.navy{color:#fff}
