:root{--cream:#f5efe3;--paper:#fffaf0;--ink:#24160f;--brown:#4a2112;--green:#43633e;--orange:#d56a31;--line:rgba(36,22,15,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;line-height:1.02;font-weight:650;font-stretch:90%}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--paper);position:relative;z-index:10;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:flex;align-items:center;gap:.7rem}
.brand>img{width:50px;height:50px;object-fit:cover;border-radius:50%}
.brand>span{display:flex;flex-direction:column}
.brand-name{font-family:"Bricolage Grotesque",sans-serif;font-size:1.65rem;line-height:1;color:var(--green);font-weight:650;letter-spacing:-.035em}
.brand-sub{text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;margin-top:7px}
.site-header nav{display:flex;gap:2rem}
.site-header nav a{text-decoration:none;font-weight:600;font-size:.9rem}
.site-header nav a:hover{color:var(--orange)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:99px;padding:.55rem .9rem;font:inherit}
.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--brown);overflow:hidden}
.hero-copy{padding:7rem 5vw 7rem 7vw;align-self:center;max-width:720px;color:var(--paper)}
.hero-photo{min-height:650px;position:relative;background:#d4d1ca}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--brown),transparent 22%)}
.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.76rem}
.eyebrow{color:#eed39d}
.hero h1{font-size:clamp(3.4rem,7.2vw,7rem);letter-spacing:-.055em;margin:.6rem 0 1.25rem;max-width:760px}
.hero-copy>p strong{font-weight:600;color:#f2b077}
.hero-copy>p:not(.eyebrow){font-size:1.1rem;max-width:540px}
.button{display:inline-flex;align-items:center;justify-content:center;margin-top:1.1rem;padding:.95rem 1.3rem;border-radius:99px;text-decoration:none;font-weight:600;transition:transform .2s}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--cream);color:var(--ink)}
.intro{padding:8rem 7vw 7rem;max-width:1320px;margin:auto}
.kicker{color:var(--orange);margin-bottom:1.2rem}
.intro h2,.section-heading h2,.about h2,.contact h2,.lineup h2{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.035em;max-width:950px}
.intro-copy{font-size:1.15rem;max-width:770px;margin:2rem 0 4rem}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.trust-row div{padding:1.6rem 1rem}
.trust-row div+div{border-left:1px solid var(--line)}
.trust-row strong,.trust-row span{display:block}
.trust-row strong{font-family:"Bricolage Grotesque",sans-serif;font-size:1.5rem;color:var(--green);font-weight:650}
.trust-row span{font-size:.88rem}
.services{background:var(--green);color:var(--paper);padding:8rem 7vw}
.section-heading{max-width:1320px;margin:auto}
.section-heading .kicker{color:#f2b077}
.section-heading>p:last-child{font-size:1.12rem}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1320px;margin:4rem auto 0;border-top:1px solid #ffffff59;border-left:1px solid #ffffff59}
.price-grid article{padding:2rem;border-right:1px solid #ffffff59;border-bottom:1px solid #ffffff59}
.price-grid article>span,.handstrip span{color:#f2b077;font-size:.8rem;text-transform:uppercase;letter-spacing:.13em}
.price-grid h3{font-size:2rem;margin:.6rem 0 1.4rem}
.price-grid ul{list-style:none;padding:0;margin:0}
.price-grid li{display:flex;justify-content:space-between;padding:.55rem 0;border-top:1px solid #ffffff29}
.price-grid li b{font-weight:500;color:#fffaf0cc}
.price-grid li strong{font-family:"Bricolage Grotesque",sans-serif;font-size:1.15rem}
.handstrip{max-width:1320px;margin:1rem auto 0;background:#365032;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.handstrip h3{font-size:1.8rem;margin:.25rem 0}
.handstrip p{margin:0;color:#fffaf0cc}
.handstrip>strong{font-family:"Bricolage Grotesque",sans-serif;font-size:2rem;white-space:nowrap}
.handstrip small{font-family:"DM Sans",sans-serif;font-size:.8rem;font-weight:500}
.price-note{max-width:1320px;margin:1rem auto 0;background:#365032;padding:1.6rem 2rem;display:grid;grid-template-columns:1fr 2fr;gap:2rem}
.price-note strong{font-family:"Bricolage Grotesque",sans-serif;font-size:1.35rem}
.price-note p{margin:0;color:#fffaf0d1}
.lineup{padding:8rem 0 8rem 7vw;background:var(--paper);overflow:hidden}
.lineup-heading{padding-right:7vw;display:flex;align-items:end;justify-content:space-between;gap:2rem}
.lineup h2{margin-bottom:0}
.gallery-controls{display:flex;gap:.6rem}
.gallery-controls button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:1.3rem;cursor:pointer}
.gallery-controls button:hover{background:var(--orange);color:white}
.gallery-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:3rem;padding-right:7vw}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track figure{margin:0;flex:0 0 min(430px,82vw);aspect-ratio:1;scroll-snap-align:start;background:var(--cream);overflow:hidden}
.gallery-track img{width:100%;height:100%;object-fit:cover}
.gallery-track figure:nth-child(3) img,.gallery-track figure:nth-child(5) img,.gallery-track figure:nth-child(6) img,.gallery-track figure:nth-child(8) img{transform:scaleX(-1)}
.about{display:grid;grid-template-columns:.75fr 1.25fr;column-gap:8vw;row-gap:3rem;padding:8rem 7vw;max-width:1320px;margin:auto;align-items:center}
.about-logo img{width:100%;display:block;border-radius:50%}
.about-copy p:not(.kicker){max-width:720px}
.scripture{grid-column:1/-1;width:100%;margin:0;padding:.9rem 0;overflow:hidden;background:var(--brown);border-left:7px solid var(--orange);color:var(--paper)}
.scripture-track{display:inline-flex;align-items:center;gap:1.35rem;min-width:max-content;padding-left:100%;white-space:nowrap;font-family:"Bricolage Grotesque",sans-serif;font-size:1rem;font-weight:600;line-height:1.2;animation:scripture-scroll 17s linear infinite}
.scripture cite{font-size:.72rem;font-style:normal;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:#f2b077}
.scripture:hover .scripture-track{animation-play-state:paused}
@keyframes scripture-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.scripture{padding:.9rem 1.25rem}.scripture-track{padding-left:0;white-space:normal;animation:none}}
.contact{padding:8rem 7vw;background:var(--brown);color:var(--paper)}
.contact .kicker{color:#f2b077}
.contact>p:not(.kicker){max-width:720px;font-size:1.1rem}
.contact .contact-tagline{margin:2rem 0 2.25rem;font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:600;line-height:1.3;color:#f2b077}
.contact-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.button-dark{background:var(--orange);color:#fff}
.phone-link{color:var(--paper);font-family:"Bricolage Grotesque",sans-serif;font-size:1.1rem;font-weight:650;text-decoration-thickness:1px;text-underline-offset:.28em}
.phone-link:hover{color:#f2b077}
.contact-actions span{color:#fffaf0bf}
.contact .location-note{margin-top:1.5rem;color:#fffaf0bf;font-size:.95rem}
footer{padding:2rem 5vw;display:flex;justify-content:space-between;background:var(--paper);font-size:.82rem}
section{scroll-margin-top:88px}

@media(max-width:760px){.site-header{height:76px}
.brand-name{font-size:1.25rem}
.brand-sub{font-size:.52rem}
.brand>img{width:44px;height:44px}
.menu-toggle{display:block}
.site-header nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:1.5rem 5vw;flex-direction:column;border-bottom:1px solid var(--line)}
.site-header nav.open{display:flex}
.hero{grid-template-columns:1fr;min-height:0}
.hero-copy{padding:5rem 7vw}
.hero-photo{height:440px;min-height:0;grid-row:1}
.hero-photo:after{background:linear-gradient(0deg,var(--brown),transparent 30%)}
.hero h1{font-size:3.6rem}
.intro,.services,.about,.contact{padding:5.5rem 7vw}
.trust-row,.price-grid,.about{grid-template-columns:1fr}
.trust-row div+div{border-left:0;border-top:1px solid var(--line)}
.price-note{grid-template-columns:1fr;gap:.5rem}
.handstrip{align-items:flex-start;flex-direction:column}
.lineup{padding:5.5rem 0 5.5rem 7vw}
.gallery-controls{display:none}
.about{column-gap:0;row-gap:3rem}
.about-logo{max-width:360px;margin:auto}
footer{flex-direction:column;gap:.4rem}
}
