/* "See It In Action" homepage demo — uses the site's :root tokens (--sea, --char, etc.) */

.demo-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}

/* Tabs */
.demo-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--sea-wash-2)}
.demo-tab{flex:1;padding:18px 12px;background:none;border:0;cursor:pointer;font-family:'Manrope',sans-serif;font-weight:800;font-size:1rem;color:var(--char);border-bottom:3px solid transparent;transition:color .2s,border-color .2s}
.demo-tab:hover{color:var(--sea-ink)}
.demo-tab.active{color:var(--sea-ink);border-bottom-color:var(--sea);background:#fff}
.demo-pane{padding:34px 30px}
.demo-pane[hidden]{display:none}

/* Upload zone */
.demo-drop{border:2px dashed rgba(102,181,149,.55);border-radius:14px;background:var(--sea-wash-2);padding:38px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.demo-drop:hover,.demo-drop.drag{border-color:var(--sea-deep);background:var(--sea-wash)}
.demo-drop .ico{font-size:1.9rem;margin-bottom:8px}
.demo-drop b{display:block;font-family:'Manrope';color:var(--char-dark);font-size:1.05rem}
.demo-drop small{color:var(--char);opacity:.8}
.demo-drop.hasfile{border-style:solid;background:var(--sea-wash)}
.demo-drop input{display:none}

/* Prompt area (Visualize tab) */
.demo-prompt{margin-top:18px}
.demo-prompt textarea{width:100%;min-height:84px;resize:vertical;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:.98rem;color:var(--char-dark)}
.demo-prompt textarea:focus{outline:2px solid var(--sea);border-color:transparent}
.demo-count{text-align:right;font-size:.78rem;opacity:.6;margin-top:4px}
.demo-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.demo-chip{background:var(--sea-wash);border:1px solid rgba(102,181,149,.4);color:var(--sea-ink);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .2s}
.demo-chip:hover{background:var(--sea);color:#fff}

/* Actions / status */
.demo-actions{margin-top:22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.demo-err{display:none;margin-top:16px;background:#FDF0EF;border:1px solid #F0C4C0;color:#9B3B33;border-radius:12px;padding:13px 16px;font-size:.94rem}
.demo-err.show{display:block}
.demo-loading{display:none;margin-top:22px;text-align:center;padding:28px 10px}
.demo-loading.show{display:block}
.demo-spin{width:44px;height:44px;border:4px solid var(--sea-wash);border-top-color:var(--sea);border-radius:50%;margin:0 auto 14px;animation:demospin .9s linear infinite}
@keyframes demospin{to{transform:rotate(360deg)}}
.demo-loading p{margin:0;font-weight:600;color:var(--char-dark)}
.demo-loading small{opacity:.7}

/* Results */
.demo-result{display:none;margin-top:26px}
.demo-result.show{display:block}
.demo-result .head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.demo-result h3{font-size:1.15rem}
.demo-frame{width:100%;height:560px;border:1px solid var(--line);border-radius:12px;background:#fff}
.demo-imgwrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.demo-imgwrap img{width:100%}
.demo-ba{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.demo-ba figure{margin:0}
.demo-ba figcaption{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sea-ink);margin-bottom:6px}
.demo-ba img{width:100%;border-radius:10px;border:1px solid var(--line)}
@media(max-width:700px){.demo-ba{grid-template-columns:1fr}.demo-frame{height:440px}.demo-pane{padding:24px 16px}}

/* ===== Preview section: tabbed deliverables gallery (mirrors RB "What's included") ===== */
.inc-gallery{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:64px}
.inc-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;background:var(--sea-wash-2);border-bottom:1px solid var(--line);scrollbar-width:none}
.inc-tabs::-webkit-scrollbar{display:none}
.inc-tab{flex:1 0 auto;padding:15px 18px;background:none;border:0;border-bottom:3px solid transparent;cursor:pointer;font-family:'Manrope',sans-serif;font-weight:700;font-size:.92rem;color:var(--char);white-space:nowrap;transition:color .2s,border-color .2s}
.inc-tab:hover{color:var(--sea-ink)}
.inc-tab.active{color:var(--sea-ink);border-bottom-color:var(--sea);background:#fff}
.inc-panel{display:grid;grid-template-columns:1.25fr 1fr;gap:0;align-items:stretch}
.inc-panel[hidden]{display:none}
.inc-visual{position:relative;min-height:320px;background:var(--char-deep)}
.inc-visual img{width:100%;height:100%;object-fit:cover}
.inc-visual.inc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.inc-badge{position:absolute;left:14px;bottom:14px;background:rgba(46,49,56,.85);color:#fff;font-size:.8rem;font-weight:600;padding:7px 13px;border-radius:999px;backdrop-filter:blur(6px)}
.inc-desc{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.inc-desc h3{font-size:1.25rem;margin-bottom:10px}
.inc-desc p{margin:0 0 14px}
.inc-desc ul{margin:0;padding-left:20px;font-size:.95rem}
.inc-desc li{margin-bottom:7px}
@media(max-width:860px){
  .inc-panel{grid-template-columns:1fr}
  .inc-visual{min-height:220px}
  .inc-desc{padding:24px 20px}
  /* All 5 tabs visible at once — no horizontal scrolling on mobile */
  .inc-tabs{display:grid;grid-template-columns:repeat(2,1fr);overflow-x:visible}
  .inc-tab{white-space:normal;padding:12px 8px;font-size:.84rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
  .inc-tab.active{border-bottom:3px solid var(--sea);padding-bottom:10px}
  .inc-tab:last-child{grid-column:1 / -1;border-right:0}
}

/* ===== "Take it for a spin" — backyard configurator (Slate template embed).
   Standalone originals: Documents\ProposalPros\configurator\ (template-1). ===== */
.cfg{background:linear-gradient(165deg,var(--char-deep),#23252B);border-radius:var(--r);overflow:hidden;color:#fff;box-shadow:var(--shadow)}
.cfg-intro{padding:34px 30px 20px;max-width:680px}
.cfg-intro h3{font-family:'Manrope',sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:0 0 8px;color:#fff}
.cfg-grad{background:linear-gradient(90deg,var(--sea),#9FD9C2);-webkit-background-clip:text;background-clip:text;color:transparent}
.cfg-intro p{margin:0;color:rgba(255,255,255,.75)}
.cfg-stage{position:relative;margin:0 30px;border-radius:0;overflow:hidden;aspect-ratio:16/9;background:#3a3d45;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.cfg-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .18s}
.cfg-stage img.show{opacity:1}
.cfg-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;background:repeating-linear-gradient(45deg,#3a3d45 0 26px,#41454e 26px 52px)}
.cfg-ph b{font-family:'Manrope';font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.cfg-ph span{font-family:'Manrope';font-weight:700;font-size:clamp(.95rem,2.6vw,1.25rem);color:#fff;max-width:560px;line-height:1.45}
.cfg-ph small{color:rgba(255,255,255,.4);font-size:.74rem;font-family:monospace;word-break:break-all;max-width:90%}
/* Day/Night — segmented bar attached flush to the top of the preview image.
   Selected = seafoam, unselected = charcoal (Billy 2026-07-19). */
.cfg-timebar{display:flex;gap:2px;margin:0 30px;border-radius:14px 14px 0 0;overflow:hidden}
.cfg-timebar button{flex:1;border:0;background:var(--char-dark);color:rgba(255,255,255,.75);font-family:'Manrope';font-weight:800;font-size:.9rem;padding:12px;cursor:pointer;transition:.18s}
.cfg-timebar button:hover{color:#fff}
.cfg-timebar button.on{background:var(--sea);color:#fff;box-shadow:inset 0 0 24px rgba(255,255,255,.12)}
/* Pool Only / Pool + Spa — segmented bar attached flush to the BOTTOM of the
   preview image; mirrors the day/night bar. Radio: exactly one selected. */
.cfg-spabar{display:flex;gap:2px;margin:0 30px;border-radius:0 0 14px 14px;overflow:hidden}
.cfg-spabar button{flex:1;border:0;background:var(--char-dark);color:rgba(255,255,255,.75);font-family:'Manrope';font-weight:800;font-size:.9rem;padding:12px;cursor:pointer;transition:.18s}
.cfg-spabar button:hover{color:#fff}
.cfg-spabar button.on{background:var(--sea);color:#fff;box-shadow:inset 0 0 24px rgba(255,255,255,.12)}
.cfg-controls{padding:20px 30px 8px;display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.cfg-group h4{font-family:'Manrope';font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--sea);margin:0 0 10px}
.cfg-pills{display:flex;flex-wrap:wrap;gap:8px}
.cfg-pill{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:rgba(255,255,255,.85);border-radius:999px;padding:9px 15px;font-size:.86rem;font-weight:600;font-family:'Inter';cursor:pointer;transition:.18s;display:inline-flex;align-items:center;gap:7px}
.cfg-pill small{opacity:.6;font-size:.76rem}
.cfg-pill:hover{border-color:var(--sea)}
.cfg-pill.on{background:var(--sea);border-color:var(--sea);color:#fff;box-shadow:0 0 20px rgba(102,181,149,.45)}
.cfg-pill.on small{opacity:.9}
.cfg-tgl{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:12px;padding:11px 14px;cursor:pointer;transition:.18s;margin-bottom:8px}
.cfg-tgl:hover{border-color:var(--sea)}
.cfg-tgl .tx b{display:block;font-family:'Manrope';font-weight:700;font-size:.92rem;color:#fff}
.cfg-tgl .tx small{color:rgba(255,255,255,.5);font-size:.78rem}
/* whole card turns seafoam when the upgrade is selected (Billy 2026-07-19) */
.cfg-tgl.on{background:var(--sea);border-color:var(--sea);box-shadow:0 0 22px rgba(102,181,149,.4)}
.cfg-tgl.on .tx small{color:rgba(255,255,255,.85)}
.cfg-sw{flex-shrink:0;width:46px;height:26px;border-radius:999px;background:rgba(255,255,255,.15);position:relative;transition:.2s}
.cfg-sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.cfg-tgl.on .cfg-sw{background:rgba(255,255,255,.35)}
.cfg-tgl.on .cfg-sw::after{left:23px}
.cfg-totalbar{margin-top:14px;padding:18px 30px 22px;background:rgba(0,0,0,.28);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08)}
.cfg-totalbar .lbl{font-family:'Manrope';font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cfg-totalbar .lbl small{display:block;letter-spacing:0;text-transform:none;font-weight:500;color:rgba(255,255,255,.4);margin-top:3px;font-size:.76rem}
.cfg-total{font-family:'Manrope';font-weight:800;font-size:clamp(1.9rem,6vw,2.7rem);color:var(--sea);text-shadow:0 0 30px rgba(102,181,149,.45);font-variant-numeric:tabular-nums}
@media(max-width:700px){
  .cfg-intro{padding:22px 16px 14px}
  .cfg-intro h3{font-size:1.3rem}
  .cfg-intro p{font-size:.9rem}
  .cfg-stage{margin:0 10px;border-radius:0}
  .cfg-ph span{font-size:.82rem}
  .cfg-ph small{font-size:.6rem}
  .cfg-timebar{margin:0 10px;border-radius:10px 10px 0 0}
  .cfg-timebar button{padding:9px;font-size:.8rem}
  .cfg-spabar{margin:0 10px;border-radius:0 0 10px 10px}
  .cfg-spabar button{padding:9px;font-size:.8rem}
  .cfg-controls{grid-template-columns:1fr;gap:10px;padding:12px 12px 2px}
  .cfg-group h4{font-size:.62rem;margin-bottom:6px}
  .cfg-pills{gap:5px}
  .cfg-pill{padding:6px 10px;font-size:.76rem;gap:5px}
  .cfg-pill small{font-size:.66rem}
  .cfg-group-base{display:none}
  .cfg-group-upg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}
  .cfg-group-upg h4{grid-column:1/-1;margin-bottom:2px}
  .cfg-group-upg .cfg-tgl{flex-direction:column;align-items:center;text-align:center;gap:3px;padding:7px 4px;margin-bottom:0}
  .cfg-group-upg .cfg-tgl .tx b{font-size:.72rem}
  .cfg-group-upg .cfg-tgl .tx small{font-size:.62rem}
  .cfg-group-upg .cfg-sw{display:none}
  .cfg-totalbar{padding:12px 16px 14px}
  .cfg-totalbar .lbl{font-size:.6rem}
  .cfg-totalbar .lbl small{display:none}
  .cfg-total{font-size:1.5rem}
}
/* ---- desktop: image beside controls so the whole feature fits one screen
   at 100% zoom without scrolling. Mobile (≤700px) keeps its stacked layout. ---- */
@media(min-width:701px){
  .cfg{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:auto auto 1fr auto auto;
       grid-template-areas:"intro intro" "bar ctrl" "stage ctrl" "spabar ctrl" "total total";column-gap:26px}
  .cfg-intro{grid-area:intro;max-width:800px;padding:18px 30px 8px}
  .cfg-timebar{grid-area:bar;margin:0 0 0 30px}
  .cfg-stage{grid-area:stage;margin:0 0 0 30px;aspect-ratio:auto;min-height:220px}
  .cfg-spabar{grid-area:spabar;margin:0 0 0 30px}
  .cfg-controls{grid-area:ctrl;margin-right:30px;padding:0;grid-template-columns:1fr;align-content:start;gap:11px}
  .cfg-controls .cfg-group h4{margin-bottom:7px}
  /* upgrades collapse to a compact 3-across row (like mobile) to save height */
  .cfg-controls .cfg-group-upg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
  .cfg-controls .cfg-group-upg h4{grid-column:1/-1;margin-bottom:2px}
  .cfg-controls .cfg-group-upg .cfg-tgl{flex-direction:column;align-items:center;text-align:center;gap:4px;padding:9px 6px;margin-bottom:0}
  .cfg-controls .cfg-group-upg .cfg-sw{display:none}
  .cfg-totalbar{grid-area:total;margin-top:0;padding:14px 30px 16px}
}

/* ===== Pricing promise strip ===== */
.promise{background:var(--sea-wash);border:1px solid rgba(102,181,149,.35);border-radius:var(--r);padding:24px 28px;margin-bottom:34px}
.promise-eyebrow{display:block;font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--sea-ink);margin-bottom:12px}
.promise-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 22px;font-size:.95rem;font-weight:600;color:var(--char-dark)}
@media(max-width:900px){.promise-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.promise-list{grid-template-columns:1fr}}

/* ===== Booking section ===== */
.book-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:48px 30px;text-align:center}
.book-formats{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:18px 0 4px;font-weight:600;color:var(--char-dark)}
.book-formats em{font-style:normal;opacity:.65;font-weight:500}
.book-formats .sep{opacity:.35}
.book-note{margin:0;font-size:.9rem;opacity:.65}
.book-embed-wrap[hidden]{display:none}
.book-loading{padding:40px 0;font-weight:600;opacity:.7}

/* ===== Portfolio "Orbit" gallery (#work) — flip cards + full-screen viewer.
   Standalone original: Documents\ProposalPros\portfolio-templates\template-4. ===== */
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;perspective:1600px}
@media(max-width:760px){.pf-grid{grid-template-columns:1fr;gap:20px}}
.pf-flip{aspect-ratio:16/11;position:relative;transform-style:preserve-3d;opacity:0;translate:0 30px;transition:transform .8s cubic-bezier(.3,.8,.3,1),opacity .7s,translate .7s}
.pf-flip.in{opacity:1;translate:0 0}
.pf-flip.flipped{transform:rotateY(180deg) !important}
.pf-face{position:absolute;inset:0;border-radius:20px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 24px 60px -28px rgba(63,66,75,.5)}
.pf-front{cursor:pointer;background:var(--char-deep);opacity:1;transition:opacity .1s .3s}
/* iOS Safari ignores backface-visibility on children — fade the front out as
   the card passes edge-on so its text can't show through mirrored. */
.pf-flip.flipped .pf-front{opacity:0;pointer-events:none}
.pf-front img{width:100%;height:100%;object-fit:cover}
.pf-front::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(35,37,43,.88))}
.pf-front .shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.25) 48%,transparent 60%);transform:translateX(-120%);z-index:2;pointer-events:none}
.pf-flip:hover .pf-front .shine{animation:pfshine 1.1s ease}
@keyframes pfshine{to{transform:translateX(120%)}}
.pf-front .tx{position:absolute;left:20px;right:20px;bottom:16px;z-index:2;color:#fff}
.pf-front .tag{display:inline-block;background:rgba(102,181,149,.92);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:8px}
.pf-front b{display:block;font-family:'Manrope';font-size:1.2rem}
.pf-front small{color:rgba(255,255,255,.75)}
.pf-front .flip-hint{position:absolute;top:14px;right:14px;z-index:2;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);color:#fff;font-family:'Manrope';font-weight:800;font-size:.72rem;padding:7px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.pf-front .flip-hint i{display:inline-block;font-style:normal;animation:pfspin 2.6s linear infinite}
@keyframes pfspin{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
.pf-back{transform:rotateY(180deg);background:var(--char-deep);display:flex;flex-direction:column}
.pf-back-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;color:#fff;gap:8px}
.pf-back-head b{font-family:'Manrope';font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-back-x{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:.9rem;transition:.2s;flex-shrink:0}
.pf-back-x:hover{background:var(--sea);border-color:var(--sea)}
.pf-board{flex:1;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;padding:0 12px 12px;min-height:0}
.pf-panel{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.14);padding:0;background:#000;transition:transform .3s,box-shadow .3s;display:block}
.pf-panel:hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--sea),0 14px 30px -12px rgba(102,181,149,.6)}
.pf-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pf-panel:hover img{transform:scale(1.07)}
.pf-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,22,26,.85))}
.pf-panel .cap{position:absolute;left:0;right:0;bottom:10px;z-index:2;text-align:center;color:#fff;padding:0 6px}
.pf-panel .cap b{display:block;font-family:'Manrope';font-size:.78rem;line-height:1.25}
.pf-panel .cap small{color:#9FD9C2;font-size:.64rem;font-weight:700}
.pf-panel-photos .stack{position:absolute;inset:0}
.pf-panel-photos .stack img{transition:transform .5s}
.pf-panel-photos .stack img:nth-child(1){transform:rotate(-3deg) scale(1.04)}
.pf-panel-photos .stack img:nth-child(2){transform:rotate(2deg) scale(1.02);opacity:.9}
.pf-panel-photos:hover .stack img:nth-child(1){transform:rotate(-5deg) scale(1.1)}
.pf-panel-photos:hover .stack img:nth-child(2){transform:rotate(4deg) scale(1.06)}
.pf-panel-photos .count{position:absolute;top:10px;left:10px;z-index:2;background:var(--sea);color:#fff;font-family:'Manrope';font-weight:800;font-size:.68rem;padding:4px 10px;border-radius:999px;box-shadow:0 0 16px rgba(102,181,149,.6)}
.pf-panel-video .play{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);z-index:2;width:52px;height:52px;border-radius:50%;background:var(--sea);display:grid;place-items:center;box-shadow:0 0 0 0 rgba(102,181,149,.55);animation:pfpulse 1.8s infinite}
.pf-panel-video .play svg{width:20px;height:20px;fill:#fff;margin-left:3px}
@keyframes pfpulse{0%{box-shadow:0 0 0 0 rgba(102,181,149,.55)}70%{box-shadow:0 0 0 20px rgba(102,181,149,0)}100%{box-shadow:0 0 0 0 rgba(102,181,149,0)}}
@media(max-width:520px){
  .pf-board{gap:6px;padding:0 10px 10px}
  .pf-panel .cap b{font-size:.66rem}
  .pf-panel .cap small{font-size:.56rem}
  .pf-panel-video .play{width:40px;height:40px}
}
.pf-gal{position:fixed;inset:0;z-index:110;background:rgba(30,32,37,.95);backdrop-filter:blur(14px);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .3s}
.pf-gal.open{opacity:1;pointer-events:auto}
.pf-gal-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;color:#fff;gap:10px}
.pf-gal-title b{font-family:'Manrope';display:block;color:#fff}
.pf-gal-title small{color:rgba(255,255,255,.6)}
.pf-gal-x{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:.2s;flex-shrink:0}
.pf-gal-x:hover{background:var(--sea);border-color:var(--sea)}
.pf-gal-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 64px}
.pf-gal-stage img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8);animation:pfgalin .35s cubic-bezier(.2,.7,.2,1)}
@keyframes pfgalin{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.pf-gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(35,37,43,.6);color:#fff;font-size:1.3rem;cursor:pointer;z-index:5;transition:.2s;backdrop-filter:blur(6px)}
.pf-gal-nav:hover{background:var(--sea);border-color:var(--sea)}
.pf-gal-nav:disabled{opacity:.25;cursor:default}
.pf-gal-nav:disabled:hover{background:rgba(35,37,43,.6);border-color:rgba(255,255,255,.3)}
.pf-gal-prev{left:10px}.pf-gal-next{right:10px}
.pf-gal-foot{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px;color:#fff}
.pf-gal-cap{font-family:'Manrope';font-weight:700;font-size:.9rem}
.pf-gal-count{color:#9FD9C2;font-family:'Manrope';font-weight:800;font-size:.85rem;background:rgba(102,181,149,.15);border:1px solid rgba(102,181,149,.4);padding:4px 12px;border-radius:999px}
@media(max-width:600px){.pf-gal-stage{padding:0 8px}.pf-gal-nav{width:40px;height:40px}.pf-gal-prev{left:6px}.pf-gal-next{right:6px}}

/* ===== À la carte pricing menu (homepage) ===== */
.menu{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 34px 34px}
.menu-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}
.menu-tx b{display:block;font-family:'Manrope',sans-serif;font-size:1.08rem;color:var(--char-dark)}
.menu-tx small{display:block;font-size:.92rem;opacity:.78;margin-top:2px}
.menu-price{font-family:'Manrope',sans-serif;font-weight:800;font-size:1.5rem;color:var(--sea-ink);white-space:nowrap}
.menu-sub{display:flex;align-items:flex-start;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.menu-sub-label{flex-shrink:0;min-width:130px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sea-ink);padding-top:3px}
.menu-sub-rows{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.93rem;color:var(--char-dark)}
.menu-sub-rows em{font-style:normal;opacity:.65}
.menu-sub-rows b{color:var(--sea-ink)}
.menu-cta{text-align:center;padding-top:28px}
.menu-cta small{display:block;margin-top:12px;opacity:.7}
@media(max-width:640px){.menu{padding:6px 18px 26px}.menu-row{flex-direction:column;align-items:flex-start;gap:6px}.menu-sub{flex-direction:column;gap:8px}}
