/* Maison Aubépine (concept): cream, forest green, blush and sage. Fraunces display, Jost body. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/fraunces.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/fraunces-italic.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/jost.woff2) format('woff2')}
:root{--bg:#FBF7F1;--ink:#2B3A2F;--blush:#D8B9AE;--sage:#A4AE98;--mute:#6B7266;--line:rgba(43,58,47,.14);--display:'Fraunces',Georgia,serif;--sans:'Jost','Helvetica Neue',Arial,sans-serif;--g:20px}
@media (min-width:860px){:root{--g:64px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,dl,dd,dt{margin:0}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}

.c-header{display:flex;align-items:center;justify-content:space-between;padding:20px var(--g);position:sticky;top:0;background:rgba(251,247,241,.9);backdrop-filter:blur(8px);z-index:10}
.c-brand{font-family:var(--display);font-style:italic;font-weight:400;font-size:24px;letter-spacing:-.01em}
.c-nav{display:none;gap:30px}
.c-nav a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
@media (min-width:860px){.c-nav{display:flex}}
.c-lang{font-size:11.5px;letter-spacing:.2em;font-weight:400;border:1px solid var(--line);border-radius:999px;padding:8px 13px 7px;line-height:1}
.c-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:400;color:var(--mute)}
.c-h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.8vw,46px);line-height:1.12;margin-top:16px;max-width:20ch;letter-spacing:-.01em}
.c-head-center{text-align:center}
.c-head-center .c-h2,.c-head-center .c-p{margin-left:auto;margin-right:auto}
.c-p{color:var(--mute);margin-top:18px;max-width:50ch}
.c-btn{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--bg);background:var(--ink);padding:18px 32px;border-radius:999px;border:1px solid var(--ink);cursor:pointer;transition:background .4s,color .4s}
.c-btn:hover{background:transparent;color:var(--ink)}
.c-section{padding:88px var(--g)}
@media (min-width:860px){.c-section{padding:130px var(--g)}}
.c-head{margin-bottom:48px}
@media (min-width:860px){.c-head{margin-bottom:64px}}

.a-hero{padding:64px var(--g) 0;text-align:center}
.a-h1{font-family:var(--display);font-weight:300;font-size:clamp(42px,6.4vw,84px);line-height:1.02;letter-spacing:-.02em;margin:22px auto 0;max-width:14ch}
.a-h1 em{font-style:italic}
.a-sub{color:var(--mute);font-size:18px;margin:28px auto 0;max-width:44ch}
.a-hero .c-btn{margin-top:36px}
.a-arch{margin:64px auto 0;max-width:720px}
.a-arch img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:360px 360px 0 0}
@media (min-width:860px){.a-hero{padding-top:110px}.a-arch{margin-top:88px}}

.a-services{display:grid;gap:48px}
.a-service img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.a-service h3{font-family:var(--display);font-weight:400;font-size:28px;margin-top:22px}
.a-service p{color:var(--mute);margin-top:10px;max-width:36ch}
@media (min-width:860px){.a-services{grid-template-columns:repeat(3,1fr);gap:40px}}

.a-band{position:relative;margin:0 var(--g)}
.a-band img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px}
.a-band p{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(24px,3.2vw,40px);line-height:1.25;text-align:center;max-width:26ch;margin:48px auto 0;color:var(--ink)}
@media (min-width:860px){.a-band img{aspect-ratio:21/9}}

.a-shop{display:grid;gap:40px;background:var(--ink);color:var(--bg);margin-top:88px}
.a-shop .c-label,.a-shop .c-p{color:rgba(251,247,241,.72)}
.a-hours{margin-top:36px;border-top:1px solid rgba(251,247,241,.25);max-width:420px}
.a-hours div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(251,247,241,.18);font-size:15px}
.a-hours dd{color:rgba(251,247,241,.72)}
.a-shop img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
@media (min-width:860px){.a-shop{grid-template-columns:1fr 1fr;gap:96px;align-items:center;margin-top:130px}}

.a-contact .c-head{margin-bottom:48px}
.c-form{display:grid;gap:24px;max-width:640px;margin:0 auto}
.c-form label{display:block}
.c-form span{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;color:var(--mute);margin-bottom:8px}
.c-form input,.c-form textarea{width:100%;border:1px solid var(--line);background:#fff;padding:14px 16px;font-weight:300;border-radius:4px;resize:vertical}
.c-form input:focus,.c-form textarea:focus{outline:0;border-color:var(--ink)}
.c-row{display:grid;gap:24px}
@media (min-width:600px){.c-row{grid-template-columns:1fr 1fr}}
.c-form .c-btn{justify-self:center}

.c-footer{padding:72px var(--g) 40px;border-top:1px solid var(--line);text-align:center;color:var(--mute);font-size:14px}
.c-footer-brand{font-family:var(--display);font-style:italic;font-size:24px;color:var(--ink);margin-bottom:8px}
.c-credit{margin-top:36px;font-size:12.5px}
.c-credit a{border-bottom:1px solid currentColor}

.concept-ribbon{position:fixed;right:14px;bottom:14px;z-index:30;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);font-size:11px;letter-spacing:.08em;padding:10px 14px 10px 10px;border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.concept-ribbon-tag{border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:4px 9px 3px;letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:400}
@media (max-width:600px){.concept-ribbon span:last-child{display:none}}
