:root{--navy:#0d2a42;--aqua:#1f9ccb;--aqua-d:#0e6f96;--tile:#eaf4f7;--paper:#fbfdfd;--sun:#f4a73b;--ink:#17303f;--mute:#53707f}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Figtree',system-ui,sans-serif;font-size:1.06rem;line-height:1.65;color:var(--ink);background:var(--paper);overflow-x:hidden}
h1,h2,h3,.disp{font-family:'Fraunces',Georgia,serif;font-weight:700;line-height:1.05;letter-spacing:-.015em;color:var(--navy)}
.mono{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:500}
.eyebrow{color:var(--aqua-d);display:block;margin-bottom:.9rem}
/* signature: subway tile */
.tiles{background-color:var(--tile);background-image:linear-gradient(rgba(13,42,66,.09) 2px,transparent 2px),linear-gradient(90deg,rgba(13,42,66,.09) 2px,transparent 2px);background-size:84px 42px,84px 42px;background-position:0 0,0 0}
/* utility bar + nav */
.util{background:var(--navy);color:#dbeaf1;font-size:.82rem;padding:.4rem 0}
.util a{color:#fff;text-decoration:none;font-weight:600}
.util .mono{font-size:.7rem}
.navbar{background:rgba(251,253,253,.96);backdrop-filter:blur(10px);border-bottom:2px solid var(--navy)}
.navbar-brand{display:flex;align-items:center;gap:.7rem;font-family:'Fraunces',serif;font-weight:700;color:var(--navy)!important;font-size:1.3rem;line-height:1.05;white-space:normal}
.navbar-brand img{width:62px;height:auto}
.navbar-brand small{display:block;font-family:'DM Mono',monospace;font-weight:500;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--aqua-d);margin-top:.2rem}
.navbar .nav-link{font-weight:600;font-size:.95rem;color:var(--navy);padding:.5rem .8rem}
.navbar .nav-link:hover{color:var(--aqua-d)}
.btn-sun{background:var(--sun);color:var(--navy);font-weight:700;border:2px solid var(--navy);border-radius:4px;padding:.7rem 1.4rem;box-shadow:4px 4px 0 var(--navy);transition:transform .15s,box-shadow .15s}
.btn-sun:hover{background:#ffb64f;color:var(--navy);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--navy)}
.btn-line{background:#fff;color:var(--navy);font-weight:700;border:2px solid var(--navy);border-radius:4px;padding:.7rem 1.4rem}
.btn-line:hover{background:var(--navy);color:#fff}
/* hero */
.hero{padding:clamp(2rem,4vw,3.5rem) 0 clamp(2.5rem,4vw,4rem)}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.6rem);margin-bottom:1rem}
.hero h1 em{font-style:italic;color:var(--aqua-d);font-weight:600}
.hero .lede{font-size:1.2rem;max-width:34rem;color:var(--ink)}
.hero .facts{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.6rem;color:var(--mute)}
.hero-photo{position:relative;max-width:420px;margin-left:auto}
.hero-photo img{display:block;width:100%;aspect-ratio:2/3;max-height:min(66vh,540px);width:auto;max-width:100%;object-fit:cover;object-position:50% 40%;border-radius:4px;border:3px solid var(--navy);box-shadow:10px 10px 0 var(--aqua);margin-left:auto}
.stamp{position:absolute;left:-14px;bottom:26px;background:var(--sun);color:var(--navy);border:2px solid var(--navy);padding:.5rem .8rem;transform:rotate(-4deg);font-weight:700;line-height:1.15;font-size:.85rem}
.stamp b{display:block;font-family:'Fraunces',serif;font-size:1.5rem}
/* sections */
section{padding:clamp(3.5rem,7vw,6rem) 0}
h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:1rem}
.index{list-style:none;padding:0;margin:0;border-top:2px solid var(--navy)}
.index li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(13,42,66,.25);font-family:'Fraunces',serif;font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:600;color:var(--navy);transition:padding .2s,color .2s}
.index li:hover{padding-left:.8rem;color:var(--aqua-d)}
.index li span{font-family:'Figtree',sans-serif;font-size:.95rem;font-weight:400;color:var(--mute);text-align:right;max-width:20rem}
.more{margin-top:1.4rem;color:var(--mute)}
.more b{color:var(--navy)}
/* specials band */
.band{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.band h2,.band h3{color:#fff}
.band .eyebrow{color:var(--sun)}
.cmp{display:grid;gap:1rem;margin-top:1.5rem}
.bar{display:flex;align-items:center;gap:1rem}
.bar .lab{width:7.5rem;flex:none;font-size:.8rem}
.bar .fill{height:40px;border-radius:3px;display:flex;align-items:center;padding:0 .8rem;font-weight:700;color:var(--navy);white-space:nowrap}
.bar.us .fill{width:28%;min-width:150px;background:var(--sun)}
.bar.them .fill{width:100%;background:rgba(255,255,255,.18);color:#fff}
.save{border:2px dashed var(--sun);padding:1.2rem 1.4rem;border-radius:4px}
.save b{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--sun);display:block;line-height:1}
.band img{border-radius:4px;border:3px solid #fff;aspect-ratio:4/3;object-fit:cover;width:100%}
/* gallery */
.masonry{column-count:3;column-gap:14px}
.masonry figure{margin:0 0 14px;break-inside:avoid;border:2px solid var(--navy);border-radius:4px;overflow:hidden;background:#fff}
.masonry img{display:block;width:100%;height:auto}
/* reviews */
.reviews{background:var(--tile)}
.rv{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.rv blockquote{margin:0;background:#fff;border:2px solid var(--navy);border-radius:4px;padding:1.4rem 1.5rem;box-shadow:5px 5px 0 var(--aqua)}
.rv blockquote p{margin:0 0 .8rem;font-family:'Fraunces',serif;font-size:1.15rem;line-height:1.4;color:var(--navy)}
.rv cite{font-style:normal;color:var(--aqua-d)}
.rv .lead{grid-column:1/-1;background:var(--navy);box-shadow:5px 5px 0 var(--sun)}
.rv .lead p{color:#fff;font-size:clamp(1.3rem,2.4vw,1.8rem)}
.rv .lead cite{color:var(--sun)}
/* about */
.about img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;border:3px solid var(--navy);box-shadow:10px 10px 0 var(--aqua)}
.brands{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.4rem}
.brands img{width:120px;height:auto;border:1px solid rgba(13,42,66,.2);border-radius:3px;background:#fff}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.chips span{border:2px solid var(--navy);border-radius:99px;padding:.15rem .8rem;font-weight:600;font-size:.92rem;background:#fff}
/* contact */
.contact dl{margin:0}
.contact dt{color:var(--aqua-d);margin-top:1.2rem}
.contact dd{margin:.1rem 0 0;font-size:1.15rem}
.contact a{color:var(--navy);font-weight:700}
.map{border:3px solid var(--navy);border-radius:4px;overflow:hidden;box-shadow:8px 8px 0 var(--aqua);min-height:380px;height:100%}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
footer{background:var(--navy);color:#cfe1ea;padding:3rem 0 2rem}
footer a{color:#fff}
footer .logo-w{width:150px;height:auto}
footer .pw{font-size:.85rem;opacity:.85;margin-top:1.5rem}
@media(max-width:991px){.masonry{column-count:2}.hero-photo{margin:2rem auto 0}.hero-photo img{margin:0 auto}.stamp{left:0}}
@media(max-width:767px){.rv{grid-template-columns:1fr}.index li{flex-direction:column;gap:.1rem}.index li span{text-align:left}.bar .lab{width:5rem}.navbar-brand{font-size:1.1rem}.navbar-brand img{width:50px}.util .hide-sm{display:none}}
@media(max-width:480px){.masonry{column-count:1}}
