:root{
  --ink:#3f574d;--teal:#31aaa4;--teal-deep:#258f89;--olive:#788f4d;
  --cream:#fff1cc;--paper:#fff8e8;--coral:#ee806f;--sun:#f4c95f;
  --lilac:#d8c3ed;--blush:#ffc7bd;--sky:#bfe9e5;--leaf:#d7e49c;
  --line:#afc07e;--muted:#657466;--shadow:0 22px 54px rgba(66,99,78,.18)
}
body{background:#eef3cf;color:var(--ink)}
h1,h2,h3{color:#3f574d}.lead,.prose p,.service-card p:not(.eyebrow),.service-detail p,.steps p,.method-grid p,.legal p,.legal li{color:#586d60}
.site-header{height:104px;background:rgb(75 188 184);;border-bottom:1px solid rgba(255,241,204,.38);box-shadow:0 10px 32px rgba(45,112,99,.16)}
.brand{min-width:150px}.brand-logo{display:block;width:150px;height:92px;object-fit:contain;background:transparent;border-radius:0;box-shadow:none}
.desktop-nav a{color:#fff5d8}.desktop-nav a[aria-current=page],.desktop-nav a:hover{color:#fff0aa}
.desktop-nav a[aria-current=page]::after{background:var(--coral)}
.nav-cta{background:var(--sun);color:#465d4d;box-shadow:0 12px 26px rgba(86,103,52,.2)}
.nav-cta:hover{background:#ffe39a;color:#3f574d;transform:translateY(-2px)}
.btn.primary{background:var(--coral);color:#fff8e8;box-shadow:0 12px 26px rgba(238,128,111,.27)}
.btn.primary:hover{background:var(--teal-deep);color:#fff8e8;transform:translateY(-2px)}
.btn.secondary{border:2px solid var(--olive);color:#4f6845;background:var(--leaf)}.btn.secondary:hover{background:var(--olive);color:#fff8e8}
.mobile-nav{background:var(--teal)}.mobile-nav a{color:#fff5d8}.menu-btn span{background:#fff1cc}.skip-link{background:var(--sun);color:var(--ink)}::selection{background:var(--blush);color:var(--ink)}

/* A lively first impression: warm copy panel + fresh turquoise portrait panel. */
.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#fff0c9 0 54%,#a8ddd4 54% 100%)}
.hero::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(244,201,95,.72);left:-120px;bottom:-170px}
.hero::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(238,128,111,.55);right:-55px;top:80px}
.hero-grid{position:relative;z-index:1}.hero h1{color:#3f574d}.hero h1 em{color:var(--coral)}
.portrait-wrap{background:var(--sky);border:8px solid #ffe8ad;box-shadow:0 28px 70px rgba(51,108,91,.22)}
.portrait-wrap::before{background:var(--sun)}
.floating-note{background:var(--lilac);color:var(--ink);border:2px solid rgba(107,82,132,.12);box-shadow:0 16px 34px rgba(83,67,102,.18)}
.mini-mark{background:var(--sun);color:#65783f}.trust-row{border-top-color:#d3b96c;color:#536958}

.intro-band{background:linear-gradient(115deg,var(--teal-deep),#48b9a1 55%,#87a54f);color:#fff8e8;position:relative;overflow:hidden}
.intro-band::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-55px;bottom:-95px;background:rgba(244,201,95,.4)}
.intro-band .container{position:relative;z-index:1}.intro-band h2{color:#fff8e8}.intro-band .eyebrow,.eyebrow.light{color:#ffedb6}.intro-band p:last-child{color:#f9f4dc}

.section{background:var(--paper)}.section.soft{background:linear-gradient(125deg,#dce7a9 0 50%,#bfe9e5 50% 100%)}
.section-head{border-left:7px solid var(--coral);padding-left:1.2rem}
.service-card{border:0;color:var(--ink);box-shadow:0 16px 38px rgba(61,91,71,.14);transition:transform .25s ease,box-shadow .25s ease}
.service-card:nth-child(1){background:var(--blush)}.service-card:nth-child(2){background:var(--sky)}.service-card:nth-child(3){background:var(--lilac)}
.service-card:hover{transform:translateY(-8px);box-shadow:0 26px 52px rgba(61,91,71,.22)}
.service-card .icon{background:#fff3cf;color:var(--olive);box-shadow:inset 0 0 0 2px rgba(120,143,77,.12)}.service-card a{color:#426d55}
.photo-card{background:var(--sun);border:9px solid #fff0c9;box-shadow:var(--shadow)}.photo-caption{color:#4d684e}
.content-block{background:rgba(255,248,232,.78);padding:clamp(1.5rem,4vw,3.25rem);border-radius:34px;box-shadow:0 18px 45px rgba(60,90,71,.12)}
.check-list li{border-bottom-color:#aabd79}.check-list li::before{color:var(--coral)}
.cta-section{background:var(--sky)}.cta-card{background:linear-gradient(120deg,var(--coral),#ee9b6e 46%,#d09bc3);color:#fff8e8;box-shadow:0 24px 55px rgba(165,82,78,.2)}
.cta-card h2{color:#fff8e8}.cta-card p{color:#fff4dc}.light-btn{background:var(--sun);color:#465d4d;box-shadow:0 10px 22px rgba(113,83,38,.16)}

.page-hero{background:linear-gradient(115deg,var(--sky),#dbe7a3 58%,#ffd6ae)}.page-portrait{background:var(--lilac);border:9px solid #fff0c9;box-shadow:var(--shadow)}
.side-quote{background:var(--lilac);color:var(--ink);border:0;box-shadow:0 14px 32px rgba(91,68,112,.14)}.side-quote>span,.side-quote strong{color:#698044}
.stat-row div:nth-child(1){background:var(--sun)}.stat-row div:nth-child(2){background:var(--sky)}.stat-row div:nth-child(3){background:var(--blush)}
.simple-hero{background:linear-gradient(125deg,#ffe6a6,var(--sky) 52%,var(--lilac))}
.service-detail{border:0;box-shadow:0 18px 40px rgba(61,91,71,.13)}.service-detail:nth-child(1){background:var(--blush)}.service-detail:nth-child(2){background:var(--sky)}.service-detail:nth-child(3){background:var(--lilac)}.service-detail .icon{background:#fff2cc}
.notice{background:#ffe1a0;border-left-color:var(--coral)}.steps li{border-bottom-color:#b3c680}.steps li>span{color:var(--coral)}
.method-grid article{box-shadow:0 14px 34px rgba(61,91,71,.12)}.method-grid article:nth-child(1){background:var(--sun)}.method-grid article:nth-child(2){background:var(--sky)}.method-grid article:nth-child(3){background:var(--lilac)}.method-grid article>span{color:#687e42}
.testimonial-empty{background:linear-gradient(120deg,var(--lilac),#efc5db);padding:clamp(2rem,5vw,4rem);border-radius:32px;box-shadow:var(--shadow)}.quote-mark{color:var(--coral)}
.values-row span:nth-child(1){background:var(--sun)}.values-row span:nth-child(2){background:var(--sky)}.values-row span:nth-child(3){background:var(--blush)}
.gallery-grid figure{background:var(--sky);border:9px solid #ffe9b2;box-shadow:var(--shadow)}.gallery-grid figcaption{background:rgba(255,241,204,.95)}.gallery-note{background:var(--lilac);color:var(--ink)}.gallery-note>span{color:var(--coral)}
.event-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:1.35rem}.event-gallery figure{position:relative;margin:0;min-height:380px;border:8px solid #ffe9b2;border-radius:22px;overflow:hidden;background:var(--sky);box-shadow:0 18px 42px rgba(61,91,71,.15)}.event-gallery figure.event-wide{grid-column:span 2}.event-gallery img{width:100%;height:100%;min-height:380px;object-fit:cover;transition:transform .45s ease}.event-gallery figure:hover img{transform:scale(1.035)}.event-gallery figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:1rem 1.1rem;background:rgba(255,241,204,.94);border-radius:14px;backdrop-filter:blur(10px)}.event-gallery figcaption span,.event-gallery figcaption strong{display:block}.event-gallery figcaption span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#55826e;font-weight:800}.event-gallery figcaption strong{font:1.18rem/1.25 Georgia,'Times New Roman',serif;color:#3f574d;margin-top:.25rem}
.contact-page{background:linear-gradient(135deg,#dbe7a0,var(--sky) 52%,#ffd0b8)}.contact-points>div{border-top-color:#a9bd76}.urgent-note{background:var(--blush);border-left-color:var(--coral)}
.contact-form{background:#fff0c8;box-shadow:var(--shadow);border:2px solid rgba(120,143,77,.18)}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#f1f4d6;border-color:#aabe7c;color:var(--ink)}
.legal-page{background:linear-gradient(180deg,#d7eee8,#eef1c6)}.legal{background:#fff0c8;padding:clamp(1.5rem,5vw,4rem);border-radius:30px;box-shadow:var(--shadow)}.updated{border-bottom-color:#adbf7e}
footer{background:linear-gradient(115deg,#8fa95b,#69b9a1);color:#fff8e8}.footer-brand .brand-logo{border:0}.footer-grid>div:first-child p,.footer-grid>div:not(:first-child) a,.footer-grid>div:not(:first-child) span,.footer-bottom{color:#f8f2d8}.footer-grid h3{color:#fff3c6}.footer-grid a:hover{color:#fff}.footer-bottom{border-top-color:rgba(255,248,232,.28)}
@media(max-width:1020px){.brand-logo{width:138px;height:86px}.hero{background:linear-gradient(130deg,#fff0c9 0 58%,#a8ddd4 58%)}.event-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.brand{min-width:auto}.brand-logo{width:102px;height:66px}.site-header{height:78px}.mobile-nav{top:78px}.mobile-nav.open{height:calc(100vh - 78px)}.hero{background:linear-gradient(180deg,#fff0c9 0 55%,#a8ddd4 55%)}.section.soft{background:linear-gradient(180deg,#dce7a9 0 52%,#bfe9e5 52%)}.section-head{border-left-width:5px}.event-gallery{grid-template-columns:1fr}.event-gallery figure.event-wide{grid-column:auto}.event-gallery figure,.event-gallery img{min-height:430px}}
