:root{--gold:#D0AF6C;--ink:#111;--paper:#fff;--soft:#f6f3ec;--mute:#555;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*:before,*:after{box-sizing:inherit}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .6em}
a{color:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--ink);z-index:10}
nav{display:flex;align-items:center;justify-content:space-between;min-height:60px}
.brand{color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:1.15rem;letter-spacing:.04em}
.brand b{color:var(--gold);font-weight:400}
#menu{display:none}.burger{color:#fff;font-size:1.6rem;cursor:pointer;padding:6px}
nav ul{display:none;list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:8px 20px 16px}
#menu:checked~ul{display:block}nav li a{display:block;color:#fff;text-decoration:none;padding:10px 0;border-bottom:1px solid #333}
nav li a:hover{color:var(--gold)}
@media(min-width:860px){.burger{display:none}nav ul{display:flex;position:static;padding:0;gap:22px}nav li a{border:0;padding:0;font-size:.9rem}}
section{padding:64px 0}.dark{background:var(--ink);color:#fff}.soft{background:var(--soft)}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin:0 0 10px}
.hero{padding:80px 0}.hero h1{font-size:clamp(2.2rem,6vw,3.6rem)}.hero .tag{color:var(--gold);font-size:1.1rem}
.hero p{max-width:680px}.hero .logo{width:130px;border-radius:6px;margin-bottom:22px}
.btn{display:inline-block;background:var(--gold);color:var(--ink);padding:12px 26px;text-decoration:none;font-weight:600;border:0;font-size:1rem;cursor:pointer;margin:6px 10px 6px 0}
.btn.line{background:none;color:#fff;border:1px solid var(--gold)}
h2{font-size:clamp(1.7rem,4vw,2.3rem)}h2:after{content:"";display:block;width:56px;height:3px;background:var(--gold);margin-top:12px}
.grid{display:grid;gap:20px}@media(min-width:760px){.g2{grid-template-columns:1fr 1fr}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--paper);border:1px solid #e3ddcf;border-top:3px solid var(--gold);padding:24px}
.dark .card{background:#1b1b1b;border-color:#333;border-top-color:var(--gold)}
.card h3{font-size:1.2rem}.meta{font-size:.85rem;color:var(--mute)}.note{font-size:.9rem;font-style:italic;color:var(--mute)}
.tbc{border:1px dashed var(--gold);padding:2px 8px;font-size:.85rem;color:var(--mute)}
ul.tick{padding-left:1.1em}ul.tick li{margin:.4em 0}ul.tick li::marker{color:var(--gold)}
.quote{border-left:4px solid var(--gold);padding-left:18px;font-family:Georgia,serif;font-size:1.15rem}
form{display:grid;gap:14px;max-width:560px}label{font-size:.9rem}
input,select,textarea{width:100%;padding:11px;font:inherit;border:1px solid #888;background:#fff;color:#111;margin-top:4px}
footer{background:#000;color:#bbb;text-align:center;padding:28px 20px;font-size:.88rem}footer b{color:var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hero-grid{display:grid;gap:32px;align-items:center}
@media(min-width:860px){.hero-grid{grid-template-columns:1.4fr 1fr}}
.photo{display:block;width:100%;height:auto;border-radius:6px;object-fit:cover}
.hero-photo{max-width:420px;border:3px solid var(--gold);justify-self:center}
.about-photo{max-width:360px;margin-bottom:22px;border-bottom:4px solid var(--gold)}

.social a{margin-right:18px;color:var(--gold)}
.dark .card .btn,.card .btn{color:var(--ink)}


/* transparent light header over the hero, turns light-solid on scroll */
:root{padding-top:0}
header{position:fixed;top:0;left:0;right:0;background:transparent;padding-top:env(safe-area-inset-top,0px);transition:background .25s,box-shadow .25s}
nav ul{background:rgba(17,17,17,.92)}
header.scrolled{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(0,0,0,.08)}
header.scrolled .brand,header.scrolled .burger,header.scrolled nav li a{color:var(--ink)}
header.scrolled .brand b{color:#8a6a1f}
header.scrolled nav li a:hover{color:#8a6a1f}
header.scrolled nav ul{background:#fff}header.scrolled nav li a{border-color:#e3ddcf}
@media(min-width:860px){nav ul,header.scrolled nav ul{background:none}}
.hero{padding-top:130px}
/* head slider */
.slider{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px 0 96px;background:#000}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.slide.is-active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.slider-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.45) 40%,rgba(0,0,0,.85))}
.slider-copy{position:relative;z-index:2;width:100%}.slider-copy .copy{max-width:500px}
.slider-copy .logo{width:100px;height:auto;border-radius:6px;margin-bottom:18px}
.slider-ctrl{position:absolute;z-index:3;left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;align-items:center;gap:10px}
.sl-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);background:rgba(0,0,0,.45);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.sl-btn:hover{background:var(--gold);color:var(--ink)}
.dots{display:flex}.dots button{width:30px;height:30px;border:0;background:none;cursor:pointer;padding:0;position:relative}
.dots button:after{content:"";position:absolute;inset:10px;border:2px solid var(--gold);border-radius:50%}
.dots button.on:after{background:var(--gold)}
.practice{padding:0 0 56px}
@media(min-width:860px){
 .slides{left:auto;width:62%}
 .slider-shade{background:linear-gradient(90deg,#000 0,#000 36%,rgba(0,0,0,.6) 52%,rgba(0,0,0,.05) 100%)}
 .slider-ctrl{justify-content:flex-end;padding-right:max(20px,calc((100% - 1040px)/2))}
}
@media(prefers-reduced-motion:reduce){.slide,header{transition:none}}

/* solid light header */
header,header.scrolled{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 #e3ddcf,0 2px 10px rgba(0,0,0,.05)}
header .brand,header .burger,header nav li a{color:var(--ink)}
header .brand b{color:#8a6a1f}
header nav li a:hover{color:#8a6a1f}
header nav ul{background:#fff}header nav li a{border-color:#e3ddcf}
@media(min-width:860px){header nav ul{background:none}header nav li a{border:0}}

/* light cream header */
header,header.scrolled{background:#fbf8f1}
header nav ul{background:#fbf8f1}
@media(min-width:860px){header nav ul{background:none}}

.brand img{display:block;height:48px;width:auto}
nav{min-height:64px;padding:6px 0}
.logo-badge{display:inline-block;background:#fbf8f1;border-radius:8px;padding:10px;margin-bottom:18px}
.logo-badge img{display:block;width:110px;height:auto}
.brand img{height:58px}

/* logo in header, badge on dark hero */
.brand{display:flex;align-items:center;gap:10px}.brand img{height:46px;width:auto}
.logo-badge{background:#fbf8f1;padding:10px;border-radius:8px}
/* gallery carousel */
.gallery{padding:64px 0}
.car{position:relative}
.car-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}
.car-track::-webkit-scrollbar{display:none}
.car-item{flex:0 0 78%;margin:0;scroll-snap-align:start}
.car-item img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 25%;border-radius:6px;border-bottom:4px solid var(--gold)}
@media(min-width:760px){.car-item{flex-basis:calc((100% - 32px)/3)}}
.car-btn{position:absolute;top:42%;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:rgba(0,0,0,.6);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.car-btn:hover{background:var(--gold);color:var(--ink)}
.car-btn[data-dir="-1"]{left:6px}.car-btn[data-dir="1"]{right:6px}
@media(prefers-reduced-motion:reduce){.car-track{scroll-behavior:auto}}
header .brand img{height:56px;width:auto}
