@font-face{font-family:Syne;src:url('syne.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Inter;src:url('inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#101010;--muted:#626262;--line:#dedede;--paper:#fffaf4;--accent:#59a7db;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0072bb;outline-offset:4px}header{height:94px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 3.3%;gap:45px}.brand{text-decoration:none;line-height:.9;font-weight:800;font-size:19px;letter-spacing:-.5px}.brand span{display:block;font-size:28px}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:7px}.product{font-size:13px;letter-spacing:2px;border-left:1px solid var(--line);padding-left:34px}.pill{font-size:11px;letter-spacing:1px;padding:5px 8px;background:var(--accent);border-radius:4px;margin-left:10px}.guide{margin-left:auto;font-size:14px;text-decoration:none}main{max-width:1600px;margin:auto;padding:35px 3.3%}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow,.sectionlabel{font-size:11px;letter-spacing:1.9px;font-weight:700}.eyebrow{margin-bottom:11px;color:#626262}h1{font-family:Syne,sans-serif;font-size:36px;letter-spacing:-1.6px;margin:0;font-weight:800}.heading p{color:var(--muted);margin:9px 0 0}.primary{background:var(--ink);border:0;color:white;padding:14px 20px;border-radius:7px;font-weight:600;white-space:nowrap}.primary:hover{background:#0072bb}.workspace{display:grid;grid-template-columns:240px minmax(380px,1fr) 310px;gap:24px;align-items:start}.settings{background:white;border:1px solid var(--line);padding:23px 20px;border-radius:10px}.settings label{font-size:14px;display:block;margin:23px 0 9px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cccccc;background:#fff;color:var(--ink);padding:11px;border-radius:6px;min-width:0;font-size:14px}.presets{display:flex;gap:6px}.presets button{flex:1;background:white;border:1px solid var(--line);border-radius:7px;padding:10px 2px;font-size:24px;font-weight:600}.presets button span{display:block;font-size:10px;font-weight:400;margin-top:4px}.presets button.active{background:var(--ink);color:white;border-color:var(--ink)}.hint{color:var(--muted);font-size:13px;line-height:1.6}.divider{border-top:1px solid var(--line);margin:24px 0}.textbutton{background:none;border:0;color:var(--ink);padding:0;font-size:14px;font-weight:600;text-align:left}.textbutton:hover{text-decoration:underline}.photo{margin-top:26px;height:150px;border-radius:7px;overflow:hidden;position:relative;background:#2a5b8b}.photo img{width:100%;height:100%;object-fit:cover}.photo span{position:absolute;bottom:0;left:0;right:0;padding:30px 12px 10px;background:linear-gradient(transparent,#000a);color:white;font-size:14px}.photo small{font-size:10px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:white;border-radius:10px;padding:23px 10px;margin-bottom:22px}.metric{padding:0 17px;border-right:1px solid #ffffff35}.metric:last-child{border:0}.metric strong{font-family:Syne;font-size:25px;letter-spacing:-1px;display:block}.metric span{font-size:12px;color:#dedede;margin-top:5px;display:block}nav{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}nav button{border:0;border-bottom:3px solid transparent;background:none;padding:0 0 14px;white-space:nowrap;color:var(--muted);font-size:14px}nav button.active{border-color:var(--ink);color:var(--ink);font-weight:700}.viewheading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:22px 0 15px}h2{font-family:Syne;font-size:20px;letter-spacing:-.6px;line-height:1.4;margin:0}.viewheading span{font-size:12px;color:var(--muted)}.notice{padding:13px 15px;background:#edf5fc;border:1px solid #c9dfef;border-radius:7px;font-size:13px;line-height:1.6;margin-bottom:15px}.notice.warn{background:#fff4df;border-color:#efdab5;color:#775124}.stage{background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}.stage.selected{border-color:#0072bb;box-shadow:0 0 0 1px #0072bb}.stagehead{display:flex;align-items:center;width:100%;text-align:left;background:none;border:0;padding:17px 16px;gap:13px;color:var(--ink)}.day{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;font-size:13px}.selected .day{background:var(--ink);color:white;border-color:var(--ink)}.stagetitle{flex:1}.stagetitle small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.stagetitle strong{font-size:15px;line-height:1.5;font-weight:600}.stageStats{display:flex;gap:20px;padding:0 16px 16px 64px;font-size:12px;color:#626262}.effort{color:#976221}.detail{padding:17px;border-top:1px solid var(--line);font-size:14px;line-height:1.65}.detail p{margin:5px 0 14px}.actions{display:flex;gap:9px;flex-wrap:wrap}.secondary{padding:9px 12px;border:1px solid #cccccc;border-radius:5px;background:white;color:var(--ink);font-size:13px}.secondary:hover{background:#edf5fc}.overview{padding:4px 0 0 3px}.overview h2{margin-top:14px;font-size:23px}.overview svg{width:100%;height:auto;margin-top:8px}.mapcaption{font-size:11px;color:var(--muted);margin-top:-10px;margin-bottom:20px}.maplink{display:block;font-size:13px;margin:15px 0 20px}.tip{background:#f8f1ea;border-radius:8px;padding:20px;margin-top:20px}.tip p{font-size:14px;line-height:1.7}.overview details{font-size:12px;line-height:1.7;margin-top:23px;color:var(--muted)}summary{cursor:pointer}.summaryline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.bookcard,.panel{padding:22px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:13px}.bookcard h3,.panel h3{font-size:16px;margin:0 0 8px}.bookcard p,.panel p{font-size:14px;color:var(--muted);line-height:1.7}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.formgrid label{display:block;font-size:12px;margin-bottom:6px}.bookcard textarea{margin-top:10px;min-height:70px}.tag{font-size:11px;padding:5px 8px;border-radius:4px;background:#f2f2f2;display:inline-block;margin-bottom:10px}.tag.booked{background:#e1effb}.source{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px}.source small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.check{display:flex;gap:12px;align-items:start;padding:12px 0;font-size:14px;line-height:1.6}.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);flex-shrink:0}footer{max-width:1500px;margin:20px auto 0;border-top:1px solid var(--line);padding:25px 3%;display:flex;gap:30px;font-size:12px;font-weight:700}footer span{font-weight:400;color:var(--muted)}footer a{margin-left:auto;font-weight:400}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:15px 22px;box-shadow:0 5px 30px #0002;display:none;z-index:20;max-width:90vw;font-size:14px}.rest{background:#edf5fc}.barchart{display:flex;align-items:end;gap:5px;height:75px;margin:18px 0 6px}.barchart button{padding:0;flex:1;min-width:10px;background:#59a7db;border:0;border-radius:3px 3px 0 0}.barchart button.long{background:#c99652}.barchart button.active{background:var(--ink)}@media(min-width:1500px){.workspace{grid-template-columns:260px minmax(400px,1fr) 335px;gap:32px}}@media(max-width:1180px){.workspace{grid-template-columns:220px minmax(330px,1fr)}.overview{grid-column:2;display:none}h1{font-size:32px}nav{gap:14px}}@media(max-width:720px){header{height:77px;padding:0 20px;gap:18px}.product{padding-left:18px;font-size:10px;letter-spacing:1px}.guide{display:none}.brand{font-size:15px}.brand span{font-size:22px}.brand small{font-size:7px}.heading{display:block;margin-bottom:23px}.heading .primary{margin-top:19px;width:100%}h1{font-size:29px;letter-spacing:-1px}.heading p{font-size:14px}main{padding:25px 17px}.workspace{display:flex;flex-direction:column;gap:22px}.settings{width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:15px;padding:18px}.settings>.sectionlabel,.settings>.hint,.settings>.presets,.settings>.divider,.settings>.textbutton{grid-column:1/-1}.settings label{margin-top:15px;align-self:center}.settings .photo,.settings .divider{display:none}.settings .presets{margin-top:8px}.presets button span{font-size:12px}.settings>.sectionlabel:not(:first-child){display:none}.center{width:100%}.metrics{padding:19px 3px}.metric{padding:0 12px}.metric strong{font-size:24px}.metric span{font-size:11px}nav{gap:20px}.stagehead{padding:15px 12px;gap:10px}.stagetitle strong{font-size:14px}.stageStats{padding-left:57px;gap:14px}.overview{display:block;width:100%;padding:15px}.overview svg{max-width:350px;display:block;margin:auto}.overview .mapcaption{margin-top:0}footer{flex-wrap:wrap;gap:12px;padding:22px}footer a{margin-left:0}.formgrid{grid-template-columns:1fr}.photo{display:none}}@media print{header,.settings,.overview,nav,footer,.heading button,.actions,#toast{display:none!important}.workspace{display:block}.stage{break-inside:avoid}.center{width:100%}body{background:white}.detail{display:block}main{padding:0}.metrics{color:#000;background:white;border:1px solid #ccc}.metric span{color:#333}}

/* Ultimate France: actual site typography, colours and button treatment. */
.brand img{width:230px;height:auto;display:block;max-width:100%}.brand{flex-shrink:0}h1,h2,h3,.sectionlabel,.product{font-family:Syne,sans-serif;text-transform:uppercase}h1{font-size:34px;letter-spacing:-.7px;font-weight:700}h2{font-size:19px;letter-spacing:0}.metric strong{font-family:Syne,sans-serif}.primary{background:#151515;border-left:8px solid #59a7db;font-family:Syne,sans-serif;text-transform:uppercase;font-weight:700;font-size:14px;letter-spacing:.04em}.primary:hover{background:#0072bb}.settings,.metrics,.stage,.notice,.panel,.bookcard,.tip,.photo,.primary,.secondary,input,select,textarea,.presets button,.pill,.tag,#toast{border-radius:0}.pill{color:#101010}.presets button.active{background:#0072bb;border-color:#0072bb}nav button.active{border-color:#0072bb}a:hover,.textbutton:hover{color:#0072bb}.guide,.maplink,.source,.report p a{color:#2a5b8b}.selected .day{background:#0072bb;border-color:#0072bb}.notice p{margin:8px 0}.seasonhelp{font-size:13px;line-height:1.65;margin-top:12px;padding:12px;border-left:3px solid #59a7db;background:#edf5fc;grid-column:1/-1}.seasonhelp b{font-size:14px}.seasonhelp span{color:#626262}.formgrid label{font-size:14px}.barchart button.active{background:#0072bb}.overview h2{font-size:21px}.metrics{background:#101010}button,input,select{min-height:40px}.barchart button{min-height:0}#courmayeurRest{font-size:14px;line-height:1.5}.textbutton[aria-pressed=true]{color:#2a5b8b}
@media(max-width:720px){header{gap:15px}.brand img{width:180px}.product{font-size:10px;padding-left:14px;letter-spacing:0;display:flex;flex-direction:column;gap:5px;align-items:start}.product .pill{margin:0}h1{font-size:27px}.primary{white-space:normal}.settings .seasonhelp{margin-bottom:6px}.settings .presets{margin-bottom:5px}}

.calendar{grid-column:1/-1;margin-top:12px;border:1px solid #ddd;background:white;padding:10px}.calnav{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:10px}.calnav strong{font-size:14px}.calnav button{background:white;border:1px solid #ddd;min-width:30px;font-size:22px}.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calday{border:1px solid transparent;min-height:34px;padding:5px 0;font-size:13px}.best{background:#def0e3;color:#18552e}.shoulder{background:#fff0ce;color:#754900}.off{background:#fbe4e2;color:#912b28}.calday.chosen{outline:2px solid #101010;outline-offset:-2px;font-weight:800;text-decoration:underline}.calday:hover{border-color:#101010}.weekday{text-align:center;font-size:12px;color:#626262;padding:3px}.callegend{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;font-size:11px}.callegend span{padding:4px}.calendar .hint{font-size:12px;margin-bottom:0}@media(max-width:720px){.calday{min-height:44px;font-size:14px}.callegend{font-size:13px}}
