:root{
  --navy:#000e26; --navy-2:#0a1b3d; --navy-3:#13274f; --gold:#d4a65a; --gold-soft:#e8c98f; --ink:#f4ede1;
  --muted:rgba(244,237,225,.68); --line:rgba(212,166,90,.28); --card:rgba(10,27,61,.72); --err:#f0a38f;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ag-primary:#14304f; --ag-accent:#c8a25e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;font-family:var(--sans);color:var(--ink);
  background:radial-gradient(ellipse at 50% -10%,#10285a 0%,var(--navy) 60%) fixed,var(--navy);-webkit-font-smoothing:antialiased;line-height:1.5}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
img{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--navy);padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Draft badge */
.draft-badge{position:fixed;right:.6rem;bottom:.55rem;z-index:60;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.2rem .5rem;border-radius:999px;color:rgba(232,201,143,.5);background:rgba(0,14,38,.45);pointer-events:none}

/* Top bar + progress */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.25rem;padding:.6rem clamp(1rem,3vw,2rem);
  background:rgba(0,14,38,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand img{width:38px;height:auto}
.brand-name{font-family:var(--serif);font-size:1.25rem;font-weight:600;letter-spacing:.08em;color:var(--gold-soft);text-transform:uppercase}
.progress{flex:1;display:flex;align-items:center;gap:.9rem;max-width:520px;margin-left:auto;transition:opacity .3s}
.progress.is-off{opacity:0;visibility:hidden}
.progress-track{flex:1;height:3px;border-radius:3px;background:rgba(244,237,225,.14);overflow:hidden}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width .45s ease}
.progress-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

main{flex:1;outline:none}
.screen{animation:fadeUp .45s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wrap{max-width:1040px;margin:0 auto;padding:clamp(1.25rem,4vw,3rem) clamp(1rem,4vw,2rem) 3rem}
.wrap.narrow{max-width:720px}

/* Type */
.eyebrow{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:.5rem}
.title{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.6vw,3rem);line-height:1.08;color:var(--gold-soft);margin-bottom:.6rem}
.display{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2.1rem,5.4vw,3.4rem);line-height:1.05;color:var(--gold-soft);text-shadow:0 2px 14px rgba(0,0,0,.5)}
.sub{color:var(--muted);max-width:44rem;margin-bottom:1.6rem}
.rule{width:64px;height:1px;background:var(--gold);margin:.9rem auto;opacity:.8}
.mini-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:1.6rem 0 .7rem}
.fine{font-size:.74rem;color:var(--muted);margin-top:.6rem}
.fine a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.center{text-align:center}
.tag{display:inline-block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:.2rem .5rem;border:1px dashed var(--gold);border-radius:3px;color:var(--gold-soft);vertical-align:middle;margin-right:.4rem;font-weight:500}
.error{color:var(--err);font-size:.85rem;margin-top:.8rem}
.empty{color:var(--muted);font-size:.9rem;font-style:italic}

/* Buttons */
.back{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;padding:.3rem 0}
.back::before{content:"←";font-size:1rem;letter-spacing:0}
.back:hover{color:var(--gold-soft)}
.actions{display:flex;justify-content:flex-end;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.9rem;border-radius:2px;font-size:.76rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .15s}
.btn-primary{background:var(--gold);color:var(--navy);border:1px solid var(--gold)}
.btn-primary:hover{background:var(--gold-soft)}
.btn-ghost{border:1px solid var(--gold);color:var(--gold-soft);background:rgba(0,14,38,.4)}
.btn-ghost:hover{background:var(--gold);color:var(--navy)}
.btn-primary:active,.btn-ghost:active{transform:translateY(1px)}
.block{width:100%}
.link{color:var(--gold-soft);font-size:.8rem;text-decoration:underline;text-underline-offset:3px}

/* Home */
.screen-home{position:relative;isolation:isolate;overflow:hidden}
.home-bg{position:absolute;inset:0;z-index:-2}
.home-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out}
.home-slide.is-active{opacity:1}
.home-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.home-slide:first-child img{object-position:60% center}
.screen-home::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(0,14,38,.58) 0%,rgba(0,14,38,.72) 55%,rgba(0,14,38,.9) 100%),linear-gradient(180deg,rgba(0,14,38,.2) 0%,rgba(0,14,38,.95) 100%)}
/* Phones / portrait tablets: the home section is much taller than the screen, so a full-height
   photo layer was blown up to a dark sliver under a near-opaque overlay. Pin the photo + overlay to
   one screen height at the top of the section and lighten the overlay so the photos actually show. */
@media (max-width:640px), (max-width:900px) and (orientation:portrait){
  .home-bg{bottom:auto;height:100vh;height:100lvh}
  .screen-home::before{bottom:auto;height:100vh;height:100lvh;
    background:radial-gradient(ellipse at 50% 38%,rgba(0,14,38,.42) 0%,rgba(0,14,38,.55) 60%,rgba(0,14,38,.7) 100%),linear-gradient(180deg,rgba(0,14,38,.2) 0%,rgba(0,14,38,.3) 60%,rgba(0,14,38,1) 100%)}
}
.home-inner{text-align:center;max-width:46rem;margin:0 auto;padding:clamp(1.5rem,4vh,3rem) 1.25rem 1.5rem}
.logo{display:block;margin:0 auto;width:min(clamp(240px,40vw,420px),42vh);height:auto;filter:drop-shadow(0 0 14px rgba(0,8,24,.75)) drop-shadow(0 4px 18px rgba(0,0,0,.45))}
.logo.small{width:min(240px,60vw)}
/* Compass logo: ring layer spins around the ring's measured center; V monogram + wordmark stay still */
.logo-spin{position:relative}
.logo-spin img{display:block;width:100%;height:auto}
.logo-static{position:relative;z-index:1}
.logo-ring{position:absolute;inset:0;height:100%!important;
  transform-origin:49.654% 37.841%; /* ring center = (357.51px, 246.72px) of 720x652 */
  animation:vv-compass-spin 45s linear infinite;will-change:transform}
.logo-ring.fast{animation-duration:6s}
@keyframes vv-compass-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.home-inner .display{margin-top:clamp(.4rem,1.5vh,1rem)}
.lede{font-family:var(--serif);font-size:clamp(1.12rem,2.3vw,1.4rem);line-height:1.5;max-width:34rem;margin:0 auto;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.lede strong{color:var(--gold-soft);font-weight:600}
.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:clamp(1.4rem,3vh,2.2rem)}
.role-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.4rem 1.2rem;border:1px solid var(--gold);border-radius:4px;background:rgba(0,14,38,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s,transform .2s,box-shadow .25s}
.role-btn:hover,.role-btn:focus-visible{background:rgba(212,166,90,.16);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.role-ico svg{width:28px;height:28px;fill:var(--gold)}
.role-title{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--gold-soft);line-height:1.15}
.role-sub{font-size:.78rem;color:var(--muted)}
.how{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;text-align:center}
.how .eyebrow{margin-bottom:1rem}
.how-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:left}
.how-steps li{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.1rem;border-top:1px solid var(--line)}
.how-num{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem;color:var(--gold-soft)}
.how-steps strong{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--gold-soft)}
.how-steps span{font-size:.82rem;color:var(--muted)}

/* Forms */
.form{display:flex;flex-direction:column;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field>span:first-child{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.field strong{color:var(--ink);letter-spacing:.06em}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],input[type=number],input[type=date],select{
  width:100%;padding:.8rem .95rem;border:1px solid rgba(212,166,90,.4);border-radius:3px;background:rgba(0,14,38,.6);color:var(--ink);font-size:.95rem}
input::placeholder{color:rgba(244,237,225,.4)}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,166,90,.18)}
select option{background:var(--navy-2)}
input[type=date]{color-scheme:dark}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.color-wrap{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border:1px solid rgba(212,166,90,.4);border-radius:3px;background:rgba(0,14,38,.6)}
input[type=color]{width:40px;height:32px;border:0;background:none;padding:0;cursor:pointer}
.color-wrap code{font-size:.85rem;color:var(--muted)}
.upload input{position:absolute;opacity:0;width:1px;height:1px}
.upload-box{display:flex;align-items:center;justify-content:center;padding:1rem;border:1px dashed rgba(212,166,90,.55);border-radius:3px;font-size:.85rem;color:var(--muted);cursor:pointer;transition:background .2s}
.upload:hover .upload-box,.upload input:focus-visible+.upload-box{background:rgba(212,166,90,.08);color:var(--gold-soft)}
input[type=range]{width:100%;accent-color:var(--gold);height:28px}
.range-scale{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted)}

