/* powercoit.travel — ported from the Hamptons itinerary design (white/sea-slate). */

@font-face{
  font-family:'Cormorant Garamond';
  font-weight:300 700;font-style:normal;font-display:swap;
  src:url(/fonts/CormorantGaramond-var.woff2) format('woff2');
}
@font-face{
  font-family:'Montserrat';
  font-weight:100 900;font-style:normal;font-display:swap;
  src:url(/fonts/Montserrat-var.woff2) format('woff2');
}

:root{
  --paper:#FFFFFF; --card:#F3F6F6; --card2:#E9EFEF;
  --ink:#151719; --muted:#66706F; --faint:#9FA9A8;
  --gold:#3E6E7A; --gold-deep:#2E5661; --gold-wash:rgba(62,110,122,.08);
  --sea:#2B3335; --sea-wash:rgba(43,51,53,.08);
  --warn:#7A8285; --warn-wash:rgba(122,130,133,.12);
  --line:rgba(21,30,32,.18); --line-soft:rgba(21,30,32,.08);
}
@media (prefers-color-scheme: dark){:root{
  --paper:#131717; --card:#1B2021; --card2:#222829;
  --ink:#E9ECEC; --muted:#9BA5A4; --faint:#697271;
  --gold:#7FB0BC; --gold-deep:#A3CAD3; --gold-wash:rgba(127,176,188,.10);
  --sea:#C3CDCD; --sea-wash:rgba(195,205,205,.12);
  --warn:#93A0A3; --warn-wash:rgba(147,160,163,.12);
  --line:rgba(233,236,236,.20); --line-soft:rgba(233,236,236,.08);
}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',system-ui,sans-serif;font-size:14px;line-height:1.6}
.wrap{max-width:880px;margin:0 auto;padding:56px 28px 72px}
h1,h2,h3{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;text-wrap:balance}
p{margin:0}
a{color:inherit}
.act a,.place a,a.lnk{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}

.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}
.masthead{text-align:center;padding-bottom:36px}
.masthead .rule{width:64px;height:1px;background:var(--gold);margin:20px auto}
.masthead h1{font-size:64px;line-height:1.02;font-weight:500;letter-spacing:.01em;margin-top:14px}
.masthead .sub{margin-top:12px;font-size:14px;color:var(--muted)}
.masthead .sub strong{color:var(--ink);font-weight:600}
.metachips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px}
.metachips span{font-size:11px;font-weight:600;letter-spacing:.06em;padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
section{margin-top:52px;scroll-margin-top:24px}

/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:34px}
.tab{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.05em;
  padding:11px 17px;border-radius:999px;border:1px solid var(--line);background:transparent;
  color:var(--muted);cursor:pointer;line-height:1;-webkit-tap-highlight-color:transparent;
  transition:background .15s ease,border-color .15s ease,color .15s ease}
.tab:hover{border-color:var(--gold);color:var(--gold-deep)}
.tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.tab[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:var(--paper);font-weight:700}
.wrap.tabbed section.panel{display:none}
.wrap.tabbed section.panel.on{display:block;margin-top:34px}
@media (max-width:720px){
  .tabs{gap:7px}
  .tab{font-size:11.5px;padding:10px 14px;flex:1 1 auto}
}
@media print{.tabs{display:none}.wrap.tabbed section.panel{display:block !important}}

