/* Meet Me in the Middle — visual refinement, October 2026.
   Quiet editorial typography, clear tables, restrained colour and generous space.
   This layer intentionally leaves planning, mapping and account logic unchanged. */
:root{
  --bg:#f8f7f3;
  --surface:#fff;
  --ink:#25302f;
  --muted:#656f6c;
  --forest:#244e53;
  --forest-deep:#1e4044;
  --pale:#edf3f2;
  --line:#dedfda;
  --line-light:#e9eae5;
  --tint:#f2f2ee;
  --shadow:none;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
html{scroll-behavior:auto}
body{background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55}
h1,h2,h3{font-family:Georgia,'Iowan Old Style','Palatino Linotype',serif;letter-spacing:-.035em;font-weight:normal}
h1{font-weight:normal;letter-spacing:-.052em}
em{color:inherit;font-style:normal}
.section-kicker,.eyebrow,.home-kicker{font-family:inherit;font-weight:650;letter-spacing:.045em;font-size:11px;color:#586b6c}
:focus-visible{outline:2px solid #446b70!important;outline-offset:3px}
button,input,textarea,select{font-family:inherit}
.topbar{height:71px;background:#fff;border-bottom:1px solid #e5e5df;box-shadow:none;backdrop-filter:none}
.topbar-inner{max-width:1400px;padding:0 46px;gap:34px}
.brand{font-family:Georgia,'Iowan Old Style',serif;font-size:18px;letter-spacing:-.055em;color:#273b3b;font-weight:700;gap:10px}
.brand .brand-stop{color:inherit}
.brand-mark{border-radius:5px;width:30px;height:30px;background:#264d53}
.nav{gap:5px}
.nav-item{font-size:13px;font-weight:550;color:#4e5654;border-radius:4px;padding:9px 12px;gap:0}
.nav-item svg{display:none}
.nav-item.active{color:#1c454b;background:#e9f0ef;font-weight:650}
.nav-item:hover{background:#f4f5f2}
.topbar-right{gap:12px}
.workspace-pill{border:0;border-radius:3px;background:#f1f2ef;color:#606c68;font-size:11px;font-weight:500;padding:7px 10px}
.account-link{min-height:36px;font-size:12px;font-weight:600;border-radius:5px;color:#294e53;border:1px solid #cbd5d2;padding:7px 13px}
.account-link.active{background:#264c52;color:#fff}
.container{max-width:1300px;padding:54px 50px 105px}
.card,.map-card,.result-card{border:1px solid var(--line);border-radius:7px;box-shadow:none;background:#fff}
.page-header{margin-bottom:34px}
.page-header h1,.intro-flex h1{font-family:Georgia,serif;font-size:clamp(36px,4vw,54px);letter-spacing:-.045em;line-height:1.15;font-weight:normal;margin-top:12px}
.page-header .lead,.intro-top .lead{font-size:15px;color:#65706a;line-height:1.7;margin-top:12px}
.primary-button,.outline-small,.subtle-button{min-height:43px;border-radius:5px;font-size:13px;font-weight:600;box-shadow:none;transition:background-color .12s ease}
.primary-button{background:#264e53;color:#fff;padding:0 20px}
.primary-button:hover{background:#173b40}
.outline-small{background:#fff;color:#264e53;border:1px solid #cbd7d3;padding:0 16px}
.outline-small:hover{background:#f1f5f3}
.subtle-button{color:#245259}
.field>span{font-size:12px;font-weight:650;color:#4b5956}
.field input,.field select,.field textarea{min-height:44px;height:44px;border-color:#d5dbd7;border-radius:5px;font-size:13px;background:#fff}
.field input:focus,.field select:focus{border-color:#57777b}
/* Landing: real plan summary in place of a faux map, icons and marketing cards */
.home-container{padding-top:0;max-width:1400px}
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:80px;min-height:510px;align-items:center;padding-top:65px;padding-bottom:56px}
.home-hero-copy{padding:0;justify-content:center;align-items:flex-start}
.home-kicker{display:block;font-size:11px;letter-spacing:.075em;color:#576b6e;margin:0}
.home-hero h1{font-family:Georgia,'Iowan Old Style',serif;font-size:clamp(48px,5vw,72px);line-height:1.065;letter-spacing:-.06em;font-weight:normal;max-width:625px;margin:20px 0 24px;color:#293535}
.home-hero h1 em{color:#28565b;font-style:italic}
.home-hero-copy>p{max-width:470px;font-size:16px;line-height:1.75;color:#525e5b}
.home-actions{margin-top:30px;gap:12px}
.home-actions .hero-cta,.home-actions .hero-secondary{min-height:46px;font-size:13px;padding:0 19px}
.home-fineprint{font-size:12px;color:#798480;margin-top:17px}
.home-preview{background:#fff;border:1px solid #d8dcd8;border-radius:7px;overflow:hidden;align-self:center;box-shadow:0 12px 35px rgba(35,48,45,.05)}
.preview-top{height:47px;padding:0 25px;display:flex;justify-content:space-between;align-items:center;background:#f4f4ef;border-bottom:1px solid #e4e5df}
.preview-top-title{font-size:10px;font-weight:700;letter-spacing:.09em;color:#63716e}
.preview-state{font-size:11px;color:#74817d}
.preview-body{padding:33px 29px 0}
.preview-plan-label{font-size:12px;color:#6c7571}
.preview-plan-label span{margin:0 5px}
.preview-body h2{font-size:clamp(32px,3.4vw,42px);margin:8px 0 9px;color:#273637}
.preview-context{font-size:13px;line-height:1.65;color:#707975;max-width:375px}
.preview-rule{border-top:1px solid #e6e8e2;margin:26px 0 7px}
.preview-list-header{display:flex;justify-content:space-between;color:#83908b;font-size:11px;padding:10px 0;gap:10px}
.preview-people{display:flex;flex-direction:column}
.preview-person{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:15px;border-top:1px solid #eff0eb;font-size:12px;color:#66716b}
.preview-person-name{display:flex;gap:10px;align-items:center;font-weight:600;color:#293d3b;min-width:0}
.preview-person-name>span:last-child{overflow-wrap:anywhere}
.preview-initial{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ebf0ef;border:1px solid #dae5e1;color:#385f61;font-size:11px;font-weight:700;flex-shrink:0}
.preview-person>span:last-child{text-align:right;flex-shrink:0}
.preview-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f6f7f4;border-top:1px solid #e3e7e2;padding:16px 29px;margin:26px -29px 0;font-size:12px;color:#697874}
.preview-footer a{font-weight:650;display:flex;align-items:center;gap:8px;text-decoration:none;color:#1f4d52}
.preview-footer a:hover{text-decoration:underline}
.home-intro-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;padding:27px 0 34px;border-top:1px solid #dcded7;border-bottom:1px solid #dcded7}
.home-intro-strip>div{padding:6px 38px 6px 0;border:0}
.home-intro-strip>div:first-child{padding-left:0}
.home-intro-strip>div:not(:first-child){padding-left:37px;border-left:1px solid #e1e4df}
.home-step-number{font-size:10px;color:#65787b;font-weight:700;letter-spacing:.07em;margin-bottom:10px}
.home-intro-strip strong{font-size:15px;color:#2c3937;font-weight:650;margin-bottom:7px}
.home-intro-strip p{font-size:13px;line-height:1.6;color:#697571}
.home-directory{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding:90px 0 85px}
.home-directory-intro{max-width:400px}
.home-directory-intro h2{font-size:clamp(32px,3.5vw,47px);line-height:1.18;margin:18px 0}
.home-directory-intro p{font-size:15px;color:#6b746f;line-height:1.75;max-width:380px}
.home-directory-options{display:flex;flex-direction:column}
.home-directory-link{display:grid;grid-template-columns:34px 1fr 24px;gap:15px;align-items:center;text-decoration:none;padding:23px 0;border-top:1px solid #d8dfda;color:#25474a}
.home-directory-link:last-child{border-bottom:1px solid #d8dfda}
.home-directory-link:hover{background:#f1f3ef}
.directory-number{font-size:12px;font-weight:650;color:#72827f}
.home-directory-link strong{display:block;font-size:16px;color:#2c3837;font-weight:650;margin-bottom:4px}
.home-directory-link small{display:block;color:#737e7a;font-size:12px;line-height:1.5}
.home-last-note{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #dfe1db;padding:24px 0 10px}
.home-last-note strong{font-size:15px;font-weight:650;color:#303d3c}
.home-last-note p{font-size:12px;color:#737d79;margin-top:4px}
.home-last-note .outline-small{white-space:nowrap}
/* Other pages: visual hierarchy over ornamental treatments */
.section-head h2,.map-topline h2,.discover-title h2,.match-card h2{font-size:23px;font-family:Georgia,serif;font-weight:normal}
.planner-card{padding:34px}
.person-card{border:1px solid #e2e5e0;background:#fbfbf9;border-radius:5px;padding:22px}
.person-number{border-radius:4px;background:#e7efed;color:#29535a}
.group-field{margin-top:23px}
.add-person{border-radius:5px}
.planner-actions{margin-top:24px}
.planner-actions .big-button{min-height:48px}
.result-card{padding:28px}.map-topline{padding:25px 26px 17px}
.map-card,.result-card{border-radius:6px}
.hub-card{border-radius:5px;box-shadow:none}
.routing-panel{background:#f6f8f6;border-color:#dfe4df;border-radius:5px}
.trust-strip{background:#f3f5f1;border:1px solid #e3e7e1;border-radius:5px;padding:25px}
/* Discovery: destinations are listings, not stylised product cards */
.explore-location-intro{border-radius:6px;background:#fff}
.discover-layout{gap:25px}
.discovery-search{border-radius:5px;background:#fff}
.discovery-sort select{border-radius:5px}
.filter-chip{border-radius:4px}
.discover-results,.discover-map{border-radius:6px}
.enriched-place-card{border-radius:5px;box-shadow:none;transition:none}
.enriched-place-card:hover{transform:none;box-shadow:none;border-color:#99b2af}
.enriched-place-card .place-visual{height:175px;background:#f0f1ed}
.enriched-place-card .place-text{padding:18px;min-height:168px}
.enriched-place-card .place-text h3{font-family:inherit;font-weight:650;font-size:16px;letter-spacing:-.012em}
.enriched-place-card .place-text .place-teaser{font-size:12px;line-height:1.6}
.price-inline{background:transparent;color:#506361;padding:0;font-weight:600;font-size:11px}
.place-fallback.cat-fooddrink,.place-fallback.cat-culture,.place-fallback.cat-outdoors{background:#eceeea;color:#526565}
.place-detail-cta{font-size:12px}
.place-detail-shell{border-radius:7px}
.place-detail-top h2{font-family:Georgia,serif;font-weight:normal}
.place-close{border-radius:4px;background:#f1f2ee}
.place-body-grid h3{font-size:17px;color:#293f3e}
.place-facts,.place-reviews{background:#f8f8f5;border-radius:5px}
/* Account and groups use the same consistent panels */
.account-main,.account-side-card,.account-local,.groups-card{border-radius:6px;box-shadow:none}
.account-main h2,.account-side-card h3,.account-local h3,.groups-card h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-.035em}
.account-setup{border-radius:5px;background:#f6f7f4}
.account-avatar,.account-google-icon{border-radius:5px}
.account-local{background:#f2f5f2;border:1px solid #e0e5e0}
.invite-box{border-radius:5px;background:#f6f8f5}
.group-choice{border-radius:5px}
.footer{max-width:1300px;padding:38px 50px 45px;border-color:#e0e2dc}
.footer-brand strong{font-family:Georgia,serif;font-size:16px;font-weight:700;letter-spacing:-.045em;color:#2b4344}
.footer-links a{font-size:12px;font-weight:500;color:#5b6a66}
.footer-note{font-size:11px}
@media(max-width:1100px){
  .topbar-inner{padding:0 28px;gap:15px}
  .brand{font-size:16px}
  .nav-item{padding:8px 9px;font-size:12px}
  .home-hero{gap:32px;grid-template-columns:minmax(0,1fr) minmax(370px,.9fr)}
  .home-hero h1{font-size:clamp(43px,5vw,62px)}
  .home-directory{gap:40px}
}
@media(max-width:850px){
  .topbar{height:64px}
  .topbar-inner{padding:0 22px}
  .brand{font-size:17px}
  .container{padding:40px 26px 92px}
  .home-hero{grid-template-columns:1fr;gap:32px;min-height:0;padding:25px 0 52px}
  .home-hero-copy{padding:0}
  .home-hero h1{font-size:clamp(43px,7vw,62px);max-width:720px}
  .home-preview{width:100%;max-width:680px}
  .home-intro-strip{margin-top:0}
  .home-intro-strip>div:not(:first-child){padding-left:20px}
  .home-intro-strip>div{padding-right:15px}
  .home-directory{padding:65px 0 60px;grid-template-columns:1fr;gap:30px}
  .home-directory-intro{max-width:600px}
  .mobile-bottom-nav{background:#fff;box-shadow:none;border-color:#dce2dd}
  .mobile-nav-link{border-radius:4px;font-weight:550;color:#52635e}
  .mobile-nav-link.active{background:#eaf0ee;color:#204d53}
  .footer{padding:35px 26px 112px}
}
@media(max-width:650px){
  .topbar-inner{padding:0 17px}
  .brand{font-size:16px;letter-spacing:-.065em}
  .account-link{font-size:12px;padding:7px 9px}
  .container{padding:31px 17px 90px}
  .home-hero{padding:16px 0 43px;gap:29px}
  .home-kicker{font-size:10px}
  .home-hero h1{font-size:clamp(42px,11vw,57px);line-height:1.08;margin:14px 0 20px}
  .home-hero-copy>p{font-size:15px;line-height:1.7}
  .home-actions{gap:10px;margin-top:25px}
  .home-actions .hero-cta,.home-actions .hero-secondary{min-height:43px;padding:0 14px;font-size:12px}
  .home-fineprint{font-size:11px;line-height:1.6}
  .preview-top{padding:0 18px}
  .preview-body{padding:23px 18px 0}
  .preview-body h2{font-size:34px}
  .preview-context{font-size:12px}
  .preview-footer{margin:19px -18px 0;padding:14px 18px}
  .home-intro-strip{grid-template-columns:1fr;padding:3px 0}
  .home-intro-strip>div,.home-intro-strip>div:first-child,.home-intro-strip>div:not(:first-child){padding:19px 0;border:0}
  .home-intro-strip>div:not(:last-child){border-bottom:1px solid #e2e5df}
  .home-intro-strip strong{font-size:14px}
  .home-directory{padding:53px 0 46px}
  .home-directory-intro h2{font-size:36px;margin:15px 0}
  .home-directory-link{grid-template-columns:26px 1fr 20px;gap:10px;padding:21px 0}
  .home-directory-link strong{font-size:14px}
  .home-directory-link small{font-size:11px}
  .home-last-note{align-items:start;flex-direction:column;padding-top:23px}
  .page-header h1,.intro-flex h1{font-size:38px}
  .planner-card{padding:21px 16px}
  .person-card{padding:18px 15px}
  .result-card{padding:20px 16px}
  .map-topline{padding:20px 17px}
  .enriched-place-card .place-visual{height:182px}
  .place-detail-shell{border-radius:0}
  .footer{padding:32px 17px 100px}
}
@media(max-width:355px){
  .home-hero h1{font-size:41px}
  .brand{font-size:14px}
  .preview-person>span:last-child{font-size:11px}
  .home-actions .hero-secondary{padding:0 10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Working import, draft backup and shared-agreement controls. */
.calendar-import-card{background:#f8f9f7;border-color:#dcded9;color:#253a33}
.calendar-import-card .field{margin:14px 0}
.calendar-import-card input[type="file"],.backup-actions input[type="file"]{height:auto;min-height:46px;background:#fff;padding:11px;font-size:12px;max-width:100%}
.calendar-import-card small,.backup-actions small{font-size:11px;line-height:1.7;color:#6b7871;display:block;margin-top:12px}
.calendar-import-preview{background:#fff;border:1px solid #d7dfd8;padding:16px;margin:16px 0;border-radius:5px}
.calendar-import-preview strong{font-size:14px;color:#1f4036}
.calendar-import-preview p{margin:9px 0 16px;color:#65776a}
.calendar-import-preview button{margin-right:8px;margin-bottom:8px}
.backup-actions{margin-top:24px;padding-top:16px;border-top:1px solid #d7ded8;display:grid;gap:12px;justify-items:start}
.backup-actions .field{width:100%}
.group-agreement{border:1px solid #cadcd0;background:#f2f7f2;padding:15px 17px;margin:15px 0;border-radius:6px}
.group-agreement strong{font-size:13px}
.group-agreement p{margin:8px 0 4px;font-size:12px}
.group-agreement small{font-size:11px;color:#66816f}
.invite-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.group-management{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #e6e9e4;margin-top:28px;padding-top:15px}
.danger-button{color:#a24140}
.danger-button:hover{color:#812d2b}
