:root{--lc:#7D7062;--lc-d:#5E5348}
.h2 em{color:var(--taupe)}
/* shared form */
.fm .f{display:flex;flex-direction:column;gap:7px}
.fm label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-d);font-weight:500}
.fm label small{text-transform:none;letter-spacing:0;color:var(--taupe-l);font-weight:400}
.fm input,.fm select,.fm textarea{width:100%;border:1px solid var(--stone);border-radius:12px;background:var(--white);padding:0 16px;height:52px;font-size:15.5px;outline:none;transition:border-color .2s,box-shadow .2s;appearance:none}
.fm textarea{height:140px;padding:14px 16px;resize:vertical;line-height:1.6}
.fm select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237D7062' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.fm input:focus,.fm select:focus,.fm textarea:focus{border-color:var(--fc,var(--ink));box-shadow:0 0 0 4px rgba(125,112,98,.15)}
.fm .err input,.fm .err select,.fm .err textarea{border-color:#E8323A}
.fm .em{display:none;font-size:12px;color:#E8323A}
.fm .err .em{display:block}
.fm .g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fm .st{display:grid;gap:14px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:var(--taupe-d);cursor:pointer}
.chk input{appearance:none;flex:0 0 20px;width:20px;height:20px;padding:0;border:1.5px solid var(--taupe-l);border-radius:6px;margin-top:1px;display:grid;place-items:center;cursor:pointer;background:var(--white)}
.chk input:checked{background:var(--ink);border-color:var(--ink)}
.chk input:checked::after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.chk.err input{border-color:#E8323A}
.chk a{text-decoration:underline}
.ok{text-align:center;padding:40px 10px}
.ok i{width:70px;height:70px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;margin:0 auto 20px;font-style:normal;font-size:28px}
.ok h4{font-family:var(--serif);font-weight:300;font-size:32px}
.ok p{color:var(--taupe-d);margin-top:8px;line-height:1.6}
.ok b.no{display:inline-block;margin-top:18px;padding:10px 18px;border-radius:10px;background:var(--sand);font-family:var(--serif);font-size:19px;font-weight:400}
.map{position:relative;overflow:hidden;background:#ECE4D8}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.pin{position:absolute;left:52%;top:48%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;z-index:2}
.pin .bub{background:var(--white);border-radius:14px;padding:12px 16px;box-shadow:0 20px 40px -18px rgba(43,36,31,.5);display:flex;gap:12px;align-items:center;white-space:nowrap}
.pin .bub img{height:24px}
.pin .bub b{display:block;font-size:13.5px;font-weight:500}
.pin .bub small{font-size:12px;color:var(--taupe)}
.pin .dot{width:16px;height:16px;border-radius:50%;background:var(--c-orta);border:3px solid #fff;margin-top:10px;position:relative;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.pin .dot::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid var(--c-orta);animation:pul 2s infinite}
@keyframes pul{from{transform:scale(.4);opacity:1}to{transform:scale(1.4);opacity:0}}
.open-now{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
.open-now i{width:9px;height:9px;border-radius:50%;background:var(--c-lise);box-shadow:0 0 0 4px rgba(64,165,74,.18)}
.open-now.closed i{background:#E8323A;box-shadow:0 0 0 4px rgba(232,50,58,.15)}
.dep{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dep div{background:var(--white);border-radius:20px;padding:24px;border-top:4px solid var(--k);display:flex;flex-direction:column}
.dep small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.dep h5{font-family:var(--serif);font-weight:400;font-size:22px;margin:8px 0 12px}
.dep a{font-size:14px;color:var(--taupe-d);padding:3px 0}
.dep a:hover{color:var(--ink)}
.dirs .tabs{display:flex;gap:8px;flex-wrap:wrap}
.dirs .tabs button{height:42px;padding:0 18px;border-radius:30px;border:1px solid var(--stone);font-size:14px}
.dirs .tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dirs .pane{margin-top:20px;font-size:15px;line-height:1.7;color:var(--taupe-d)}
.dirs .pane ol{list-style:none;counter-reset:s;display:grid;gap:10px;margin-top:10px}
.dirs .pane li{counter-increment:s;display:flex;gap:14px}
.dirs .pane li::before{content:counter(s);flex:0 0 26px;height:26px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:12px;color:var(--ink)}
/* ===== DEMO 1 — Split ===== */
.k-top{background:var(--white);padding:46px 0 70px}
.k-top .g{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-top:34px}
.k-top h1{font-family:var(--serif);font-weight:300;font-size:clamp(64px,9vw,140px);line-height:.88;letter-spacing:-.02em}
.k-top h1 em{font-style:italic;color:var(--taupe)}
.k-q{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.k-q a{border:1px solid var(--stone);border-radius:20px;padding:22px;transition:.3s;display:flex;flex-direction:column;gap:4px}
.k-q a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.k-q a:hover small{color:rgba(255,255,255,.6)}
.k-q small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.k-q b{font-family:var(--serif);font-weight:400;font-size:22px}
.k-main{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1376px;margin:0 auto;padding:0 32px}
.k-form{background:var(--cream);padding:70px 60px 70px 0}
.k-form h2{margin-bottom:10px}
.k-form>p{color:var(--taupe-d);margin-bottom:30px}
.k-mapw{position:relative}
.k-mapw .map{position:sticky;top:80px;height:calc(100vh - 80px);min-height:560px;border-radius:0 0 0 28px}
.k-mapw .card{position:absolute;left:24px;right:24px;bottom:24px;background:var(--white);border-radius:20px;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:center;z-index:3}
.k-mapw .card p{font-size:14px;color:var(--taupe-d);line-height:1.55}
.k-sec{padding:110px 0}
.k-vis{background:var(--esp);color:var(--cream)}
.k-vis .eyebrow{color:var(--taupe-l)}
.k-vis .h2 em{color:var(--taupe-l)}
.k-vis .g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:44px}
.k-vis .g div{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:30px}
.k-vis .g b{font-family:var(--serif);font-weight:300;font-size:30px;display:block;margin:12px 0 8px}
.k-vis .g p{font-size:14.5px;color:rgba(247,243,238,.7);line-height:1.6}
.k-vis .g small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--yel)}
/* ===== DEMO 2 — Map first ===== */
.p-hero{position:relative;height:640px}
.p-hero .map{position:absolute;inset:0}
.p-hero .wrap{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:50px;pointer-events:none}
.p-card{pointer-events:auto;background:var(--white);border-radius:26px;padding:34px;width:440px;box-shadow:0 40px 70px -40px rgba(43,36,31,.5);position:relative;z-index:3}
.p-card .bc{margin-bottom:18px}
.p-card h1{font-family:var(--serif);font-weight:300;font-size:56px;line-height:.95}
.p-card h1 em{font-style:italic;color:var(--taupe)}
.p-card dl{margin-top:22px;display:grid}
.p-card dl div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--sand);font-size:14.5px}
.p-card dt{color:var(--taupe)}
.p-card dd{text-align:right}
.p-card .act{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.p-card .btn{height:46px;padding:0 20px;font-size:13.5px}
.p-card .btn.o{color:var(--ink);border-color:var(--stone)}
.p-help{padding:110px 0 60px}
.p-topics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px}
.p-topics button{text-align:left;border:1px solid var(--stone);border-radius:20px;padding:22px;background:var(--white);transition:.3s;min-height:150px;display:flex;flex-direction:column}
.p-topics button i{width:38px;height:38px;border-radius:12px;background:var(--k);color:#fff;display:grid;place-items:center;font-style:normal;font-family:var(--serif);font-size:18px}
.p-topics button.y i{color:var(--ink)}
.p-topics button b{font-family:var(--serif);font-weight:400;font-size:21px;margin-top:auto}
.p-topics button small{font-size:12.5px;color:var(--taupe)}
.p-topics button:hover{border-color:var(--k)}
.p-topics button.on{border-color:var(--k);box-shadow:inset 0 0 0 1px var(--k);background:color-mix(in srgb,var(--k) 7%,var(--white))}
.p-fw{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding-bottom:110px;align-items:start}
.p-who{position:sticky;top:110px;background:var(--esp);color:var(--cream);border-radius:24px;padding:30px;overflow:hidden}
.p-who::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--k)}
.p-who small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe-l)}
.p-who h4{font-family:var(--serif);font-weight:300;font-size:32px;margin:10px 0 6px}
.p-who p{font-size:14px;color:rgba(247,243,238,.7);line-height:1.6}
.p-who .pp{display:flex;gap:14px;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.p-who .pp i{width:48px;height:48px;border-radius:50%;background:var(--k);display:grid;place-items:center;font-style:normal;font-family:var(--serif);font-size:20px;color:#fff}
.p-who .pp b{display:block;font-size:15px;font-weight:500}
.p-who .pp span{font-size:12.5px;color:rgba(247,243,238,.6)}
.p-who .ln{display:grid;gap:8px;margin-top:20px}
.p-who .ln a{display:flex;justify-content:space-between;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.06);font-size:14px}
.p-who .ln a:hover{background:rgba(255,255,255,.12)}
.p-hours{background:var(--white);padding:90px 0}
.p-hours .g{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.p-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.p-week div{border-radius:16px;padding:16px 10px;text-align:center;background:var(--cream);border:1px solid transparent}
.p-week div.today{border-color:var(--ink);background:var(--white)}
.p-week div.off{opacity:.45}
.p-week small{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.p-week b{display:block;font-family:var(--serif);font-weight:400;font-size:17px;margin-top:8px;line-height:1.3}
/* ===== DEMO 3 — Concierge ===== */
.c3-hero{background:var(--esp);color:var(--cream);position:relative;overflow:hidden}
.c3-hero .wrap{padding-top:40px;padding-bottom:90px;position:relative}
.c3-hero .bc{color:rgba(247,243,238,.6)}
.c3-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(90px,15vw,230px);line-height:.85;letter-spacing:-.03em;margin-top:40px}
.c3-hero h1 em{font-style:italic;color:var(--taupe-l)}
.c3-hero .glow{position:absolute;width:900px;height:900px;right:-300px;top:-400px;border-radius:50%;background:radial-gradient(closest-side,rgba(83,184,234,.16),transparent)}
.c3-ways{margin-top:60px;border-top:1px solid rgba(255,255,255,.12)}
.c3-ways a{display:grid;grid-template-columns:60px 1fr auto 60px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12);transition:padding .35s}
.c3-ways a:hover{padding-left:14px}
.c3-ways a .n{font-size:12px;letter-spacing:.2em;color:var(--taupe-l)}
.c3-ways a b{font-family:var(--serif);font-weight:300;font-size:46px;line-height:1;transition:color .3s}
.c3-ways a:hover b{color:var(--k)}
.c3-ways a span{font-size:16px;color:rgba(247,243,238,.75)}
.c3-ways a i{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-style:normal;transition:.3s}
.c3-ways a:hover i{background:var(--k);border-color:var(--k);color:#fff}
.c3-sent{padding:120px 0;background:var(--cream)}
.c3-sent .box{background:var(--white);border-radius:30px;padding:60px 64px}
.c3-sent .sn{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3vw,40px);line-height:1.7;margin-top:30px}
.c3-sent .sn input,.c3-sent .sn select{font:inherit;font-style:italic;color:var(--taupe-d);border:0;border-bottom:1.5px solid var(--stone);background:transparent;outline:none;padding:0 4px;min-width:60px;transition:border-color .2s}
.c3-sent .sn select{appearance:none;cursor:pointer;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237D7062' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}
.c3-sent .sn input:focus,.c3-sent .sn select:focus{border-color:var(--ink)}
.c3-sent .sn .err{border-color:#E8323A!important}
.c3-sent .sn textarea{display:block;width:100%;font-family:var(--sans);font-size:16px;font-style:normal;line-height:1.6;color:var(--ink);border:1px solid var(--stone);border-radius:14px;padding:16px;margin-top:16px;height:110px;outline:none;resize:vertical}
.c3-sent .bt{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;flex-wrap:wrap}
.c3-sent .bt .msg{font-size:13.5px;color:#E8323A;min-height:20px}
.c3-dep{padding:0 0 110px;background:var(--cream)}
.c3-dep .g{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.c3-acc details{border-bottom:1px solid var(--stone)}
.c3-acc details:first-child{border-top:1px solid var(--stone)}
.c3-acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:14px 1fr 40px;gap:18px;align-items:center;padding:22px 0;font-family:var(--serif);font-size:26px}
.c3-acc summary::-webkit-details-marker{display:none}
.c3-acc summary s{width:12px;height:12px;border-radius:50%;background:var(--k)}
.c3-acc summary i{width:36px;height:36px;border-radius:50%;border:1px solid var(--stone);display:grid;place-items:center;font-style:normal;font-family:var(--sans);font-size:18px;transition:.3s}
.c3-acc details[open] summary i{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
.c3-acc .bd{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 0 24px 32px;font-size:14px;color:var(--taupe-d)}
.c3-acc .bd small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:4px}
.c3-find{display:grid;grid-template-columns:1.2fr .8fr;min-height:540px}
.c3-find .map{min-height:400px}
.c3-find .tx{background:var(--white);padding:60px 56px}
@media (max-width:1100px){.p-topics{grid-template-columns:repeat(3,1fr)}.dep{grid-template-columns:1fr 1fr}}
@media (max-width:1000px){
  .hd-menu,.hd>.wrap>.hd-cta{display:none}.hd-bgr{display:flex}.hd>.wrap{height:70px}.hd-logo img{height:36px}.ftx-mid .wrap{grid-template-columns:1fr;gap:40px}
  .k-top .g,.k-main,.p-fw,.p-hours .g,.c3-dep .g,.c3-find{grid-template-columns:1fr;gap:40px}
  .k-main{padding:0}
  .k-form{padding:60px 32px}
  .k-mapw .map{position:relative;top:0;height:460px;min-height:0;border-radius:0}
  .k-vis .g{grid-template-columns:1fr}
  .p-who{position:static}
  .p-hero{height:auto}
  .p-hero .map{position:relative;height:360px}
  .p-hero .wrap{padding:0;margin-top:-60px;padding-bottom:40px;height:auto}
  .p-card{width:100%;margin:0 20px}
  .c3-find .tx{padding:50px 32px}
}
@media (max-width:640px){
  .wrap{padding:0 20px}html{scroll-padding-top:120px}.sw span,.sw em{display:none}.sw button{padding:0 12px;font-size:12px}.ftx-nav{grid-template-columns:1fr 1fr}.ftx-bot .wrap{flex-direction:column}
  .k-q{grid-template-columns:1fr}
  .k-form{padding:50px 20px}
  .fm .g2{grid-template-columns:1fr}
  .dep{grid-template-columns:1fr}
  .k-sec{padding:80px 0}
  .p-card{padding:26px;margin:0}
  .p-card h1{font-size:44px}
  .p-hero .wrap{padding:0 20px 30px}
  .p-topics{grid-template-columns:1fr 1fr}
  .p-topics button{min-height:120px;padding:16px}
  .p-week{grid-template-columns:repeat(4,1fr)}
  .c3-ways a{grid-template-columns:1fr 46px;gap:6px 14px}
  .c3-ways a .n{display:none}
  .c3-ways a b{font-size:34px}
  .c3-ways a span{grid-column:1;font-size:14px}
  .c3-ways a i{grid-row:1/3;grid-column:2;width:46px;height:46px}
  .c3-sent{padding:70px 0}
  .c3-sent .box{padding:34px 22px}
  .c3-acc summary{font-size:21px}
  .c3-acc .bd{grid-template-columns:1fr;padding-left:0}
  .c3-find .tx{padding:40px 20px}
}
.fm label.chk{font-size:13.5px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--taupe-d)}
.c3-sent .bt{font-family:var(--sans);font-size:15px;line-height:1.5}
.c3-sent .bt .btn{font-family:var(--sans);font-style:normal}
.c3-sent .sn .chk input{border:1.5px solid var(--taupe-l);border-radius:6px;min-width:0;width:20px;height:20px;padding:0;background:var(--white)}
.c3-sent .sn .chk input:checked{background:var(--ink);border-color:var(--ink)}
.c3-sent .sn .chk.err input{border-color:#E8323A}
