@font-face{font-family:"Dancing Script";src:url(dancing-script-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Tenor Sans";src:url(tenor-sans-latin.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--ink:#2b2a27;--muted:#6f6a62;--paper:#faf7f2;--card:#fff;--sand:#e9dfcf;--lake:#2f5d73;--sunset:#b5533f;--olive:#6b7135;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:16px/1.65 "Tenor Sans","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:var(--lake)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.kicker{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
h1,h2,h3{font-weight:400;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,5vw,3rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.2rem}
.script{font-family:"Dancing Script",cursive}
.topbar{background:#f7f7f7;border-bottom:1px solid #ececec;color:#666;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.tb-in{max-width:1240px;margin:0 auto;padding:7px 20px;text-align:center}
header.site{background:#fff;position:relative;z-index:20}
.branding{text-align:center;padding:22px 20px 18px}
.brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:#000;line-height:1}
.brand .name{font-family:"Dancing Script",cursive;font-weight:400;font-size:56px;line-height:56px;text-shadow:0 2px 3px rgba(255,255,255,.3)}
.brand .role{font-size:20px;letter-spacing:2px;text-transform:uppercase;color:#444;margin-top:4px}
.navbar{border-top:1px solid #ececec;border-bottom:1px solid #ececec;box-shadow:0 2px 3px rgba(238,238,238,.4);position:relative}
.menu-toggle{position:absolute;opacity:0;pointer-events:none}
.menu-btn{display:block;text-align:center;color:#777;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;padding:11px;cursor:pointer;user-select:none}
.menu-toggle:focus-visible+.menu-btn{outline:2px solid var(--lake)}
nav.main{display:none;border-top:1px solid #ececec;background:#fff}
.menu-toggle:checked~nav.main{display:block}
nav.main ul{list-style:none;margin:0;padding:4px 20px 12px;display:flex;flex-direction:column;align-items:center}
nav.main li{width:100%;text-align:center;border-bottom:1px solid #f3f3f3}
nav.main li li{border:0}
nav.main a{display:block;padding:10px 0;color:#777;text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
nav.main li ul{padding:0 0 6px}
nav.main li ul a{padding:5px 0;font-size:.68rem}
nav.main a:hover,nav.main a[aria-current=page]{color:#000}
@media (min-width:900px){
 .tb-in{text-align:left}
 .branding{padding:34px 20px 24px}
 .brand .name{font-size:94px;line-height:64px}
 .brand .role{font-size:24px;margin-top:8px}
 .menu-btn{display:none}
 nav.main{display:block;border:0;background:none}
 nav.main ul{flex-direction:row;justify-content:center;gap:0 30px;padding:0;flex-wrap:wrap}
 nav.main li{width:auto;position:relative;border:0}
 nav.main a{padding:12px 0;font-size:.68rem}
 nav.main li ul{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #ececec;padding:8px 16px;flex-direction:column;gap:2px;min-width:180px;z-index:30}
 nav.main li:hover>ul,nav.main li:focus-within>ul{display:flex}
}
/* boxed homepage like the original Avant layout */
body{background:#f9f9f9}
.boxed{max-width:1240px;margin:0 auto;padding:0 20px 50px}
.hero{position:relative;margin:0 0 30px;padding:0!important;background:#ddd}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;height:max(130px,calc((min(100vw,1240px) - 40px)/3))}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;margin:0}
.slide picture{display:block;width:100%;height:100%}
.slide img{width:100%;height:100%;object-fit:cover}
.slide figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 10px}
.slide figcaption span{background:rgba(255,255,255,.7);color:#333;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.3rem,3.2vw,2.3rem);line-height:1.15;padding:.45em .7em;text-align:center}
.dots{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:8px;display:flex;gap:4px}
.dots a{width:11px;height:11px;border-radius:50%;border:1px solid #fff;display:block}
.dots a.on{background:#fff}
.card{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.04);padding:24px 22px 34px}
.card h1,.card .h1{font-size:clamp(1.6rem,4vw,1.75rem);color:#000;margin:.2em 0 .6em}
.card .h1{margin-top:1.6em}
.card p{color:#555;font-size:.95rem}
.intro::after{content:"";display:block;clear:both}
.portrait{margin:0 0 14px}
@media (min-width:700px){.card{padding:30px 34px 44px}.portrait{float:right;width:346px;margin:0 0 16px 30px}}
.btn{display:inline-block;text-decoration:none;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;padding:12px 20px;border:1px solid currentColor;color:#fff;margin:0 10px 10px 0}
.btn.solid{background:var(--sunset);border-color:var(--sunset)}
.btn.dark{color:var(--ink)}
section{padding:60px 0}
.alt{background:var(--card)}
.about{display:grid;gap:36px;align-items:center}
.about figure{margin:0}
.about figure img{box-shadow:10px 10px 0 var(--sand)}
.lead{font-size:1.15rem}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.head p{max-width:50ch;margin:0;color:var(--muted)}
.cats{display:grid;grid-template-columns:1fr;gap:18px}
.cat{position:relative;display:block;color:#fff;text-decoration:none;overflow:hidden;aspect-ratio:4/3;background:#ccc}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat:hover img{transform:scale(1.04)}
.cat .lbl{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.cat .lbl b{display:block;font-weight:400;font-size:1.2rem;letter-spacing:.12em;text-transform:uppercase}
.cat .lbl small{font-size:.9rem;opacity:.92}
.sand{background:var(--sand)}
.grid2{display:grid;gap:36px;align-items:center}
.note{font-family:"Dancing Script",cursive;font-size:1.45rem;line-height:1.45;color:#3b3127}
.note p{margin:0 0 .7em}
blockquote{margin:22px 0;padding:4px 0 4px 20px;border-left:3px solid var(--olive);font-style:italic;color:#4a4636}
.collections{display:grid;gap:18px;margin-top:26px}
.collections a{display:block;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid #e3dccf;padding:18px}
.collections b{display:block;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--olive)}
.pure{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pure figure{margin:0}
.pure img{aspect-ratio:1/1;object-fit:cover;width:100%}
.pure figure:last-child{grid-column:span 2}
.pure figcaption,.gal figcaption{font-size:.88rem;color:var(--muted);padding-top:8px}
.pure figcaption{text-align:center}
.cta{text-align:center;background:var(--lake);color:#fff}
.cta h2{font-family:"Dancing Script",cursive;font-size:clamp(2rem,4.5vw,3.2rem)}
.cta p{max-width:52ch;margin:0 auto 22px;opacity:.92}
.cta a:not(.btn){color:#fff}
/* page header + gallery */
.phead{padding-top:44px;padding-bottom:10px}
.phead h1{text-transform:none}
.prose{max-width:68ch}
.prose p{margin:0 0 1em}
.gal{columns:2 150px;column-gap:12px}
.gal figure{break-inside:avoid;margin:0 0 14px;background:#fff;padding:6px 6px 4px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.gal a{display:block;cursor:zoom-in}
.gal small{display:block;font-size:.75rem;color:#9a9387}
.banner-img{margin:10px 0 28px}
.subnav{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.subnav a{display:inline-block;border:1px solid #d9d0c2;padding:6px 12px;text-decoration:none;color:var(--ink);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.review{background:#fff4d6;border:1px solid #e5c76b;padding:16px 18px;margin:0 0 26px}
.archgroup{margin:34px 0 0}
.archgroup h2{font-size:1.3rem;border-bottom:1px solid #e3dccf;padding-bottom:6px}
.contact-opts{display:grid;gap:12px;max-width:520px;margin:24px 0}
.contact-opts a{display:block;padding:14px 18px;background:#fff;border:1px solid #e3dccf;text-decoration:none;color:var(--ink)}
.contact-opts a:hover{border-color:var(--sunset)}
footer{background:#24231f;color:#cfc8bb;padding:44px 0 28px;font-size:.9rem}
footer .cols{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap}
footer a{color:#cfc8bb;text-decoration:none}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}
footer .name{font-family:"Dancing Script",cursive;font-size:2rem;color:#fff}
footer .legal{margin-top:26px;border-top:1px solid #3b3a35;padding-top:14px;font-size:.8rem;color:#8f897d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* lightbox */
dialog.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
dialog.lb::backdrop{background:rgba(15,14,12,.92)}
dialog.lb .in{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:44px 12px 12px}
dialog.lb img{max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;object-fit:contain}
dialog.lb p{color:#eee;margin:10px 0 0;text-align:center}
dialog.lb button{position:absolute;background:rgba(0,0,0,.4);color:#fff;border:0;font-size:1.6rem;line-height:1;padding:10px 14px;cursor:pointer}
dialog.lb .x{top:6px;right:6px}.lb .pv{left:6px;top:50%}.lb .nx{right:6px;top:50%}
@media (min-width:600px){.cats{grid-template-columns:repeat(2,1fr)}.gal{columns:3 200px;column-gap:16px}.collections{grid-template-columns:1fr 1fr}.pure{grid-template-columns:repeat(3,1fr);gap:24px}.pure figure:last-child{grid-column:auto}}
@media (min-width:900px){body{font-size:17px}section{padding:84px 0}.about{grid-template-columns:5fr 6fr;gap:60px}.about figure img{box-shadow:18px 18px 0 var(--sand)}.grid2{grid-template-columns:1fr 1fr;gap:56px}.cats{grid-template-columns:repeat(3,1fr)}.gal{columns:3 260px}.note{font-size:1.65rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cat img{transition:none}}
.cform{max-width:560px;margin:24px 0}
.cform form{display:grid;gap:16px}
.cform label{display:grid;gap:6px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cform input,.cform select,.cform textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border:1px solid #d9d0c2;border-radius:0;padding:11px 13px;width:100%;box-sizing:border-box}
.cform textarea{resize:vertical;min-height:150px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--lake);outline-offset:1px;border-color:var(--lake)}
.cform [aria-invalid=true]{border-color:var(--sunset)}
.cform .ferr{color:var(--sunset);font-size:.85rem;letter-spacing:0;text-transform:none}
.cform button.btn{justify-self:start;cursor:pointer;font:inherit;font-size:.8rem;letter-spacing:.16em;margin:4px 0 0}
.cform button.btn:hover{background:#9c4534}
.fmsg{padding:14px 18px;margin:0 0 18px;border-left:4px solid}
.fmsg.ok{background:#eef1e3;border-color:var(--olive)}
.fmsg.bad{background:#f8e9e5;border-color:var(--sunset)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.femail{color:var(--muted)}