/* travel */
.travel{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tcard{background:var(--card);border:1px solid var(--line-soft);border-radius:4px;padding:18px 20px}
.tcard.wide{grid-column:1/-1}
.tcard .lbl{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.tcard .route{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;margin-top:6px}
.tcard .det{margin-top:6px;font-size:12.5px;color:var(--muted);line-height:1.7}
.tcard .det b{color:var(--ink);font-weight:600}

/* chef / camp profile cards */
.chefcard{background:var(--card);border:1px solid var(--line-soft);border-radius:4px;padding:22px 24px}
.chefgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.chefcard h3{font-size:24px}
.chefcard .role{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.chefcard .body{margin-top:12px;font-size:13px;color:var(--muted);line-height:1.75}
.chefcard .body b{color:var(--ink);font-weight:600}
.chefdates{display:flex;flex-direction:column;gap:8px}
.cd{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line-soft);border-radius:3px;padding:8px 12px}
.cd .d{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:700;min-width:74px}
.cd .m{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--muted)}
.cd.tent{border-style:dashed;border-color:var(--warn)}
.cd.tent .m{color:var(--warn)}

/* day ledger */
.week-label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:30px 0 12px}
.week-label:first-of-type{margin-top:0}
.day{display:grid;grid-template-columns:86px 1fr 218px;gap:0;border:1px solid var(--line-soft);border-radius:4px;background:var(--card);margin-bottom:12px;overflow:hidden}
.day.hero{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.daterail{padding:18px 0 18px 20px;border-right:1px solid var(--line-soft)}
.daterail .dow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.daterail .num{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:500;line-height:1;margin-top:4px;font-variant-numeric:tabular-nums}
.daymain{padding:16px 20px 18px}
.daymain h3{font-size:20px;font-weight:700}
.daytag{display:inline-block;vertical-align:3px;margin-left:8px;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sea);background:var(--sea-wash);border:1px solid var(--sea);border-radius:999px;padding:3px 9px;white-space:nowrap}
.daymain ul{margin:8px 0 0;padding:0;list-style:none;font-size:12.5px;color:var(--muted);line-height:1.75}
.daymain li{padding-left:14px;position:relative}
.daymain li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:1px;background:var(--gold)}
.daymain li b{color:var(--ink);font-weight:600}
.flag{margin-top:10px;font-size:11.5px;line-height:1.6;color:var(--warn);background:var(--warn-wash);border-left:2px solid var(--warn);padding:7px 10px;border-radius:0 3px 3px 0}
.mealrail{border-left:1px solid var(--line-soft);background:var(--card2);padding:14px 16px;display:flex;flex-direction:column;gap:9px;justify-content:center}
.meal{display:grid;grid-template-columns:14px 1fr;gap:9px;align-items:start}
.meal .k{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--faint);padding-top:4px}
.pill{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.05em;padding:4px 9px;border-radius:3px;line-height:1.45}
.pill.chef{background:var(--gold);color:var(--paper)}
.pill.booked{background:var(--sea);color:var(--paper)}
.pill.book{border:1px solid var(--gold);color:var(--gold-deep);background:var(--gold-wash)}
.pill.easy{border:1px solid var(--line);color:var(--muted);background:transparent}
.pill.tent{border:1px dashed var(--warn);color:var(--warn);background:var(--warn-wash)}
.pill.travel{color:var(--faint);border:1px solid var(--line-soft)}
.pill.cancelled{border:1px solid var(--line-soft);color:var(--faint);text-decoration:line-through}
.pill small{display:block;font-size:9.5px;font-weight:400;letter-spacing:.02em;opacity:.85;margin-top:1px;text-decoration:none}

/* actions */
.actions{counter-reset:act}
.act{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line-soft)}
.act:last-child{border-bottom:0}
.act::before{counter-increment:act;content:counter(act,decimal-leading-zero);font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;color:var(--gold);line-height:1.1}
.act h3{font-size:15px;font-family:'Montserrat',sans-serif;font-weight:600}
.act p{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.7;max-width:62ch}
.act p b{color:var(--ink);font-weight:600}

/* directory */
.dircols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dirgroup{background:var(--card);border:1px solid var(--line-soft);border-radius:4px;padding:18px 20px}
.dirgroup h3{font-size:19px;margin-bottom:4px}
.dirgroup.wide{margin-top:14px}
.place{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.place:last-child{border-bottom:0;padding-bottom:2px}
.place .nm{font-size:13px;font-weight:600}
.place .nm span{font-weight:400;color:var(--muted);font-size:11.5px}
.place .in{font-size:11.5px;color:var(--muted);line-height:1.65;margin-top:2px}
.place .in b{color:var(--gold-deep);font-weight:600}
.subhead{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-top:18px;padding:12px 0 2px;border-top:1px solid var(--line)}
.nm .sched{display:inline-block;margin-left:5px;vertical-align:1px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap}
.nm .sched.on{background:var(--gold);color:var(--paper)}
.nm .sched.off{color:var(--faint);border:1px solid var(--line-soft);background:transparent}

/* closed table */
.closed{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}
.closed th{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.closed td{padding:8px 10px;border-bottom:1px solid var(--line-soft);color:var(--muted);vertical-align:top}
.closed td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.closed tr:last-child td{border-bottom:0}
.tablewrap{overflow-x:auto}

.footer{margin-top:60px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.8;text-align:center}
.footer b{color:var(--ink);font-weight:600}

/* gate + loading (new: shown before data, or without a token) */
.gate{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 28px}
.gate .rule{width:64px;height:1px;background:var(--gold);margin:20px auto}
.gate h1{font-size:38px;font-weight:500}
.gate p{margin-top:10px;font-size:13px;color:var(--muted);max-width:44ch;line-height:1.7}
.gate.loading .eyebrow{animation:fade 1.2s ease-in-out infinite alternate}
@keyframes fade{from{opacity:.35}to{opacity:1}}

@media (max-width:720px){
  .wrap{padding:36px 16px 56px}
  .masthead h1{font-size:44px}
  .travel,.chefgrid,.dircols{grid-template-columns:1fr}
  .day{grid-template-columns:64px 1fr}
  .daterail{padding-left:14px}
  .daterail .num{font-size:30px}
  .mealrail{grid-column:1/-1;border-left:0;border-top:1px solid var(--line-soft);flex-direction:row;flex-wrap:wrap;gap:8px 16px}
  .sechead{flex-wrap:wrap}
  .sechead .note{margin-left:0;text-align:left;width:100%}
}
@media (prefers-reduced-motion:no-preference){
  .day{transition:border-color .15s ease}
}