/* Agent cover preview */
.brand-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
.cover-preview-wrap{position:sticky;top:5.5rem}
.cover-preview-wrap .mini-label{margin-top:0}
.pdf-cover{aspect-ratio:8.5/11;max-width:340px;background:#fbf8f2;color:#1b2333;border-radius:3px;box-shadow:0 20px 50px rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden;border-top:10px solid var(--ag-primary)}
.pc-top{padding:1.2rem 1.3rem .5rem;display:flex;justify-content:flex-start}
.pc-logo{width:96px;height:52px;display:grid;place-items:center;border:1px dashed #c9c1b3;border-radius:3px;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#9a917f;overflow:hidden}
.pc-logo.has-img{border:0}
.pc-logo img{max-width:100%;max-height:100%;object-fit:contain}
.pc-body{flex:1;padding:1rem 1.3rem;display:flex;flex-direction:column;justify-content:center}
.pc-kicker{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:#6d6658}
.pc-title{font-family:var(--serif);font-size:2rem;line-height:1.05;font-weight:600;color:var(--ag-primary);margin-top:.5rem}
.pc-rule{width:48px;height:2px;background:var(--ag-accent);margin:.8rem 0}
.pc-dest{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:#2d3546}
.pc-foot{background:var(--ag-primary);color:#fff;padding:.85rem 1.3rem;display:flex;flex-direction:column;gap:.15rem;border-top:3px solid var(--ag-accent)}
.pc-foot strong{font-family:var(--serif);font-size:1.05rem;letter-spacing:.04em}
.pc-foot span{font-size:.6rem;opacity:.85;letter-spacing:.04em;word-break:break-word}
.pdf-cover.vv{--ag-primary:#000e26;--ag-accent:#d4a65a}

/* Choice cards */
.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.5rem}
.photo-card{position:relative;display:block;min-height:340px;border-radius:4px;overflow:hidden;text-align:left;border:1px solid var(--line);isolation:isolate}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease}
.photo-card:hover img,.photo-card:focus-visible img{transform:scale(1.05)}
.pc-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,14,38,.1) 20%,rgba(0,14,38,.92) 100%)}
.pc-text{position:absolute;left:0;right:0;bottom:0;padding:1.5rem;display:flex;flex-direction:column;gap:.35rem}
.pc-text strong{font-family:var(--serif);font-size:1.85rem;font-weight:600;color:var(--gold-soft);line-height:1.1}
.pc-text span{font-size:.85rem;color:var(--ink)}
.photo-card::after{content:"→";position:absolute;right:1.4rem;bottom:1.5rem;color:var(--gold);font-size:1.4rem}

/* Combo / chips */
.combo{position:relative}
.combo input{padding-left:2.6rem;background:rgba(0,14,38,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d4a65a'%3E%3Cpath d='M10 2a8 8 0 0 1 6.3 12.9l5.4 5.4-1.4 1.4-5.4-5.4A8 8 0 1 1 10 2zm0 2a6 6 0 1 0 0 12 6 6 0 0 0 0-12z'/%3E%3C/svg%3E") no-repeat .9rem center/18px}
.combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;list-style:none;max-height:320px;overflow:auto;background:var(--navy-2);border:1px solid var(--gold);border-radius:3px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.combo-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;cursor:pointer;font-size:.92rem}
.combo-list li[aria-selected=true],.combo-list li:hover{background:rgba(212,166,90,.16)}
.combo-list li.is-added{opacity:.5}
.combo-list .kind{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.combo-list .none{cursor:default;color:var(--muted);font-style:italic}
.quick{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}
.quick button{font-size:.75rem;padding:.35rem .75rem;border:1px solid rgba(212,166,90,.35);border-radius:999px;color:var(--muted)}
.quick button:hover{border-color:var(--gold);color:var(--gold-soft)}
.chips{list-style:none;display:flex;flex-direction:column;gap:.5rem;counter-reset:stop}
.chip{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem .6rem .9rem;border:1px solid rgba(212,166,90,.45);border-radius:3px;background:var(--card);counter-increment:stop;cursor:grab}
.chip.dragging{opacity:.45}
.chip.over{border-color:var(--gold-soft);box-shadow:0 -2px 0 var(--gold-soft)}
.chip::before{content:counter(stop);width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-size:.78rem;font-weight:600}
.chip-name{flex:1;font-weight:500}
.chip-kind{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.chip button{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--gold-soft);border:1px solid transparent}
.chip button:hover:not(:disabled){border-color:var(--gold)}
.chip button:disabled{opacity:.25;cursor:default}
.chip .rm{color:var(--err)}
.chip-arrow{font-size:.7rem;color:var(--gold);padding-left:.2rem}

/* Option tiles */
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem;margin-top:1.3rem}
.opts.compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:.2rem}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.1rem;border:1px solid rgba(212,166,90,.35);border-radius:3px;background:var(--card);text-align:left;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--gold)}
.opt[aria-pressed=true]{border-color:var(--gold);background:rgba(212,166,90,.18);box-shadow:inset 0 0 0 1px var(--gold)}
.opt-title{font-weight:500;display:flex;align-items:center;gap:.5rem}
.opt-title .em{font-size:1.15rem}
.opt-sub{font-size:.75rem;color:var(--muted)}
.opt[aria-pressed=true] .opt-title::after{content:"✓";margin-left:auto;color:var(--gold-soft)}
.opt .opt-title{width:100%}
.seg{display:inline-flex;border:1px solid rgba(212,166,90,.45);border-radius:3px;overflow:hidden;width:max-content}
.seg-btn{padding:.55rem 1.1rem;font-size:.78rem;letter-spacing:.08em}
.seg-btn[aria-pressed=true]{background:var(--gold);color:var(--navy)}
.when-pane{margin-top:.5rem}
.kids{margin-top:.8rem;padding:1rem;border:1px solid var(--line);border-radius:3px;background:rgba(0,14,38,.4)}
.kids-head{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:.6rem}
.kids-list{display:flex;flex-wrap:wrap;gap:.6rem}
.kid{display:flex;align-items:center;gap:.3rem}
.kid select{width:auto;padding:.5rem .6rem}
.kid button{color:var(--err);width:28px;height:28px}

