/* CoastalViet F&B — photography and everyday rituals; no simulated branch inventory. */
.fb-page{background:#fff}.fb-page main{overflow:clip}.fb-page main [id]{scroll-margin-top:110px}
.fb-page figure{margin:0}.fb-page .fb-eyebrow{font:500 11px/1.8 var(--sans);letter-spacing:.12em;color:#896950;margin:0 0 22px}
.fb-page .fb-hero{position:relative;isolation:isolate;height:calc(88svh - var(--header-height));min-height:610px;max-height:820px;background:#28271e;color:#fff}
.fb-page .fb-hero-photo,.fb-page .fb-hero-shade{position:absolute;inset:0;z-index:-1}.fb-page .fb-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.fb-page .fb-hero-photo>figcaption{position:absolute;bottom:20px;right:max(48px,calc((100vw - 1280px)/2));max-width:340px;color:#fff;font:400 10px/1.7 var(--sans);text-shadow:0 1px 5px #000b}
.fb-page .fb-hero-shade{background:linear-gradient(90deg,#0c201fc2 0%,#0c201f69 42%,#0c201f0a 85%),linear-gradient(0deg,#0c201f69,transparent 27%)}
.fb-page .fb-hero-copy{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:78px 95px}
.fb-page .fb-hero-copy .fb-eyebrow{color:#f0ddc5;margin-bottom:28px}.fb-page .fb-hero h1{font:400 clamp(55px,5.2vw,80px)/1.12 var(--serif);letter-spacing:-.035em;color:#fff;margin:0 0 27px;max-width:860px;text-shadow:0 2px 18px #061b2855}
.fb-page .fb-hero-copy>p:not(.fb-eyebrow){font:400 17px/1.85 var(--sans);color:#f8f5ec;max-width:445px;margin:0 0 30px}
.fb-page .fb-hero-link{display:inline-flex;align-items:center;min-height:48px;padding:10px 24px;border:1px solid #f8f5ec9c;border-radius:2px;font-size:14px;color:#fff}
.fb-page .fb-hero-link:hover{background:#fff;color:#173b46;border-color:#fff}
.fb-page .fb-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-block:94px 38px}
.fb-page .fb-intro .fb-eyebrow{margin-bottom:17px}.fb-page .fb-intro h2{font:400 39px/1.35 var(--serif);letter-spacing:-.03em;margin:0}
.fb-page .fb-intro>p{font:400 16px/1.85 var(--sans);color:var(--muted);margin-bottom:4px;max-width:340px}
.fb-page .fb-category-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;padding-bottom:70px}
.fb-page .fb-service-choice{position:relative;min-width:0;display:block;width:100%;height:315px;padding:0;border:0;background:#233830;color:#fff;overflow:hidden;isolation:isolate;text-align:left;border-radius:3px;cursor:pointer}
.fb-page .fb-service-choice>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.fb-page .fb-service-choice::before{content:"";position:absolute;inset:35% 0 0;z-index:-1;background:linear-gradient(transparent,#08232cbd)}
.fb-page .fb-service-choice::after{content:"";position:absolute;inset:0;border:3px solid transparent;pointer-events:none}
.fb-page .fb-service-choice[aria-selected=true]::after{border-color:#b7976e}.fb-page .fb-service-choice:hover::after{border-color:#dac4a6}
.fb-page .fb-service-choice>span{position:absolute;bottom:25px;left:23px;right:18px}
.fb-page .fb-service-choice strong{display:block;font:400 31px/1.25 var(--serif);letter-spacing:-.02em;margin-bottom:8px}
.fb-page .fb-service-choice small{display:block;font:400 12px/1.7 var(--sans);color:#f3eee6}
.fb-page .fb-service-choice:focus-visible{outline:3px solid #b7976e;outline-offset:5px}
.fb-page .fb-experience{padding-bottom:96px}.fb-page .fb-experience[hidden]{display:none!important}
.fb-page .fb-experience-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:90px;align-items:start}
.fb-page .fb-experience-photo{min-width:0}.fb-page .fb-experience-photo>img{display:block;width:100%;height:630px;object-fit:cover;object-position:center;border-radius:2px}
.fb-page .fb-experience-photo>figcaption{font:400 10px/1.75 var(--sans);color:var(--muted);margin-top:11px}
.fb-page .fb-experience-copy{padding-top:20px;min-width:0}.fb-page .fb-experience-copy>.fb-eyebrow{color:var(--reference-blue);text-transform:uppercase;margin-bottom:18px}
.fb-page .fb-experience h2{font:400 clamp(40px,4vw,58px)/1.15 var(--serif);letter-spacing:-.035em;margin:0 0 26px}
.fb-page .fb-experience-lead{font:400 17px/1.9 var(--sans);color:#405a66;max-width:490px;margin:0}
.fb-page .fb-region-directory{margin-top:37px;padding-top:28px;border-top:1px solid var(--line)}
.fb-page .fb-region-label{font:500 10px/1.7 var(--sans);letter-spacing:.1em;color:#896950;margin:0 0 9px}
.fb-page .fb-region-tabs{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:25px}
.fb-page .fb-region-tabs>button{font:400 15px/1.7 var(--sans);min-height:46px;padding:8px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);border-radius:0}
.fb-page .fb-region-tabs>button[aria-selected=true]{border-color:var(--ink);color:var(--ink);font-weight:600}
.fb-page .fb-region-tabs>button:hover{color:var(--reference-blue)}.fb-page .fb-region-panel{min-width:0}
.fb-page .fb-empty h3{font:600 20px/1.5 var(--sans);letter-spacing:-.015em;margin:0 0 10px}
.fb-page .fb-empty>p{font:400 14px/1.85 var(--sans);color:var(--muted);max-width:440px;margin:0 0 13px}
.fb-page .fb-text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #8daebf;font:500 13px/1.7 var(--sans);color:var(--reference-blue);padding-block:6px}
.fb-page .fb-text-link:hover{color:var(--ink);border-color:var(--ink)}
.fb-page .fb-panel-kicker{font:400 11px/1.7 var(--sans);color:var(--reference-blue);margin:0 0 12px}
.fb-page .fb-branch+.fb-branch{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}
.fb-page .fb-branch h3{font:500 25px/1.5 var(--sans);margin:0 0 22px;letter-spacing:-.025em}
.fb-page .fb-album h4{font-size:15px;font-weight:500;line-height:1.7;margin:0 0 13px}.fb-page .fb-album+.fb-album{margin-top:28px}
.fb-page .fb-album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fb-page .fb-album-grid figure{min-width:0}
.fb-page .fb-album-grid a{display:block;overflow:hidden;border-radius:2px}.fb-page .fb-album-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fb-page .fb-album-grid figcaption{font-size:11px;line-height:1.8;color:var(--muted);margin-top:7px}
.fb-page .fb-branch-info{margin:24px 0 10px;font-size:14px;line-height:1.8}.fb-page .fb-branch-info>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:15px;padding-block:11px;border-top:1px solid var(--line)}
.fb-page .fb-branch-info dt{color:var(--muted)}.fb-page .fb-branch-info dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.fb-page .fb-moments{background:#f5f0e8;padding-block:80px}.fb-page .fb-moments-grid{display:grid;grid-template-columns:.85fr 1.05fr .7fr;gap:53px;align-items:center}
.fb-page .fb-moment-cup>img{width:100%;height:360px;object-fit:cover;object-position:center}.fb-page .fb-moment-garden{padding-top:80px}
.fb-page .fb-moment-garden>img{width:100%;height:390px;object-fit:cover}.fb-page .fb-moments figcaption{font:400 9px/1.75 var(--sans);color:var(--muted);margin-top:10px}
.fb-page .fb-moments-copy .fb-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:20px}
.fb-page .fb-moments h2{font:400 38px/1.3 var(--serif);letter-spacing:-.03em;margin:0 0 22px}
.fb-page .fb-moments-copy>p:not(.fb-eyebrow){font:400 15px/1.9 var(--sans);color:#546b74;margin:0}
.fb-page .fb-contact{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:76px}
.fb-page .fb-contact .fb-eyebrow{margin-bottom:15px}.fb-page .fb-contact h2{font:400 36px/1.35 var(--serif);letter-spacing:-.025em;margin:0 0 12px}
.fb-page .fb-contact p:not(.fb-eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin:0}
.fb-page .fb-contact-actions{display:flex;flex-direction:column;align-items:center;gap:9px;flex:none}
.fb-page .fb-contact-actions>.button{min-width:205px;min-height:48px;border-radius:3px;font-size:14px}.fb-page .fb-phone{font-size:17px;font-weight:500;line-height:1.8;min-height:36px;display:flex;align-items:center}
.fb-page .fb-photo-sources{border-top:1px solid var(--line);font-size:11px;line-height:1.8;color:var(--muted);padding-block:18px 25px;margin-bottom:10px}
.fb-page .fb-photo-sources summary{cursor:pointer;min-height:36px;display:list-item}.fb-page .fb-photo-sources p{margin-block:8px 12px}
.fb-page .fb-photo-sources ul{padding-left:18px;margin-block:12px}.fb-page .fb-photo-sources a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.fb-page .fb-hero{min-height:570px}.fb-page .fb-intro{padding-top:72px}.fb-page .fb-category-nav{gap:18px}.fb-page .fb-service-choice{height:285px}.fb-page .fb-service-choice>span{left:17px;bottom:20px}.fb-page .fb-service-choice strong{font-size:28px}.fb-page .fb-service-choice small{font-size:11px}.fb-page .fb-experience-grid{gap:48px}.fb-page .fb-experience-photo>img{height:590px}.fb-page .fb-experience-lead{font-size:16px}.fb-page .fb-moments-grid{gap:30px;grid-template-columns:.8fr 1.1fr .7fr}.fb-page .fb-moments h2{font-size:32px}}
@media(max-width:900px){.fb-page .fb-intro h2{font-size:33px}.fb-page .fb-category-nav{gap:15px;padding-bottom:55px}.fb-page .fb-service-choice{height:255px}.fb-page .fb-service-choice strong{font-size:25px}.fb-page .fb-service-choice small{font-size:10px}.fb-page .fb-experience-grid{gap:33px;grid-template-columns:1fr 1fr}.fb-page .fb-experience-photo>img{height:560px}.fb-page .fb-experience h2{font-size:40px}.fb-page .fb-experience-copy{padding-top:6px}.fb-page .fb-region-tabs{gap:19px}.fb-page .fb-moments-grid{grid-template-columns:1fr 1fr;gap:36px}.fb-page .fb-moment-garden{display:none}.fb-page .fb-moments-copy{padding-right:15px}.fb-page .fb-contact{gap:30px}}
@media(max-width:760px){.fb-page main [id]{scroll-margin-top:95px}.fb-page .fb-hero{height:calc(87svh - var(--header-height));min-height:570px;max-height:720px}.fb-page .fb-hero-photo>img{object-position:60% center}.fb-page .fb-hero-photo>figcaption{bottom:17px;right:20px;left:20px;font-size:9px;text-align:right}.fb-page .fb-hero-shade{background:linear-gradient(90deg,#102522a6,#1025222e),linear-gradient(0deg,#10252280,transparent 45%)}.fb-page .fb-hero-copy{justify-content:center;padding-block:54px 80px}.fb-page .fb-hero-copy .fb-eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:24px}.fb-page .fb-hero h1{font-size:48px;line-height:1.16;margin-bottom:24px;max-width:550px}.fb-page .fb-hero-copy>p:not(.fb-eyebrow){font-size:15px;line-height:1.85;max-width:340px;margin-bottom:27px}.fb-page .fb-hero-link{font-size:13px;min-height:46px;padding-inline:21px}.fb-page .fb-intro{display:block;padding-block:53px 26px}.fb-page .fb-intro .fb-eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:14px}.fb-page .fb-intro h2{font-size:32px;line-height:1.3}.fb-page .fb-intro>p{font-size:14px;line-height:1.75;margin-top:18px;max-width:none}.fb-page .fb-intro>p>br{display:none}.fb-page .fb-category-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding-bottom:42px}.fb-page .fb-service-choice{height:235px}.fb-page .fb-service-choice>span{bottom:19px;left:15px;right:10px}.fb-page .fb-service-choice strong{font-size:26px}.fb-page .fb-service-choice small{font-size:10px;line-height:1.6}.fb-page .fb-experience{padding-bottom:52px}.fb-page .fb-experience-grid{grid-template-columns:1fr;gap:31px}.fb-page .fb-experience-photo>img{height:405px}.fb-page .fb-experience-photo>figcaption{font-size:9px;margin-top:9px}.fb-page .fb-experience-copy{padding-top:0}.fb-page .fb-experience-copy>.fb-eyebrow{font-size:10px;margin-bottom:15px}.fb-page .fb-experience h2{font-size:41px;line-height:1.17;margin-bottom:22px}.fb-page .fb-experience-lead{font-size:16px;line-height:1.85;max-width:none}.fb-page .fb-region-directory{margin-top:29px;padding-top:24px}.fb-page .fb-region-tabs{gap:24px;margin-bottom:22px}.fb-page .fb-region-tabs>button{font-size:15px}.fb-page .fb-empty h3{font-size:20px}.fb-page .fb-empty>p{font-size:14px}.fb-page .fb-moments{padding-block:47px}.fb-page .fb-moments-grid{grid-template-columns:1fr;gap:28px}.fb-page .fb-moment-cup>img{height:300px}.fb-page .fb-moments-copy{padding-right:0}.fb-page .fb-moments h2{font-size:34px;line-height:1.3;margin-bottom:20px}.fb-page .fb-moments-copy>p:not(.fb-eyebrow){font-size:15px}.fb-page .fb-moments-copy .fb-eyebrow{font-size:9px;margin-bottom:15px}.fb-page .fb-contact{display:block;padding-block:49px}.fb-page .fb-contact h2{font-size:31px}.fb-page .fb-contact p:not(.fb-eyebrow){font-size:14px}.fb-page .fb-contact-actions{align-items:flex-start;margin-top:24px;gap:8px}.fb-page .fb-photo-sources{font-size:10px;padding-block:16px 22px}.fb-page .fb-branch-info{font-size:13px}.fb-page .fb-branch-info>div{grid-template-columns:75px minmax(0,1fr);gap:10px}}
@media(max-width:360px){.fb-page .fb-hero{min-height:550px}.fb-page .fb-hero h1{font-size:40px}.fb-page .fb-hero-copy>p:not(.fb-eyebrow){font-size:14px}.fb-page .fb-intro h2{font-size:29px}.fb-page .fb-service-choice{height:215px}.fb-page .fb-service-choice>span{left:12px;bottom:16px}.fb-page .fb-service-choice strong{font-size:23px}.fb-page .fb-service-choice small{font-size:9px}.fb-page .fb-experience-photo>img{height:355px}.fb-page .fb-experience h2{font-size:37px}.fb-page .fb-region-tabs{gap:20px}.fb-page .fb-region-tabs>button{font-size:14px}.fb-page .fb-moments h2{font-size:31px}.fb-page .fb-album-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fb-page *{scroll-behavior:auto!important}}
