:root{--au:#2b1a3d;--au2:#3d2656;--pearl:#faf7f2;--ivory:#f1ebe0;--champ:#d9bd85;--champ2:#b9955a;--ink:#221a2b;--mute:#5e546b}
html{scroll-behavior:smooth;scroll-padding-top:120px}
html,body{overflow-x:hidden}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--pearl);font-size:1.08rem;line-height:1.65}
h1,h2,h3,h4,.disp{font-family:'Bodoni Moda',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-.01em}
a{color:var(--au2)}
.sec{padding:5.5rem 0;position:relative}
.kicker{font-weight:700;font-size:.9rem;color:var(--champ2);display:block;margin-bottom:.7rem}
.kicker.lt{color:var(--champ)}
h2{font-size:clamp(2rem,4.2vw,3.2rem);color:var(--au)}
.btn-champ{background:var(--champ);color:var(--au);font-weight:700;border:0;border-radius:50rem;padding:.85rem 1.8rem}
.btn-champ:hover{background:#e8d3a4;color:var(--au)}
.btn-line{border:2px solid var(--champ);color:#fff;font-weight:700;border-radius:50rem;padding:.8rem 1.7rem}
.btn-line:hover{background:var(--champ);color:var(--au)}
.btn-au{background:var(--au);color:#fff;font-weight:700;border-radius:50rem;padding:.85rem 1.8rem}
.btn-au:hover{background:var(--au2);color:#fff}
/* utility bar + nav */
.util{background:#1d1129;color:#e9dfef;font-size:.9rem;padding:.4rem 0}
.util a{color:var(--champ);text-decoration:none;font-weight:600}
.navbar-main{background:var(--pearl);border-bottom:1px solid #e3dccf;padding:.7rem 0}
.brand{font-family:'Bodoni Moda',serif;font-size:1.45rem;color:var(--au)!important;line-height:1}
.brand small{display:block;font-family:'Figtree',sans-serif;font-size:.78rem;color:var(--champ2);font-weight:600;margin-top:.25rem}
.navbar-main .nav-link{color:var(--ink);font-weight:600;padding:.5rem .85rem}
.navbar-main .nav-link:hover{color:var(--champ2)}
/* shade tabs */
.shades{display:flex;gap:.5rem;flex-wrap:wrap}
.shade{width:58px;height:84px;border-radius:6px 6px 26px 26px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.4rem;font-size:.72rem;font-weight:700;color:#6b5a3c;box-shadow:inset 0 -10px 14px rgba(120,90,40,.12),0 2px 0 rgba(255,255,255,.1)}
.shade.s1{background:linear-gradient(#fffdf8,#f6efdf)}.shade.s2{background:linear-gradient(#fbf4e3,#eddfc2)}
.shade.s3{background:linear-gradient(#f7ecd5,#e9d6b0)}.shade.s4{background:linear-gradient(#f2e5cb,#e0cb9f)}
.shade.s5{background:linear-gradient(#eee0c4,#d9c293)}.shade.s6{background:linear-gradient(#e9d9b9,#d2b883)}
.shade-line{height:34px;margin:0;background:repeating-linear-gradient(90deg,#fffdf8 0 40px,#f4ead3 40px 80px,#ead9b6 80px 120px,#dfc794 120px 160px,#f0e2c4 160px 200px,#faf3e3 200px 240px);border-radius:0 0 40px 40px/0 0 34px 34px}
/* hero */
.hero{background:var(--au);color:#fff;padding:4.5rem 0 0;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:-12%;top:-30%;width:70vw;height:70vw;background:radial-gradient(circle,rgba(217,189,133,.2),transparent 62%)}
.hero h1{font-size:clamp(2.6rem,6.2vw,5rem);color:#fff;margin-bottom:1.2rem}
.hero p.lead{color:#e6dcee;max-width:34rem}
.arch{border-radius:999px 999px 18px 18px;overflow:hidden;border:3px solid var(--champ);max-width:380px;margin-left:auto;aspect-ratio:600/760;background:#111}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.hero .shades{margin:2.4rem 0 0}
.hero-shades{padding-bottom:0;margin-top:3rem}
.hero-strip{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding:0 0 0}
.cap{font-size:.85rem;color:#cdbfd9;margin-top:.6rem}
/* services index */
.svc-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;padding:2rem 0;border-top:1px solid #dcd2c2}
.svc-row:last-child{border-bottom:1px solid #dcd2c2}
.svc-row h3{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--au)}
.svc-row ul{list-style:none;padding:0;margin:0;columns:2;column-gap:2rem}
.svc-row li{padding:.3rem 0;border-bottom:1px dotted #d9cfbd;break-inside:avoid}
.svc-row p{color:var(--mute)}
.photo{border-radius:18px;width:100%;height:auto;display:block}
.photo-arch{border-radius:200px 200px 16px 16px;width:100%;aspect-ratio:4/5;object-fit:cover}
.band{background:var(--ivory)}
/* quote band */
.quotes{background:var(--au);color:#fff}
.quotes h2{color:#fff}
.qcard{border-top:3px solid var(--champ);padding-top:1rem;height:100%}
.qcard p{font-family:'Bodoni Moda',serif;font-size:1.2rem;line-height:1.45;color:#f4ecf8}
.qcard b{color:var(--champ);font-size:.95rem;font-family:'Figtree',sans-serif}
.bigq{font-family:'Bodoni Moda',serif;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.3;max-width:56rem}
/* sticky side */
.stick{position:sticky;top:130px}
.info-card{background:#fff;border:1px solid #e3dccf;border-radius:16px;padding:1.5rem 1.6rem;height:100%}
.info-card h3{font-size:1.4rem;color:var(--au)}
.info-card ul{padding-left:1.1rem;margin:0}
/* hours */
.hours{display:flex;flex-direction:column;gap:.5rem}
.hrow{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:6px 6px 28px 28px;border:1px solid #e3dccf;padding:.7rem 1.2rem}
.hrow .d{font-weight:700;color:var(--au);min-width:8rem}
.hrow .t{margin-left:auto;font-weight:600}
.contact a.big{font-family:'Bodoni Moda',serif;font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--au);text-decoration:none;display:block}
.map{border:0;width:100%;height:100%;min-height:340px;border-radius:16px}
footer{background:#1d1129;color:#cfc3da;padding:3.5rem 0 2rem}
footer a{color:var(--champ)}
footer .brand{color:#fff!important}
.social a{display:inline-flex;width:42px;height:42px;border:1px solid #5a466f;border-radius:50%;align-items:center;justify-content:center;margin-right:.4rem;color:var(--champ);text-decoration:none}
.social a:hover{background:var(--champ);color:var(--au)}
@media(max-width:991px){.sec{padding:4rem 0}.svc-row{grid-template-columns:1fr;gap:1rem}.arch{margin:2rem auto 0}.stick{position:static}}
@media(max-width:575px){.svc-row ul{columns:1}.shade{width:44px;height:68px}.hrow{flex-wrap:wrap}.hrow .d{min-width:6rem}}
