*,*:before,*:after{box-sizing:border-box}:root{--d-bg: #ffffff;--d-surface: #ffffff;--d-ink: #1a1a1a;--d-ink-soft: #555555;--d-accent: #4f46e5;--d-accent-2: #7c3aed;--d-accent-ink:#ffffff;--d-line: rgba(0,0,0,.1);--d-radius: 16px;--d-font-head: "Bricolage Grotesque", system-ui, sans-serif;--d-font-body: "Hanken Grotesk", system-ui, sans-serif;--d-maxw: 1120px}html{scroll-behavior:smooth}body{margin:0;background:var(--d-bg);color:var(--d-ink);font-family:var(--d-font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--d-font-head);line-height:1.08;margin:0}.dwrap{max-width:var(--d-maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px)}.demo-bar{position:sticky;top:0;z-index:100;background:#0f1021;color:#fff;font-family:var(--d-font-body);font-size:.84rem;display:flex;align-items:center;justify-content:center;gap:.9rem;padding:.5rem 1rem;text-align:center;flex-wrap:wrap}.demo-bar strong{font-weight:700}.demo-bar a{background:#fff;color:#0f1021;text-decoration:none;font-weight:700;font-size:.8rem;padding:.28rem .8rem;border-radius:999px;white-space:nowrap}.demo-bar a:hover{background:#e8e8ff}.dnav{position:sticky;top:0;z-index:90;background:color-mix(in srgb,var(--d-bg) 86%,transparent);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--d-line)}.demo-bar+.dnav{top:0}.dnav-inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}.dbrand{font-family:var(--d-font-head);font-weight:800;font-size:1.2rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.55rem;text-decoration:none}.dbrand .mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--d-accent),var(--d-accent-2));color:var(--d-accent-ink);font-size:1rem}.dnav-links{display:flex;gap:1.4rem;align-items:center}.dnav-links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--d-ink-soft)}.dnav-links a:hover{color:var(--d-ink)}.dnav-links .dbtn{color:var(--d-accent-ink)}@media(max-width:720px){.dnav-links a:not(.dbtn){display:none}}.dbtn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--d-font-body);font-weight:700;font-size:.98rem;padding:.72rem 1.3rem;border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.dbtn--solid{background:var(--d-accent);color:var(--d-accent-ink);box-shadow:0 8px 24px color-mix(in srgb,var(--d-accent) 40%,transparent)}.dbtn--solid:hover{transform:translateY(-2px)}.dbtn--ghost{background:transparent;color:var(--d-ink);border-color:var(--d-line)}.dbtn--ghost:hover{border-color:var(--d-accent);color:var(--d-accent)}.dhero{padding:clamp(56px,9vw,120px) 0;position:relative;overflow:hidden}.dhero-eyebrow{display:inline-block;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--d-accent);margin-bottom:1.1rem}.dhero h1{font-size:clamp(2.5rem,6.2vw,4.4rem);font-weight:800;max-width:16ch;letter-spacing:-.02em}.dhero p.lede{font-size:clamp(1.08rem,1.6vw,1.28rem);color:var(--d-ink-soft);max-width:52ch;margin:1.5rem 0 0}.dhero-actions{margin-top:2.2rem;display:flex;gap:.8rem;flex-wrap:wrap}.dhero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}@media(max-width:860px){.dhero-grid{grid-template-columns:1fr}}.dphoto{aspect-ratio:4 / 3.4;border-radius:var(--d-radius);position:relative;overflow:hidden;box-shadow:0 30px 60px #0000002e;border:1px solid var(--d-line)}.dphoto--accent{background:linear-gradient(150deg,var(--d-accent),var(--d-accent-2))}.dphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dphoto-badge{position:absolute;left:16px;bottom:16px;background:var(--d-surface);color:var(--d-ink);border-radius:12px;padding:.6rem .9rem;font-weight:700;font-size:.9rem;box-shadow:0 10px 30px #0000002e;display:flex;align-items:center;gap:.5rem}.dphoto-emoji{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(4rem,12vw,8rem);opacity:.92;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}.dhero--full{min-height:80vh;display:grid;align-items:center;padding:0;background-size:cover;background-position:center;position:relative}.dhero--full:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#120b054d,#120b05a8)}.dhero--full .dwrap{position:relative;z-index:1;color:#fff;padding-top:10vh;padding-bottom:10vh}.dhero--full h1{color:#fff;max-width:17ch}.dhero--full .lede{color:#ffffffeb}.dhero--full .dhero-eyebrow{color:#fff;opacity:.92}.dhero--full .rating{margin-top:1.4rem;font-weight:700}.dhero--full .dbtn--ghost{color:#fff;border-color:#ffffff8c}.dhero--full .dbtn--ghost:hover{color:#fff;border-color:#fff;background:#ffffff1a}.dinfobar{background:var(--d-accent);color:var(--d-accent-ink)}.dinfobar .dwrap{display:flex;flex-wrap:wrap;gap:.4rem 2.6rem;justify-content:center;padding:.95rem 0;font-weight:600;font-size:.95rem}.dhero--bg{position:relative;background-size:cover;background-position:center}.dhero--bg:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#0e1726f0 40%,#0e1726cc)}.dhero--bg .dwrap{position:relative;z-index:1}.dquotecard{background:var(--d-surface);border:1px solid var(--d-line);border-radius:var(--d-radius);padding:1.7rem;box-shadow:0 28px 64px #00000057}.dquotecard h3{font-size:1.3rem;margin-bottom:.25rem}.dquotecard .sub{color:var(--d-ink-soft);font-size:.92rem;margin:0 0 1.1rem}.dfield{width:100%;margin-bottom:.7rem;padding:.72rem .9rem;border-radius:10px;border:1px solid var(--d-line);background:var(--d-bg);color:var(--d-ink);font-family:inherit;font-size:.95rem}.dfield::placeholder{color:var(--d-ink-soft)}.dquotecard .dbtn{width:100%;justify-content:center;margin-top:.2rem}.dstatbar{background:var(--d-surface);border-top:1px solid var(--d-line);border-bottom:1px solid var(--d-line)}.dstatbar .dwrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.7rem 0;text-align:center}.dstat .n{font-family:var(--d-font-head);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;color:var(--d-accent);display:block;line-height:1}.dstat .l{font-size:.85rem;color:var(--d-ink-soft)}@media(max-width:680px){.dstatbar .dwrap{grid-template-columns:repeat(2,1fr);gap:1.4rem 1rem}}.dhero--center{text-align:center}.dhero--center .dhero-inner{max-width:820px;margin:0 auto}.dhero--center h1{max-width:18ch;margin:0 auto}.dhero--center .lede{margin:1.5rem auto 0}.dhero--center .dhero-actions{justify-content:center}.dhero--center .rating{margin-top:1.3rem;color:var(--d-ink-soft);font-weight:600}.dband{height:clamp(260px,42vw,540px);background-size:cover;background-position:center}.dsection{padding:clamp(54px,8vw,96px) 0}.dsection--soft{background:var(--d-surface);border-top:1px solid var(--d-line);border-bottom:1px solid var(--d-line)}.dsection-head{max-width:60ch;margin-bottom:2.6rem}.dsection-eyebrow{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;color:var(--d-accent)}.dsection-title{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:800;margin-top:.6rem;letter-spacing:-.02em}.dlede{color:var(--d-ink-soft);font-size:1.1rem;margin-top:.9rem}.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}.dcard{background:var(--d-bg);border:1px solid var(--d-line);border-radius:var(--d-radius);padding:1.6rem;transition:transform .18s ease,box-shadow .18s ease}.dsection--soft .dcard{background:var(--d-surface)}.dcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0000001a}.dcard h3{font-size:1.2rem;position:relative;padding-bottom:.7rem;margin-bottom:.5rem}.dcard h3:after{content:"";position:absolute;left:0;bottom:0;width:30px;height:3px;border-radius:3px;background:var(--d-accent)}.dcard p{color:var(--d-ink-soft);font-size:.97rem;margin:0}.dcard .price{color:var(--d-accent);font-weight:800;font-family:var(--d-font-head)}.dmenu{display:grid;gap:.2rem;max-width:640px}.dmenu-item{display:flex;align-items:baseline;gap:.6rem;padding:.65rem 0;border-bottom:1px dashed var(--d-line)}.dmenu-item .nm{font-weight:700;font-family:var(--d-font-head);white-space:nowrap}.dmenu-item .dots{flex:1;border-bottom:2px dotted color-mix(in srgb,var(--d-ink) 25%,transparent);transform:translateY(-3px)}.dmenu-item .pr{font-weight:800;color:var(--d-accent);white-space:nowrap}.dmenu-item .desc{display:block;color:var(--d-ink-soft);font-size:.9rem;font-weight:400;margin-top:.15rem}.dmenu-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 3.5rem;max-width:100%}@media(max-width:720px){.dmenu-cols{grid-template-columns:1fr}}.dinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem}.dinfo h4{font-family:var(--d-font-head);font-size:1.05rem;margin:0 0 .5rem}.dinfo p{margin:0;color:var(--d-ink-soft)}.dhours{list-style:none;padding:0;margin:0}.dhours li{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--d-line);color:var(--d-ink-soft)}.dhours li span:last-child{font-weight:700;color:var(--d-ink)}.dgallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.dtile{aspect-ratio:1;border-radius:14px;display:grid;place-items:center;font-size:2.4rem;border:1px solid var(--d-line);overflow:hidden}.dtile img{width:100%;height:100%;object-fit:cover;display:block}.dquote{max-width:760px;margin:0 auto;text-align:center}.dquote blockquote{font-family:var(--d-font-head);font-size:clamp(1.4rem,3vw,2rem);font-weight:700;line-height:1.3;margin:0;letter-spacing:-.01em}.dquote cite{display:block;margin-top:1.2rem;font-style:normal;color:var(--d-ink-soft);font-weight:600}.dcta{text-align:center;background:linear-gradient(150deg,var(--d-accent),var(--d-accent-2));color:var(--d-accent-ink);border-radius:clamp(20px,4vw,32px);padding:clamp(40px,7vw,76px) clamp(24px,5vw,48px)}.dcta h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}.dcta p{opacity:.92;margin:.8rem auto 0;max-width:46ch}.dcta .dbtn{margin-top:1.8rem;background:var(--d-surface);color:var(--d-ink)}.dfooter{padding:3rem 0;border-top:1px solid var(--d-line);color:var(--d-ink-soft);font-size:.92rem}.dfooter-inner{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:center}.dfooter a{text-decoration:none}.dfooter .built{font-size:.85rem}.dfooter .built a{color:var(--d-accent);font-weight:700}
