:root{--ink:#26221d;--paper:#faf7f1;--cream:#f2eadf;--muted:#7c7267;--rule:#d7cec2;--terracotta:#a76344;--plum:#8d6b8f;--olive:#758267;--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit}.plans-header{height:82px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);background:rgba(250,247,241,.96);position:relative;z-index:20}.plans-brand{font:500 11px/1.05 var(--sans);letter-spacing:.13em;text-transform:uppercase}.plans-header-center{text-align:center}.plans-header-center span{display:block;color:var(--muted);font:500 8px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}.plans-header-center strong{font:400 28px/1 var(--serif)}.plans-close{font-size:24px}.plans-hero{padding:clamp(64px,9vw,130px) clamp(22px,7vw,112px) clamp(46px,7vw,90px);background:var(--cream)}.plans-hero .eyebrow,.plan-intro .eyebrow{margin:0 0 22px;font:500 10px/1 var(--sans);letter-spacing:.19em;text-transform:uppercase}.plans-hero h1{max-width:950px;margin:0 0 30px;font:400 clamp(52px,7.5vw,112px)/.94 var(--serif);letter-spacing:-.025em}.plans-hero>p:last-child{max-width:690px;margin:0;font:400 clamp(18px,2vw,27px)/1.45 var(--serif);color:#514940}.plans-index{padding:clamp(50px,7vw,100px) clamp(22px,7vw,112px) clamp(80px,10vw,140px)}.plans-index-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.plans-index-head h2{margin:0;font:400 clamp(30px,4vw,56px)/1 var(--serif)}.plans-index-head p{max-width:390px;margin:0;color:var(--muted);font:400 13px/1.55 var(--sans)}.plan-capsule-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2vw,30px)}.plan-capsule{position:relative;min-height:clamp(420px,47vw,650px);overflow:hidden;border-radius:36px;background:#332d27;isolation:isolate;box-shadow:0 12px 30px rgba(38,34,29,.12);transition:transform .35s,box-shadow .35s}.plan-capsule:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(38,34,29,.2)}.plan-capsule img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.95);transition:transform .7s}.plan-capsule:hover img{transform:scale(1.025)}.plan-capsule:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(17,14,11,.83));z-index:1}.plan-capsule-copy{position:absolute;z-index:2;left:clamp(22px,2.4vw,38px);right:clamp(22px,2.4vw,38px);bottom:clamp(24px,3vw,42px);color:#fff}.plan-capsule-copy h3{margin:0 0 15px;font:400 clamp(29px,3.1vw,49px)/1.02 var(--serif)}.plan-meta{display:flex;flex-wrap:wrap;gap:8px}.plan-meta span{border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:9px 12px;background:rgba(22,18,14,.18);backdrop-filter:blur(8px);font:500 8px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.plans-footer{padding:28px clamp(22px,7vw,112px);display:flex;justify-content:space-between;border-top:1px solid var(--rule);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
/* Homepage capsules */
.home-plan-preview{margin-top:clamp(58px,7vw,96px);padding-top:clamp(40px,5vw,70px);border-top:1px solid var(--rule)}.home-plan-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.home-plan-head h3{margin:0;font:400 clamp(30px,3.4vw,50px)/1 var(--serif)}.home-plan-head p{max-width:480px;margin:8px 0 0;font:400 14px/1.5 var(--serif);color:var(--muted)}.home-plan-head>a{flex:0 0 auto;border-bottom:1px solid;font:500 9px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase}.home-plan-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}.home-plan-card{position:relative;min-height:390px;border-radius:26px;overflow:hidden;background:#312d28;color:#fff}.home-plan-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.94)}.home-plan-card:after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(18,15,12,.85))}.home-plan-card-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:25px}.home-plan-card h4{margin:0 0 12px;font:400 clamp(25px,2.5vw,38px)/1.03 var(--serif)}.home-plan-card span{display:inline-block;border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:8px 11px;font:500 8px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
@media(max-width:800px){.plans-header-center span{display:none}.plans-header-center strong{font-size:24px}.plans-index-head{display:block}.plans-index-head p{margin-top:14px}.plan-capsule-rail,.home-plan-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 12vw 14px 0;scrollbar-width:none}.plan-capsule-rail::-webkit-scrollbar,.home-plan-rail::-webkit-scrollbar{display:none}.plan-capsule{flex:0 0 78vw;min-height:500px;scroll-snap-align:start}.home-plan-card{flex:0 0 76vw;min-height:420px;scroll-snap-align:start}.home-plan-head{display:block}.home-plan-head>a{display:inline-block;margin-top:18px}}
@media(max-width:520px){.plans-header{height:70px}.plans-brand{font-size:9px}.plans-hero{padding-top:58px}.plans-hero h1{font-size:50px}.plan-capsule{flex-basis:82vw;min-height:460px;border-radius:27px}.plans-footer{flex-direction:column;gap:12px}.home-plan-preview{margin-top:50px}.home-plan-card{flex-basis:82vw;min-height:390px}}
/* Homepage: compact, self-explanatory Paris guide rail. */
#cities .next-cities{display:none!important}
#cities .paris-mvp-grid{grid-template-columns:1fr!important;max-width:none!important}
#cities .paris-launch-card{width:min(100%,1280px)}
#cities .paris-launch-card{grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr)}
#cities .paris-launch-copy{padding:clamp(26px,3vw,46px)}
#cities .paris-launch-copy h3{margin:15px 0 12px!important;font-size:clamp(34px,3.7vw,54px)!important;line-height:1!important}
#cities .paris-launch-copy p{margin:0 0 18px!important;max-width:430px}
.paris-map-preview{display:block;width:100%;height:auto;object-fit:contain;filter:saturate(.88) contrast(.96);margin:4px 0 18px;background:#f7f2eb}
#cities .paris-launch-copy .launch-link{margin-top:0}
#cities{padding-bottom:0}
.home-plan-preview{margin-top:clamp(30px,3.5vw,50px);padding:clamp(26px,3vw,42px) 0 clamp(34px,4vw,56px);border-top:1px solid var(--rule)}
.guide-preview-kicker{margin:0 0 22px;color:var(--ink);font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.guide-preview-intro{margin:-8px 0 28px;color:var(--ink);font:400 clamp(20px,2vw,30px)/1.2 var(--serif)}
.guide-preview-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.guide-preview-card{position:relative;display:block;min-width:0;color:var(--ink)}
.guide-card-link{display:block;color:inherit}
.guide-preview-card img{width:100%;aspect-ratio:1.28;object-fit:cover;filter:saturate(.78) contrast(.95);transition:transform .35s,filter .35s}
.guide-preview-card:hover img{transform:translateY(-3px);filter:saturate(.92) contrast(.97)}
.guide-preview-card h3{margin:14px 0 15px;font:400 clamp(18px,1.7vw,25px)/1.08 var(--serif)}
.guide-preview-card p{margin:0;color:var(--muted);font:500 8px/1.45 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.guide-editorial-badge{position:absolute;z-index:2;top:12px;left:12px;padding:8px 11px;border-radius:999px;background:var(--ink);color:var(--paper);font:600 8px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;box-shadow:0 4px 14px rgba(38,34,29,.18)}
.guide-energy{white-space:nowrap}
.guide-save{position:absolute;z-index:3;top:11px;right:11px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #c8b6a4;border-radius:50%;background:rgba(238,228,215,.94);color:#8f5b43;font:400 17px/1 var(--sans);cursor:pointer;box-shadow:0 3px 10px rgba(65,47,36,.12);transition:color .2s,background .2s,transform .2s}
.guide-save:hover,.guide-save.saved{color:#fff;background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-1px)}
.guide-preview-tags{display:flex;flex-wrap:wrap;gap:7px}
.guide-preview-tags span{display:inline-flex;align-items:center;min-height:29px;padding:7px 11px;border:1px solid #bba996;border-radius:999px;background:#eadfd2;color:#3f3933;font-size:9px;font-weight:600;letter-spacing:.075em;white-space:nowrap}
@media(max-width:800px){.guide-preview-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}}
@media(max-width:900px){#cities .paris-launch-card{grid-template-columns:1fr}}
@media(max-width:520px){.home-plan-preview{margin-top:24px;padding:24px 0 38px}.guide-preview-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 12vw 12px 0;scrollbar-width:none}.guide-preview-rail::-webkit-scrollbar{display:none}.guide-preview-card{flex:0 0 72vw;scroll-snap-align:start}.guide-preview-card h3{font-size:23px}}

/* Alternating editorial rhythm: sand, paper, sand. */
.journal-section{background:#eee4d7}
.coco-section{background:var(--paper)}
.better-together{background:#eee4d7}

/* Give Coco's story the same generous vertical presence as adjacent chapters. */
.coco-section{
  min-height:auto;
  padding-top:clamp(4.8rem,5.5vw,6rem);
  padding-bottom:clamp(3.2rem,4vw,4.2rem);
}
@media(max-width:760px){
  .coco-section{
    min-height:auto;
    padding-top:4.25rem;
    padding-bottom:3.5rem;
  }
}
