@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--cream:#f8f2eb;--cream2:#f1e4d6;--sand:#e5d0bb;--brown:#4b2e1c;--brown2:#6c4932;--gold:#b98d5c;--ink:#30241c;--muted:#75685d;--white:#fffaf5;--line:rgba(75,46,28,.18);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.section-anchor{scroll-margin-top:80px}.site-header{height:82px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(20px,6vw,90px);background:rgba(248,242,235,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(75,46,28,.08)}.brand img{width:128px;height:62px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,34px);font-size:13px}.main-nav>a:not(.nav-cta){position:relative;padding:10px 0}.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--brown);transition:right .2s}.main-nav>a:hover:after,.main-nav>a.active:after{right:0}.nav-cta{background:var(--brown);color:#fff9f2;padding:12px 23px;border-radius:99px}.menu-toggle{display:none;background:none;border:0;padding:8px}.hero{display:grid;grid-template-columns:.92fr 1.08fr;min-height:440px;background:var(--cream2);overflow:hidden}.hero-copy{padding:clamp(38px,6vw,82px) 4vw clamp(32px,5vw,62px) clamp(24px,8vw,120px);position:relative;align-self:center}.eyebrow{font-size:10px;letter-spacing:.28em;font-weight:700;color:var(--brown2);margin:0 0 14px}.hero-brand{font-family:"Playfair Display",Georgia,serif;font-size:clamp(58px,8vw,108px);letter-spacing:.13em;line-height:.95;margin:0;color:var(--brown)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.12;color:var(--brown)}h1{font-size:clamp(28px,3.3vw,46px);margin:8px 0 15px}h2{font-size:clamp(30px,4vw,44px);margin-bottom:12px}.hero-sub{max-width:370px;color:#5c4a3b;font-size:16px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 24px;border-radius:99px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--brown);color:white}.button-outline{border:1px solid var(--gold);color:var(--brown);background:rgba(255,250,245,.4)}.hero-note{font-size:11px;color:var(--muted);margin-top:26px}.small-flower{color:var(--gold);font-size:18px;margin-right:8px}.hero-photo{min-height:420px;overflow:hidden;position:relative;border-radius:48% 0 0 10% / 35% 0 0 8%}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 42%}.services-section{padding:58px clamp(20px,6vw,88px) 44px;background:var(--white)}.section-heading{text-align:center;margin:0 auto 30px;max-width:700px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2{margin-bottom:8px}.section-heading>p:last-child{color:var(--muted);font-size:14px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.service-card{border:1px solid var(--line);border-radius:18px;padding:20px 16px 18px;text-align:center;background:rgba(241,228,214,.28);transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-3px);border-color:var(--gold)}.service-art{width:76px;height:76px;margin:0 auto 12px;background:var(--cream2);border-radius:50%;display:grid;place-items:center;color:var(--brown)}.service-art img{width:64px;height:64px;object-fit:contain}.service-art svg{width:48px;height:48px}.service-icon-fallback{font-size:34px;color:var(--brown)}.service-card h3{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:500;margin-bottom:5px;color:var(--brown)}.service-card p{font-size:12px;line-height:1.5;color:var(--muted);min-height:36px;margin-bottom:10px}.text-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--brown);border-bottom:1px solid var(--gold);padding-bottom:3px}.service-disclaimer{text-align:center;color:var(--muted);font-size:11px;margin:24px 0 0}.about-section{display:grid;grid-template-columns:1fr 1fr;min-height:390px;background:var(--cream2)}.about-photo{min-height:390px;overflow:hidden}.about-photo img{width:100%;height:100%;min-height:390px;object-fit:cover}.about-copy{padding:clamp(30px,5vw,70px) clamp(25px,6vw,85px);align-self:center}.about-copy>p:not(.eyebrow){max-width:550px;color:#5d5046}.values{display:flex;gap:20px;flex-wrap:wrap;margin:28px 0}.values>div{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.4}.value-icon{font-family:Georgia,serif;font-size:28px;color:var(--brown)}.gallery-section{padding:58px clamp(16px,5vw,72px) 54px;background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(85px,12vw,150px);gap:8px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;border-radius:9px;background:var(--cream2);cursor:zoom-in;min-width:0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-0,.gallery-5,.gallery-10,.gallery-17{grid-column:span 2;grid-row:span 2}.gallery-1,.gallery-7,.gallery-14,.gallery-21{grid-column:span 1;grid-row:span 1}.gallery-2,.gallery-8,.gallery-13,.gallery-20{grid-column:span 2}.gallery-hint{text-align:center;font-size:11px;color:var(--muted);margin:18px 0 0}.contact-section{position:relative;padding:64px clamp(24px,8vw,115px) 50px;background:var(--white);display:grid;grid-template-columns:1.1fr 1fr;gap:25px 60px;align-items:center}.contact-copy p:not(.eyebrow){max-width:460px;color:var(--muted)}.contact-details{display:grid;gap:18px}.contact-detail{display:flex;gap:14px;align-items:center}.contact-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--cream2);font-size:21px;color:var(--brown);flex-shrink:0}.contact-detail strong,.contact-detail span:not(.contact-icon){display:block}.contact-detail strong{font-size:13px;color:var(--brown)}.contact-detail div span{font-size:12px;color:var(--muted)}.contact-button{justify-self:start;grid-column:2}.contact-note{grid-column:1/-1;font-size:10px;color:var(--muted);margin:0}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px clamp(20px,6vw,90px);background:var(--brown);color:#f8eee4;font-size:11px}.footer-brand{font-family:"Playfair Display",Georgia,serif;letter-spacing:.2em;font-size:19px}.lightbox{position:fixed;inset:0;background:rgba(28,19,13,.92);z-index:100;display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:min(85vw,1100px);max-height:84vh;object-fit:contain;border-radius:8px}.lightbox button{position:absolute;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:white;border-radius:50%;width:42px;height:42px;font-size:28px;cursor:pointer}.lightbox-close{top:20px;right:20px}.lightbox-prev{left:18px;top:50%}.lightbox-next{right:18px;top:50%}
@media(min-width:1300px){.hero{min-height:500px}.hero-photo{min-height:500px}.service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.site-header{height:72px;padding:7px 20px}.brand img{width:110px;height:55px}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:24px;height:2px;background:var(--brown)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:18px 24px 24px;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:10px 0}.nav-cta{text-align:center;margin-top:6px}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 7vw 34px}.hero-photo{min-height:310px;border-radius:30% 0 0 0 / 18% 0 0 0}.hero-photo img{object-position:center 40%}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-card{padding:16px 10px}.about-section{grid-template-columns:1fr}.about-photo,.about-photo img{min-height:280px;max-height:380px}.about-copy{padding:38px 7vw 42px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(80px,19vw,140px)}.contact-section{grid-template-columns:1fr;gap:22px;padding:45px 7vw}.contact-button{grid-column:1}.contact-note{grid-column:1}.site-footer{flex-wrap:wrap}}
@media(max-width:480px){body{font-size:14px}.hero-brand{font-size:70px}.hero-photo{min-height:260px}.services-section,.gallery-section{padding-top:42px;padding-bottom:38px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-art{width:66px;height:66px}.service-art img{width:56px;height:56px}.service-card h3{font-size:16px}.service-card p{min-height:0}.values{gap:14px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(82px,27vw,125px);gap:5px}.gallery-0,.gallery-5,.gallery-10,.gallery-17{grid-column:span 2;grid-row:span 2}.contact-button{width:100%}.site-footer{justify-content:center;text-align:center}.site-footer>*{flex-basis:100%}.lightbox-prev{left:6px}.lightbox-next{right:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.service-options{margin:10px 0 12px;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;font-size:11px}
.service-options summary{cursor:pointer;list-style:none;color:var(--brown);font-weight:700;text-align:center}
.service-options summary::-webkit-details-marker{display:none}
.service-options summary:after{content:" +";color:var(--gold)}
.service-options[open] summary:after{content:" −"}
.service-options ul{padding-left:17px;margin:9px 0;color:var(--muted);line-height:1.65}
.service-options li{padding:1px 0}
.option-note{font-size:10px!important;min-height:0!important;margin:6px 0 2px!important;color:var(--muted)}