/* Suggestions */
.suggest{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.sg{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--card);text-align:left;transition:border-color .2s,transform .2s}
.sg:hover{transform:translateY(-2px);border-color:var(--gold)}
.sg[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.sg-art{height:150px;display:grid;place-items:center;font-size:3rem;position:relative}
.sg-art::after{content:attr(data-region);position:absolute;left:.8rem;top:.7rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.sg-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.sg-name{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--gold-soft);line-height:1.1}
.sg-route{font-size:.78rem;color:var(--gold)}
.sg-why{font-size:.82rem;color:var(--muted)}
.sg-pick{margin-top:auto;padding-top:.6rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
.sg[aria-pressed=true] .sg-pick::before{content:"✓ "}

/* Budget */
.budget-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.bc{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.2rem;border:1px solid rgba(212,166,90,.35);border-radius:4px;background:var(--card);text-align:left;transition:border-color .2s,background .2s,transform .2s}
.bc:hover{border-color:var(--gold);transform:translateY(-2px)}
.bc[aria-pressed=true]{border-color:var(--gold);background:rgba(212,166,90,.16);box-shadow:inset 0 0 0 1px var(--gold)}
.bc-tier{font-size:.9rem;color:var(--gold);letter-spacing:.2em}
.bc-name{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--gold-soft);line-height:1}
.bc-desc{font-size:.82rem;color:var(--muted);flex:1}
.bc-range{font-size:.78rem;padding-top:.7rem;border-top:1px solid var(--line)}
.bc-range strong{display:block;font-size:1.05rem;color:var(--ink)}

/* Review */
.review{border-top:1px solid var(--line)}
.rv{display:grid;grid-template-columns:150px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.rv dt{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.rv dd{font-size:.95rem}
.rv .edit{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}

/* Format */
.agent-note{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.9rem 1.1rem;border:1px dashed var(--gold);border-radius:3px;margin-bottom:1.4rem;background:rgba(212,166,90,.06);font-size:.9rem}
.format-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:stretch}
.format-card{position:relative;display:flex;flex-direction:column;gap:1rem;padding:1.8rem 1.6rem;border:1px solid rgba(212,166,90,.35);border-radius:4px;background:var(--card)}
.format-card.featured{border-color:var(--gold);background:linear-gradient(180deg,rgba(212,166,90,.12),var(--card) 45%)}
.ribbon{position:absolute;top:-.7rem;left:1.6rem;background:var(--gold);color:var(--navy);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:.25rem .6rem;border-radius:2px;font-weight:600}
.fc-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.fc-head h3{font-family:var(--serif);font-size:1.75rem;font-weight:600;color:var(--gold-soft);line-height:1.1}
.price{font-family:var(--serif);font-size:1.9rem;color:var(--ink)}
.ticks{list-style:none;display:flex;flex-direction:column;gap:.45rem;font-size:.88rem;flex:1}
.ticks li::before{content:"✦";color:var(--gold);margin-right:.6rem;font-size:.7rem}

/* Checkout mock */
.checkout{background:#fff;color:#30313d;border-radius:8px;padding:1.6rem;box-shadow:0 24px 60px rgba(0,0,0,.5);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;max-width:460px;margin:0 auto}
.co-banner{background:#fff4e5;border:1px solid #f0b45a;color:#8a4b00;font-weight:600;text-align:center;padding:.6rem;border-radius:6px;margin-bottom:1.2rem;letter-spacing:.02em}
.co-head{font-weight:600;font-size:1.05rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.co-placeholder{margin-left:auto;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;background:#eef0f5;color:#6a7383;padding:.2rem .45rem;border-radius:4px}
.co-line{display:flex;justify-content:space-between;padding:.8rem 0;border-top:1px solid #e6e8ee;border-bottom:1px solid #e6e8ee;margin-bottom:1rem;font-size:.92rem}
.co-fields{display:flex;flex-direction:column;gap:.7rem}
.co-fields label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:#6a7383}
.co-fields input{background:#f6f8fa!important;border:1px solid #e0e3ea!important;color:#30313d!important;border-radius:6px!important;cursor:not-allowed}
.co-fields input::placeholder{color:#a3acb9}
.co-fields .row2{gap:.6rem}
.co-pay{width:100%;margin-top:1.2rem;padding:.85rem;border-radius:6px;background:#9aa0ad;color:#fff;font-weight:600;cursor:not-allowed}
.checkout .fine{color:#6a7383}
.checkout .btn-ghost{margin-top:1rem;color:#14304f;border-color:#14304f;background:#fff;font-family:var(--sans)}
.checkout .btn-ghost:hover{background:#14304f;color:#fff}

/* Building */
.screen-building{display:grid;place-items:center;min-height:calc(100svh - 160px)}
.building{text-align:center;padding:2rem 1rem}
.building .display{margin-top:1rem}
.build-steps{list-style:none;margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,237,225,.35)}
.build-steps li{transition:color .4s}
.build-steps li.on{color:var(--gold-soft)}
.build-steps li.done{color:var(--muted)}
.build-steps li.done::before{content:"✓ ";color:var(--gold)}

/* Result */
.result-top{display:grid;grid-template-columns:auto 1fr;gap:2.2rem;align-items:center;margin:1rem 0 1rem}
.result-cover{width:260px}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem}
.facts div{border-top:1px solid var(--line);padding-top:.6rem}
.facts dt{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.facts dd{font-size:.95rem}
.result-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem}
.day{padding:1.1rem 1.2rem;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:3px;background:var(--card)}
.day-n{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.day-place{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--gold-soft);line-height:1.15;margin:.15rem 0 .4rem}
.day ul{list-style:none;font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:.25rem}
.day li::before{content:"·";color:var(--gold);margin-right:.45rem}
.day.travel{border-left-color:var(--gold-soft);background:rgba(212,166,90,.07)}
#showAllDays{margin-top:1rem}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:var(--navy);text-align:center;padding:1.4rem 1rem 1.2rem}
.social{display:flex;justify-content:center;gap:1rem;list-style:none}
.social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(212,166,90,.6);color:var(--gold-soft);transition:background .25s,color .25s,border-color .25s}
.social a:hover,.social a:focus-visible{background:var(--gold);color:var(--navy);border-color:var(--gold);outline:none}
.social svg{width:20px;height:20px;fill:currentColor}
.footer-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.5rem;margin-top:.8rem}
.footer-contact a{font-size:.85rem;letter-spacing:.04em;color:rgba(244,237,225,.85);text-decoration:none}
.footer-contact a:hover{color:var(--gold-soft)}
.copy{margin-top:.5rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,201,143,.7)}

/* Toast */
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:70;background:var(--navy-2);border:1px solid var(--gold);color:var(--ink);padding:.75rem 1.2rem;border-radius:3px;font-size:.85rem;box-shadow:0 12px 30px rgba(0,0,0,.5);transition:opacity .3s,transform .3s;max-width:calc(100% - 2rem);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}


/* ---- Round 2 additions ---- */
/* Headline wrapping: no lone last words */
.display,.title,.lede,.pc-text strong,.bc-name{text-wrap:balance}
p,.sub,.opt-sub,.bc-desc{text-wrap:pretty}
/* Include / Skip */
.photo-card.plain{background:linear-gradient(160deg,rgba(212,166,90,.10),var(--card) 60%);border-style:dashed;border-color:rgba(212,166,90,.45)}
.photo-card.plain .pc-text strong{color:var(--ink)}
.photo-card[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}
.photo-card[aria-pressed=true]::before{content:"Selected";position:absolute;top:1rem;left:1rem;background:var(--gold);color:var(--navy);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:.25rem .6rem;border-radius:2px;font-weight:600}
/* Transport: three-state rows */
.tri-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:.6rem;margin-top:.4rem}
.tri{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .7rem .6rem 1rem;border:1px solid rgba(212,166,90,.3);border-radius:3px;background:var(--card)}
.tri-name{display:flex;align-items:center;gap:.55rem;font-size:.9rem;min-width:0}
.tri-name .em{font-size:1.1rem}
.tri-seg{display:inline-flex;border:1px solid rgba(212,166,90,.4);border-radius:3px;overflow:hidden;flex-shrink:0}
.tri-btn{padding:.42rem .7rem;font-size:.7rem;letter-spacing:.08em;color:var(--muted);border-left:1px solid rgba(212,166,90,.25)}
.tri-btn:first-child{border-left:0}
.tri-btn:hover{color:var(--ink)}
.tri-btn.lv-prefer[aria-pressed=true]{background:var(--gold);color:var(--navy);font-weight:600}
.tri-btn.lv-ok[aria-pressed=true]{background:rgba(244,237,225,.16);color:var(--ink)}
.tri-btn.lv-avoid[aria-pressed=true]{background:rgba(224,122,106,.85);color:#fff;font-weight:600}
.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.seg.wrap-seg{display:flex;flex-wrap:wrap;width:auto;border:0;gap:.4rem;overflow:visible}
.pick-btn{padding:.5rem .9rem;font-size:.78rem;border:1px solid rgba(212,166,90,.4);border-radius:999px;color:var(--muted)}
.pick-btn:hover{border-color:var(--gold);color:var(--ink)}
.pick-btn[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:600}
/* Dining */
.dine-form{margin-top:1.8rem;display:flex;flex-direction:column;gap:1.4rem}
.chipset{display:flex;flex-wrap:wrap;gap:.45rem}
.chip-btn{padding:.42rem .85rem;font-size:.78rem;border:1px solid rgba(212,166,90,.35);border-radius:999px;color:var(--muted)}
.chip-btn:hover{border-color:var(--gold);color:var(--ink)}
.chip-btn[aria-pressed=true]{background:rgba(212,166,90,.2);border-color:var(--gold);color:var(--gold-soft)}
.chip-btn[aria-pressed=true]::before{content:"✓ "}
.chipset.avoid .chip-btn[aria-pressed=true]{background:rgba(224,122,106,.18);border-color:rgba(224,122,106,.9);color:#f3b2a7}
.chipset.avoid .chip-btn[aria-pressed=true]::before{content:"✕ "}
#dietNotes{margin-top:.6rem}
/* Exact-dates trip length readout */
.readout{position:relative;height:10px;margin:.55rem 0 .35rem;border-radius:999px;background:rgba(244,237,225,.12);overflow:hidden}
.readout-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));border-radius:999px;transition:width .35s ease}
.readout.is-bad .readout-fill{background:var(--err)}
.readout-note{font-style:normal;font-size:.62rem;letter-spacing:.12em;color:var(--muted);margin-left:.4rem;text-transform:uppercase}
/* Search results */
.opt-place{display:flex;flex-direction:column;min-width:0}
.opt-name .also{color:var(--muted);font-size:.78rem}
.opt-sub{color:var(--muted);font-size:.74rem}
.combo-list .kind{white-space:nowrap}
.combo-status{min-height:1.1rem;margin-top:.4rem;font-size:.75rem;color:var(--muted)}
/* Result extras */
.day li.day-extra{color:var(--ink)}
.day li.day-extra::before{content:none}
.sample-tag{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(212,166,90,.4);border-radius:2px;padding:0 .3rem;margin-left:.2rem;white-space:nowrap}
/* Footer attribution */
.attrib{margin-top:.5rem;font-size:.66rem;color:rgba(244,237,225,.55);letter-spacing:.02em}
.attrib a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:640px){
  .tri-list{grid-template-columns:1fr}
  .tri{flex-wrap:wrap}
  .tri-btn{padding:.42rem .6rem}
}
@media (max-width:380px){
  .tri-seg{width:100%}
  .tri-btn{flex:1}
}

/* Responsive */
@media (max-width:900px){
  .budget-cards{grid-template-columns:1fr 1fr}
  .suggest{grid-template-columns:1fr}
  .sg{flex-direction:row}
  .sg-art{height:auto;width:110px;flex-shrink:0;font-size:2.2rem}
  .sg-art::after{display:none}
  .brand-grid{grid-template-columns:1fr}
  .cover-preview-wrap{position:static;display:flex;flex-direction:column;align-items:center}
  .pdf-cover{width:100%;max-width:300px}
}
@media (max-width:640px){
  .brand-name{font-size:1rem;letter-spacing:.06em}
  .brand img{width:32px}
  .topbar{gap:.8rem}
  .progress-label{display:none}
  .role-choice,.choice-cards,.format-cards,.how-steps{grid-template-columns:1fr}
  .how-steps li{padding:.8rem .2rem}
  .photo-card{min-height:220px}
  .pc-text strong{font-size:1.55rem}
  .budget-cards{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .co-fields .row2{grid-template-columns:1fr 1fr}
  .rv{grid-template-columns:1fr auto;gap:.2rem 1rem}
  .rv dt{grid-column:1/2}
  .rv dd{grid-column:1/2}
  .rv .edit{grid-row:1/3;grid-column:2;align-self:center}
  .result-top{grid-template-columns:1fr;justify-items:center}
  .result-cover{width:220px}
  .facts{width:100%}
  .actions{justify-content:stretch}
  .actions>*{flex:1}
  .home-slide:first-child img{object-position:72% center}
  .draft-badge{font-size:.5rem;bottom:.4rem;right:.4rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  /* keep the compass gently turning (slow, rotation only) instead of freezing it */
  .logo-ring{animation-name:vv-compass-spin!important;animation-duration:90s!important;animation-iteration-count:infinite!important;animation-timing-function:linear!important}
  .logo-ring.fast{animation-duration:24s!important}
  html{scroll-behavior:auto}
  .home-slide{transition:opacity 1.6s ease-in-out!important} /* gentle opacity crossfade only, no movement */
}

/* Real PDF request */
.pdf-form{display:flex;flex-direction:column;gap:.9rem}
.pdf-form .error{margin-top:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn-primary.is-busy{opacity:.7;cursor:progress}
.format-card.soon{opacity:.62}
.format-card.soon .ribbon{background:transparent;color:var(--gold-soft);border:1px solid rgba(212,166,90,.5)}
.format-card.soon .price{color:var(--muted)}
.format-card.soon button:disabled{cursor:default;opacity:.8}
.video-opt{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;line-height:1.35}
.video-opt input{margin-top:.25rem;accent-color:var(--gold-soft);width:1.05rem;height:1.05rem;flex:none}
.video-opt small{display:block;color:var(--muted);font-size:.85em;margin-top:.15rem}
.free-tag{font-style:normal;font-size:.78em;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-soft);border:1px solid rgba(212,166,90,.5);border-radius:999px;padding:.05rem .45rem;margin-left:.25rem;white-space:nowrap}
.format-card .price s{color:var(--muted);font-size:.8em;margin-right:.35rem}
.sent-msg strong{color:var(--gold-soft);font-weight:500}

/* Sent: trip at a glance (paper card, PDF house style; agent colours via --g-primary/--g-accent) */
.glance{--g-primary:#14213d;--g-accent:#b8964a;--g-on-primary:#fff;background:#f6f1e4;color:#2b2b2b;border-radius:4px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.4);margin:1.6rem 0 1.4rem;border-top:4px solid var(--g-accent)}
.g-head{background:var(--g-primary);color:var(--g-on-primary);padding:1.3rem 1.6rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.g-kicker{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--g-accent);font-weight:600}
.glance.is-agent .g-kicker{color:inherit;opacity:.85}
.g-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,3.4vw,2rem);line-height:1.15;margin-top:.3rem;text-wrap:balance}
.g-logo{flex-shrink:0;max-width:110px;height:54px;display:flex;align-items:center;justify-content:flex-end}
.g-logo:empty{display:none}
.g-logo img{max-height:54px;max-width:110px;object-fit:contain}
.g-body{padding:1.3rem 1.6rem 1.4rem}
.g-note{font-size:.88rem;color:#5d5647;margin-bottom:1.1rem}
.g-tag{display:inline-block;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;padding:.15rem .45rem;border:1px solid var(--g-accent);border-radius:3px;color:#6b5a2e;margin-right:.35rem;vertical-align:1px;font-weight:600}
.g-route{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.1rem;counter-reset:st}
.g-route li{display:flex;align-items:baseline;gap:.45rem;background:#fff;border:1px solid #e3d9c2;border-radius:999px;padding:.4rem .85rem .4rem .45rem;counter-increment:st}
.g-route li::before{content:counter(st);display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--g-primary);color:var(--g-on-primary);font-size:.7rem;font-weight:600;align-self:center}
.g-route li+li{position:relative;margin-left:1.1rem}
.g-route li+li::after{content:"→";position:absolute;left:-1.25rem;color:var(--g-accent);font-size:.9rem}
.g-stop{font-family:var(--serif);font-weight:600;font-size:1.02rem;color:#1b2333}
.g-n{font-size:.75rem;color:#6b6455}
.g-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem 1.4rem;margin-bottom:1.3rem}
.g-facts div{border-top:1px solid #d9cfb6;padding-top:.5rem}
.g-facts dt{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#8a6f35;font-weight:600}
.g-facts dd{font-size:.9rem;color:#2b2b2b}
.g-label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#8a6f35;font-weight:600;margin-bottom:.5rem;font-family:inherit}
.g-days{list-style:none;border-top:1px solid #d9cfb6}
.g-days li{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid #e6dcc6}
.g-days li.is-travel{background:linear-gradient(90deg,rgba(184,150,74,.12),transparent 70%)}
.g-when strong{display:block;font-size:.8rem;color:var(--g-primary);font-weight:600;padding-left:.6rem;border-left:3px solid var(--g-accent)}
.g-days li:not(.is-travel) .g-when strong{border-left-color:transparent}
.g-when span{display:block;font-size:.72rem;color:#6b6455;padding-left:.6rem;margin-top:.1rem}
.g-what strong{display:block;font-family:var(--serif);font-size:1.02rem;font-weight:600;color:#1b2333;line-height:1.25}
.g-what span{display:block;font-size:.82rem;color:#5d5647;margin-top:.1rem}
.g-fine{font-size:.74rem;color:#6b6455;margin-top:.7rem}
.g-route+.g-fine{margin:-.5rem 0 1rem}
.g-foot{background:var(--g-primary);color:var(--g-on-primary);padding:.75rem 1.6rem;display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;font-size:.72rem}
.g-foot strong{font-family:var(--serif);font-size:.95rem;letter-spacing:.03em}
.g-foot span{opacity:.85}
[data-screen="sent"] .result-actions{margin-top:0}
@media (max-width:600px){
  .g-head,.g-body{padding-left:1.1rem;padding-right:1.1rem}
  .g-days li{grid-template-columns:1fr;gap:.25rem}
  .g-when strong,.g-when span{display:inline;padding-left:0;border:0}
  .g-when span{margin-left:.5rem}
  .g-days li{padding:.6rem .2rem}
  .g-route li+li{margin-left:0}
  .g-route li+li::after{content:none}
  .g-facts{grid-template-columns:1fr}
}

/* ================= Draft 2: accounts, prefs, My Trips, map ================= */
.acct-btn{flex-shrink:0;margin-left:auto;padding:.5rem .95rem;border:1px solid rgba(212,166,90,.55);border-radius:999px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);white-space:nowrap;transition:background .2s,color .2s}
.acct-btn:hover{background:var(--gold);color:var(--navy)}
.progress+.acct-btn{margin-left:0}
.progress.is-off+.acct-btn{margin-left:auto}
.progress.is-off{flex:0;width:0;overflow:hidden}
input[type=password]{width:100%;padding:.8rem .95rem;border:1px solid rgba(212,166,90,.4);border-radius:3px;background:rgba(0,14,38,.6);color:var(--ink);font-size:.95rem}
.optl{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--muted);font-size:.72rem;margin-left:.35rem}
.hint{font-size:.74rem;color:var(--muted)}
.f-err{font-style:normal;color:var(--err);font-size:.8rem}
.note-ok{color:#9fd8b0;font-size:.85rem;margin-top:.8rem}
.btn-ghost.sm,.btn-primary.sm{padding:.55rem 1rem;font-size:.66rem;letter-spacing:.14em}
.acct .title{margin-bottom:.4rem}
.acct-form{max-width:440px;margin-top:1.4rem}
.acct-alt{margin-top:1rem;font-size:.85rem;color:var(--muted)}
.acct-note{font-size:.85rem;color:var(--muted);margin:-.4rem 0 1.4rem}
.acct-note strong{color:var(--gold-soft);font-weight:500}
.acct-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.6rem;border-bottom:1px solid var(--line)}
.acct-tab{padding:.6rem 1rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.acct-tab[aria-current=page]{color:var(--gold-soft);border-bottom-color:var(--gold)}
.acct-tab[data-logout]{margin-left:auto}
.who{color:var(--muted);text-transform:none;letter-spacing:.02em}
.verify-banner{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.8rem 1rem;margin:1rem 0;border:1px dashed var(--gold);border-radius:3px;font-size:.85rem;background:rgba(212,166,90,.07)}
.verify-banner em{color:var(--muted);font-size:.75rem}
.draft-note{border-top:1px dashed var(--line);padding-top:.7rem}

/* My Trips */
.trip-list{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin-top:1.2rem}
.trip{display:flex;justify-content:space-between;gap:1.2rem;align-items:center;padding:1.1rem 1.3rem;border:1px solid rgba(212,166,90,.3);border-radius:4px;background:var(--card)}
.trip-loading{color:var(--muted);font-style:italic}
.trip-main{min-width:0}
.trip-id{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.trip-dest{font-family:var(--serif);font-size:1.45rem;font-weight:600;color:var(--gold-soft);line-height:1.2;margin:.15rem 0 .25rem;overflow-wrap:anywhere}
.trip-when{font-size:.85rem;color:var(--ink)}
.trip-side{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;flex-shrink:0}
.trip-actions{display:flex;gap:.4rem}
.badge{display:inline-block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--gold);color:var(--gold-soft)}
.badge-ok{background:rgba(120,200,150,.16);border-color:#7cc596;color:#a9e2bd}
.badge-test{border-style:dashed;color:var(--muted);border-color:rgba(244,237,225,.35);margin-left:.3rem}
.trip-side .badge+.badge{margin-top:-.2rem}

/* Preferences */
.prefs-form{gap:1.4rem;margin-top:1.2rem}
.pf-group{border:1px solid rgba(212,166,90,.28);border-radius:4px;padding:1.2rem 1.3rem 1.4rem;background:rgba(10,27,61,.45);display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.pf-group legend,.pf-group summary{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--gold-soft);padding:0 .4rem;letter-spacing:.02em}
details.pf-group summary{cursor:pointer;list-style:revert;padding:0}
details.pf-group[open] summary{margin-bottom:.4rem}
.pf-group .seg.wrap-seg .seg-btn{border:1px solid rgba(212,166,90,.4);border-radius:999px;padding:.45rem .9rem}
.pf-group .tri-list{margin-top:0}
.pb-logo{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.pb-logo-prev{width:120px;height:64px;display:grid;place-items:center;border:1px solid rgba(212,166,90,.3);border-radius:3px;background:#fff;color:#888;font-size:.75rem;overflow:hidden}
.pb-logo-prev img{max-width:100%;max-height:100%;object-fit:contain}
.sticky-save{position:sticky;bottom:0;padding:.8rem 0;background:linear-gradient(0deg,var(--navy) 60%,transparent);z-index:5}

/* Map circles */
.dest-tabs{margin:0 0 1.2rem}
.map-pane{display:flex;flex-direction:column;gap:.7rem}
.map-tools{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.map-tools .btn-ghost[aria-pressed=true]{background:var(--gold);color:var(--navy)}
.map-hint{font-size:.8rem;color:var(--muted)}
.map-box{border:1px solid rgba(212,166,90,.45);border-radius:4px;overflow:hidden}
.vv-map{height:min(62vh,520px);min-height:320px;background:#0a1b3d;touch-action:none}
.vv-map.is-drawing{cursor:crosshair}
.vv-map.is-drawing .leaflet-grab,.vv-map.is-drawing .leaflet-interactive{cursor:crosshair}
.leaflet-container{font-family:var(--sans)}
.leaflet-control-attribution{font-size:.62rem}
.vv-handle{background:transparent;border:0}
.vv-handle span{display:block;width:26px;height:26px;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.vv-center span{background:var(--gold);border:3px solid #fff}
.vv-edge span{background:#fff;border:3px solid var(--gold);width:22px;height:22px;margin:2px}
.vv-handle:focus-visible span{outline:2px solid #fff;outline-offset:2px}
.vv-num{display:grid!important;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--gold-soft);font-size:.7rem;font-weight:600;border:1px solid var(--gold);pointer-events:none}
.circle-list{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.ca{border:1px solid rgba(212,166,90,.3);border-radius:4px;background:var(--card);padding:.8rem 1rem}
.ca-head{display:flex;align-items:center;gap:.8rem}
.ca-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);color:var(--gold-soft)}
.ca-title{flex:1;min-width:0;display:flex;flex-direction:column}
.ca-title strong{font-family:var(--serif);font-size:1.12rem;color:var(--gold-soft);font-weight:600;line-height:1.2}
.ca-title span{font-size:.75rem;color:var(--muted)}
.ca-del{flex-shrink:0;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--err);padding:.45rem .7rem;border:1px solid rgba(240,163,143,.45);border-radius:3px}
.ca-towns{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem .8rem;margin-top:.7rem}
.ca-town{display:flex;align-items:baseline;gap:.5rem;padding:.35rem .2rem;font-size:.88rem;cursor:pointer;min-height:36px}
.ca-town input{accent-color:var(--gold);width:18px;height:18px;flex-shrink:0;align-self:center}
.ca-name{color:var(--ink)}
.ca-meta{font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca-meta em{color:var(--gold-soft);font-style:normal}
@media (max-width:640px){
  .acct-btn{padding:.42rem .7rem;font-size:.6rem;letter-spacing:.1em}
  .trip{flex-direction:column;align-items:stretch}
  .trip-side{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;flex-shrink:1;min-width:0}
  .trip-actions{flex-basis:100%;min-width:0}
  .trip-actions .btn-ghost{flex:1 1 0;min-width:0;padding-left:.5rem;padding-right:.5rem}
  .vv-map{height:56vh;min-height:300px}
  .ca-towns{grid-template-columns:1fr}
  .pf-group{padding:1rem .9rem 1.2rem}
  .acct-tab{padding:.55rem .6rem;letter-spacing:.1em}
}
/* draft2: circle rules */
.map-size-hint{margin:.4rem 0 0;font-size:.78rem;color:var(--gold-soft);border-left:2px solid var(--gold);padding:.3rem .6rem;background:rgba(212,166,90,.08);transition:opacity .4s}
.map-size-hint:not(.is-on){opacity:.75}
.ca.is-empty{border-color:rgba(224,122,106,.6)}
.ca.is-empty .ca-label{color:#f0a596}
.ca-snaprow{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.45rem}
.ca-snaprow em{font-style:normal;font-size:.75rem;color:var(--muted)}
.vv-email-live .email-stub-note{display:none!important}

/* draft2: route order tools, numbered stops, shape button */
.draw-btns{display:inline-flex;gap:8px;flex-wrap:wrap}
.route-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px}
.route-note{flex:1 1 100%;margin:0;font-size:.85rem;color:var(--muted,#6b7280)}
.chip .chip-n{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#1f2a44;color:#fff;font-size:.75rem;font-weight:700;margin-right:6px}
.vv-stop{display:grid!important;place-items:center;border-radius:50%;background:#1f2a44;color:#fff;font:700 12px/22px system-ui,sans-serif;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
/* draft2: longer town lists (population shown subtly) + Sights & landmarks */
.ca-sub-h{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8a93a6;margin:.7rem 0 .3rem}
.ca-town .ca-pop{margin-left:auto;padding-left:.5rem;font-size:.75rem;color:#9aa2b2;font-variant-numeric:tabular-nums;white-space:nowrap}
.ca-more,.ca-sretry{background:none;border:0;padding:.35rem 0;color:#b8862f;font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}
.ca-sights .ca-note{font-size:.85rem;color:#6b7385;margin:.2rem 0}
.ca-attr{font-size:.7rem;color:#9aa2b2;margin:.4rem 0 0}
.ca-attr a{color:inherit}
/* draft2: longer town lists (population shown subtly) + Sights & landmarks */
.ca-sub-h{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8a93a6;margin:.7rem 0 .3rem}
.ca-town .ca-pop{margin-left:auto;padding-left:.5rem;font-size:.75rem;color:#9aa2b2;font-variant-numeric:tabular-nums;white-space:nowrap}
.ca-more,.ca-sretry{background:none;border:0;padding:.35rem 0;color:#b8862f;font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}
.ca-sights .ca-note{font-size:.85rem;color:#6b7385;margin:.2rem 0}
.ca-attr{font-size:.7rem;color:#9aa2b2;margin:.4rem 0 0}
.ca-attr a{color:inherit}

/* My Trips: delete */
.btn-danger{color:#e8a39b!important;border-color:rgba(232,163,155,.45)!important}
.btn-danger:hover{background:rgba(232,163,155,.1)!important}
.trip.is-removing{opacity:0;transform:translateX(12px);transition:opacity .2s,transform .2s}
.vv-dialog{border:1px solid rgba(212,166,90,.4);border-radius:14px;background:#141c2e;color:#f3efe6;padding:1.4rem 1.5rem;max-width:min(26rem,92vw)}
.vv-dialog::backdrop{background:rgba(5,8,15,.6)}
.vv-dialog h3{margin:0 0 .5rem;font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:600}
.vv-dialog .dlg-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.1rem}
.btn-danger-solid{background:#b5483d!important;border-color:#b5483d!important;color:#fff!important}

/* Home hero quotes: one per slide, crossfaded in sync with .home-slide. Stacked in one grid cell, so the box keeps the
   height of the longest quote and nothing around it jumps.
   >=1280px wide: absolute, top-left of the hero in the empty left gutter (clear of nav, logo, headline and buttons).
   641-1279px wide and >=900px tall (portrait tablets): top-left, in the flow above the logo.
   Otherwise (phones, landscape tablets, short screens): below the role buttons, so the logo, headline and both
   buttons still fit in the first screen (a top quote would push the buttons below the fold). */
.home-inner{display:flex;flex-direction:column}
.hero-quotes{order:10;position:relative;z-index:1;display:grid;align-self:flex-start;width:100%;max-width:26rem;margin:1.4rem 0 0;
  padding:.6rem 1rem;text-align:left;border-left:1px solid var(--gold);
  background:linear-gradient(90deg,rgba(0,14,38,.62),rgba(0,14,38,.25) 70%,rgba(0,14,38,0))}
.hero-quote{grid-area:1/1;margin:0;opacity:0;transition:opacity 1.6s ease-in-out;align-self:start}
.hero-quote.is-active{opacity:1}
.hero-quote p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.06rem;line-height:1.42;color:var(--ink);text-shadow:0 1px 8px rgba(0,0,0,.8)}
.hero-quote cite{display:block;margin-top:.45rem;font-family:var(--sans);font-style:normal;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);text-shadow:0 1px 6px rgba(0,0,0,.75)}
.hero-quote cite em{display:block;margin-top:.15rem;font-family:var(--serif);font-style:italic;font-size:.88rem;letter-spacing:.02em;text-transform:none}
@media (min-width:641px) and (max-width:1279px) and (min-height:900px){
  .hero-quotes{order:-1;margin:0 0 1.25rem min(0px,calc(.75rem - (100vw - 46rem)/2))}
}
@media (min-width:1280px){
  .hero-quotes{position:absolute;order:0;margin:0;left:clamp(1.5rem,3vw,3rem);top:clamp(1.25rem,4vh,2.25rem);
    width:calc((100vw - 46rem)/2 - clamp(1.5rem,3vw,3rem) - 1.5rem);max-width:20rem;padding:.85rem 1rem .85rem 1.1rem;
    background:linear-gradient(90deg,rgba(0,14,38,.6),rgba(0,14,38,0))}
}
@media (prefers-reduced-motion:reduce){ .hero-quote{transition:opacity 1.6s ease-in-out!important} }

/* Video add-on status (format screen) */
#videoFine.is-error{color:#ffb4a8}
#videoFine.is-ok{color:var(--gold-soft)}
/* Per-date flexibility (depart / return each have their own) */
.date-col{display:flex;flex-direction:column;gap:.55rem;min-width:0}
.flex-sub span{font-size:.82rem}
.flex-sub span em{font-style:normal;color:var(--muted)}
.flex-sub[hidden],.flex-hint[hidden]{display:none!important}
.flex-hint{display:block;margin-top:.45rem}

/* agent mode: one destination card */
.choice-cards.is-single{grid-template-columns:minmax(0,560px)}
.photo-card[hidden]{display:none!important}
/* richer trip preview */
.g-why{background:#fff;border:1px solid #e3d9c2;border-radius:12px;padding:.9rem 1rem;margin-bottom:1.1rem}
.g-why .g-label{margin-top:0}
.g-why-lede{font-family:var(--serif);font-size:1.02rem;color:#1b2333;margin:.2rem 0 .5rem}
.g-why-list{margin:0;padding-left:1.1rem;font-size:.86rem;color:#4a4436}
.g-why-list li{margin:.2rem 0}
.g-stops{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.5rem;counter-reset:gs}
.g-stops li{background:#fff;border:1px solid #e3d9c2;border-radius:10px;padding:.6rem .85rem;counter-increment:gs}
.gs-head{display:flex;align-items:baseline;gap:.5rem}
.gs-head::before{content:counter(gs);display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--g-primary);color:var(--g-on-primary);font-size:.68rem;font-weight:600;align-self:center}
.gs-hl{font-size:.84rem;color:#4a4436;margin:.25rem 0 0}
.gs-leg{font-size:.8rem;color:#6b6455;margin:.3rem 0 0;padding-top:.3rem;border-top:1px dashed #e3d9c2}
.gs-leg span{color:var(--g-accent);font-weight:600}
.g-pdfnote{font-size:.8rem}

/* ===== notes7: hamburger menu, placeholder menu pages, agent intro gate ===== */
textarea{font:inherit;width:100%;padding:.8rem .95rem;border:1px solid rgba(212,166,90,.4);border-radius:3px;background:rgba(0,14,38,.6);color:var(--ink);font-size:.95rem;resize:vertical;min-height:3.2rem}
textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,166,90,.18)}
.menu-btn{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:0 10px;border:1px solid rgba(212,166,90,.55);border-radius:50%;transition:background .2s}
.menu-btn span{display:block;height:2px;border-radius:2px;background:var(--gold-soft);transition:transform .2s,opacity .2s}
.menu-btn:hover{background:rgba(212,166,90,.14)}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.acct-btn[hidden]+.menu-btn{margin-left:auto}
.site-menu{position:absolute;top:calc(100% + 6px);right:clamp(1rem,3vw,2rem);min-width:14rem;background:#0a1b3d;border:1px solid rgba(212,166,90,.45);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.45);padding:.4rem;z-index:45}
.site-menu ul{list-style:none}
.site-menu button{display:block;width:100%;text-align:left;padding:.7rem .9rem;border-radius:6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.site-menu button:hover,.site-menu button:focus-visible{background:rgba(212,166,90,.14);color:var(--gold-soft);outline:none}
.site-menu li[data-menu-acct]{border-bottom:1px solid var(--line);margin-bottom:.3rem;padding-bottom:.3rem}
.site-menu li.menu-agent{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.3rem}
.site-menu li[data-agent-only] button{color:var(--gold-soft)}
.ph-box{margin:.9rem 0;padding:1.6rem 1.2rem;border:1px dashed rgba(244,237,225,.3);border-radius:8px;background:rgba(160,166,180,.14);color:rgba(244,237,225,.62);text-align:center;font-size:.85rem;letter-spacing:.04em}
.info-dlg{width:min(44rem,94vw);max-height:88vh;margin:auto;border:1px solid rgba(212,166,90,.4);border-radius:14px;background:#0d1a33;color:var(--ink);padding:0;overflow:hidden}
.info-dlg[open]{display:flex;flex-direction:column}
.info-dlg::backdrop{background:rgba(5,8,15,.7)}
.info-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}
.info-title{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--gold-soft)}
.info-close{font-size:1.8rem;line-height:1;width:40px;height:40px;border-radius:50%;color:var(--gold-soft)}
.info-close:hover{background:rgba(212,166,90,.14)}
.info-body{overflow:auto;padding:.6rem 1.4rem 1.4rem}
.info-h{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--gold-soft);margin-top:1rem}
.contact-slots{display:grid;gap:.7rem;margin:1rem 0}
.contact-slots div{display:flex;gap:1rem;align-items:baseline;padding:.7rem .9rem;border:1px solid var(--line);border-radius:8px}
.contact-slots dt{min-width:5rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.contact-slots a{color:var(--ink)}
.info-social{justify-content:flex-start;margin:.4rem 0}
.accordion{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}
.accordion details{border:1px solid var(--line);border-radius:8px;padding:0 .9rem}
.accordion summary{cursor:pointer;padding:.8rem 0;font-weight:500;color:var(--ink)}
.accordion details[open] summary{color:var(--gold-soft)}
.accordion details .ph-box{margin-top:0}
.agent-prefs-form{margin-top:.4rem}
.intro-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}
.intro-actions a.btn-primary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:640px){
  .menu-btn{width:36px;height:36px;padding:0 9px}
  .site-menu{left:.6rem;right:.6rem;min-width:0}
  .info-dlg{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;border:0}
  .info-body{padding:.4rem 1rem 1.6rem}
  .info-dlg .row2{grid-template-columns:1fr}
}
@media (max-width:480px){
  /* phone: progress drops to its own thin row under the header so it isn't squeezed by the account + menu buttons */
  .topbar{flex-wrap:wrap;row-gap:.4rem}
  .topbar .progress{order:5;flex:1 0 100%;max-width:none;margin-left:0}
  .topbar .progress.is-off{display:none}
  .topbar .progress+.acct-btn,.topbar .acct-btn{margin-left:auto}
}

/* ---------- Notes 8: approved v3 copy blocks ---------- */
.info-lede{font-size:1rem;line-height:1.55;color:var(--ink,#f4ede1);margin:.2rem 0 1rem}
.info-copy{font-size:.92rem;line-height:1.6;color:rgba(244,237,225,.88)}
.info-copy p{margin:0 0 .7rem}
.info-copy p:last-child{margin-bottom:0}
.info-copy ul,.info-copy ol{margin:.2rem 0 .8rem 1.2rem;padding:0}
.info-copy li{margin:.25rem 0}
.info-copy a{color:var(--gold-soft)}
.info-copy strong,.info-strong{color:var(--gold-soft);font-weight:600}
.info-strong{margin:.6rem 0}
.info-copy-p{font-size:.92rem;line-height:1.6;color:rgba(244,237,225,.88);margin:.4rem 0 .8rem}
.info-fine{font-size:.78rem;color:var(--muted);margin-top:1rem;font-style:italic}
.dd-note{display:block;font-size:.78rem;color:var(--muted);margin-top:.15rem;line-height:1.4}
.intro-copy{text-align:left;margin:.6rem auto 1rem;max-width:36rem}
.intro-copy h3{font-family:var(--serif,inherit);color:var(--gold-soft);font-size:1.05rem;margin:1rem 0 .4rem}
.video-deliv{border:1px solid var(--line);border-radius:8px;padding:.55rem .8rem .6rem;margin:.6rem 0 0}
.video-deliv legend{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);padding:0 .3rem}
.video-deliv label{display:flex;gap:.5rem;align-items:center;font-size:.86rem;margin:.25rem 0;cursor:pointer}
.video-deliv input{accent-color:var(--gold-soft)}
.mkt-opt{display:flex;gap:.6rem;align-items:flex-start;font-size:.8rem;line-height:1.4;color:var(--muted);margin:.7rem 0 .2rem;cursor:pointer}
.mkt-opt input{margin-top:.15rem;accent-color:var(--gold-soft);flex:none}
.footer-fine{margin-top:.6rem;font-size:.74rem;color:rgba(244,237,225,.7)}
.trip-video{font-size:.78rem;color:var(--muted);margin-top:.3rem}
.trip-video.is-on{color:#a9e2bd}
.trip-viderr{font-size:.78rem;color:#f2a7a0;margin-top:.3rem}
.btn-ghost.is-done{border-color:#7cc596;color:#a9e2bd;opacity:1}

/* Notes 9: typed places → one combined map area (chips tray, shown under Type places and above the map) */
.typed-tray{margin-top:1rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:3px;background:var(--card)}
.typed-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.typed-head strong{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);font-weight:600}
.typed-meta{font-size:.75rem;color:var(--muted)}
.typed-help{margin:.3rem 0 .6rem;font-size:.78rem;color:var(--muted)}
.typed-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0}
.typed-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .35rem .3rem .8rem;border:1px solid rgba(212,166,90,.45);border-radius:999px;background:rgba(212,166,90,.1)}
.typed-name{font-weight:500}
.typed-chip .chip-kind{font-size:.56rem}
.typed-x{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--err);border:1px solid transparent;font-size:.8rem}
.typed-x:hover,.typed-x:focus-visible{border-color:var(--gold)}
.typed-tip{margin:.6rem 0 0;font-size:.8rem;color:var(--ink)}
.typed-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.7rem}
#mapPane:not([hidden]) ~ .typed-tray, .map-pane + .typed-tray{margin-top:.6rem}
@media (max-width:520px){ .typed-tray{padding:.75rem} .typed-actions .btn-ghost{flex:1} }
.typed-tray .linkish{background:none;border:0;padding:.2rem 0;color:var(--gold-soft);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}
/* Agent Preferences: extended fields (Notes 10) */
.ap-groups{margin:.2rem 0 1rem}
.ap-group .ap-body{display:flex;flex-direction:column;gap:.85rem;padding:0 0 1rem}
.ap-help{font-size:.78rem;color:rgba(244,237,225,.7);line-height:1.45;margin:0}
.field .ap-help{margin-top:.1rem}
.ap-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.4}
.ap-check input{margin-top:.2rem;accent-color:var(--gold)}
[data-ap-show][hidden]{display:none}

/* ---- Notes 13: trip basics (typed dates, trip length text, breaks) ---- */
[data-screen="basics"] .field>span:first-child{font-size:.8rem;font-weight:700;letter-spacing:.13em}
[data-screen="basics"] .field>span:first-child em{font-weight:400}
.date-in{position:relative;display:flex;align-items:stretch}
.date-in .date-text{padding-right:2.9rem;font-variant-numeric:tabular-nums}
.date-in .date-text.is-bad{border-color:var(--err)}
.cal-btn{position:absolute;right:1px;top:1px;bottom:1px;width:2.6rem;display:flex;align-items:center;justify-content:center;border:0;border-left:1px solid rgba(212,166,90,.25);background:transparent;color:var(--gold-soft);cursor:pointer;border-radius:0 3px 3px 0}
.cal-btn:hover,.cal-btn:focus-visible{background:rgba(212,166,90,.15);outline:none}
.cal-native{position:absolute;right:0;bottom:0;width:2.6rem;height:100%;opacity:0;pointer-events:none;border:0;padding:0}
.trip-len{margin:-.2rem 0 0;font-size:1rem;color:var(--gold-soft);font-weight:600;letter-spacing:.02em}
.trip-len strong{color:var(--ink);font-weight:700}
.breaks .hint{line-height:1.5}
.breaks-list{display:flex;flex-direction:column;gap:.8rem}
.breaks-list:empty{display:none}
.break-card{border:1px solid rgba(212,166,90,.3);border-radius:4px;padding:.85rem .95rem;background:rgba(0,14,38,.35);display:flex;flex-direction:column;gap:.7rem}
.break-head{display:flex;justify-content:space-between;align-items:center}
.break-head strong{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
.linkish{background:none;border:0;padding:.2rem 0;color:var(--gold-soft);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}
.add-break{align-self:flex-start;padding:.7rem 1.2rem;font-size:.7rem}
.planned-days{margin:.1rem 0 0;color:var(--gold-soft);font-size:.95rem}
.planned-days strong{color:var(--ink)}
.g-days li.is-break{background:repeating-linear-gradient(135deg,rgba(20,33,61,.05) 0 8px,transparent 8px 16px)}
.g-days li.is-break .g-what strong{font-style:italic}
@media (max-width:560px){.break-card .row2{grid-template-columns:1fr}}

/* Notes 13: "Most popular" sights get a teal accent; names open a small info card */
:root{--teal:#7fd6c6;--teal-soft:rgba(127,214,198,.14)}
.ca-pop-h{color:var(--teal)!important;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.ca-pop-tip{font-size:.66rem;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}
.sight-name{color:var(--teal);font:inherit;font-weight:600;text-align:left;padding:0;border-bottom:1px dotted rgba(127,214,198,.6);line-height:1.35}
.sight-name:hover,.sight-name:focus-visible{color:#a9ece0;border-bottom-style:solid}
.sight-card{position:fixed;z-index:80;width:min(320px,calc(100vw - 1.5rem));background:#f8f4ec;color:#1b2333;border-radius:8px;
  box-shadow:0 14px 40px rgba(0,0,0,.45);overflow:hidden;border-top:4px solid var(--teal);font-size:.84rem;line-height:1.45}
.sight-card .sc-img{display:block;width:100%;max-height:170px;object-fit:cover;background:#dde3e8}
.sight-card .sc-body{padding:.8rem .95rem .85rem}
.sight-card .sc-title{font-family:var(--serif);font-size:1.25rem;font-weight:700;line-height:1.15;color:#0a1b3d;padding-right:1.6rem}
.sight-card .sc-meta{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#2f7f73;margin:.15rem 0 .45rem}
.sight-card .sc-text{color:#2b3445}
.sight-card .sc-foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.65rem}
.sight-card .sc-more{color:#0b6b5f;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.sight-card .sc-credit{font-size:.62rem;color:#6b7385}
.sight-card .sc-x{position:absolute;top:.35rem;right:.4rem;width:2rem;height:2rem;border-radius:50%;background:rgba(0,14,38,.65);color:#fff;font-size:1.1rem;line-height:2rem;text-align:center}
.sight-card.is-sheet{left:0!important;right:0;bottom:0;top:auto!important;width:100%;border-radius:12px 12px 0 0;max-height:75vh;overflow:auto}
.sight-card.is-sheet .sc-img{max-height:190px}

/* Notes 13: long sight names must wrap, not widen the page on phones */
.ca-towns > *{min-width:0}
.ca-town{min-width:0}
.ca-town .ca-meta{min-width:0;flex:0 1 auto}
.sight-name{overflow-wrap:anywhere;min-width:0}
/* Notes 13 follow-up: breaks shown as their own line in the instant summary (not numbered, not planned) */
.g-route li.g-break{counter-increment:none;background:transparent;border-style:dashed;color:#6b6455;font-size:.78rem;font-style:italic;padding:.4rem .85rem}
.g-route li.g-break::before{content:none}
.g-stops li.g-break{counter-increment:none;background:#f3eee2;border-style:dashed;color:#5d5647;font-size:.84rem;font-style:italic}

/* Notes 14: break start/end cities use the same place search as the location page */
.bk-combo input.bk-city{padding-left:2.6rem}
.bk-combo .combo-list{max-height:240px}
.bk-combo .combo-list li{padding:.55rem .85rem;font-size:.88rem}
.bk-city-st{display:block;min-height:1rem;font-size:.72rem;color:var(--muted);margin-top:.25rem}
.bk-city-f>span label{cursor:pointer}
.bk-note{margin-top:.2rem}
.video-res{display:flex;flex-wrap:wrap;gap:.1rem 1.4rem}
.video-res legend{flex-basis:100%}
.video-res small{color:var(--muted);font-size:.74rem}

/* free beta banner */
.beta-banner{max-width:40rem;margin:.9rem auto 0;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(10,24,40,.55);color:#fff;font-size:.92rem;line-height:1.45;text-align:center}
.beta-banner a{color:inherit;text-decoration:underline}

/* Go-live (Nov 3 2026): beta pill by the logo, slim beta strip, turnaround note */
.beta-pill{align-self:center;margin-left:.1rem;padding:.12rem .45rem;border:1px solid rgba(232,201,143,.55);border-radius:999px;
  font-family:var(--sans,inherit);font-size:.58rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);line-height:1.3}
.beta-strip{margin:0;padding:.32rem 1rem;text-align:center;font-size:.74rem;line-height:1.4;color:rgba(244,237,225,.82);
  background:rgba(0,14,38,.72);border-bottom:1px solid var(--line)}
.beta-strip a{color:inherit;text-decoration:underline}
body:not([data-current]) .beta-strip,body[data-current="home"] .beta-strip{display:none}
.turnaround{margin:.8rem 0 0;padding:.55rem .8rem;border-left:3px solid var(--gold,#c9a45c);background:rgba(232,201,143,.08);border-radius:4px;font-size:.86rem;line-height:1.5}
.screen[data-screen="sent"] .turnaround{max-width:44rem}
@media (max-width:480px){.brand{position:relative}.beta-pill{position:absolute;right:-.5rem;top:-.55rem;margin:0;font-size:.44rem;padding:.04rem .3rem;background:rgba(0,14,38,.95)}.beta-strip{font-size:.68rem}}
