@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#173f35;--green2:#245d4e;--cream:#f5efe3;--ivory:#fffdf8;--gold:#c49b55;--charcoal:#26302d;--muted:#68716e;--line:#ded8cc;--shadow:0 24px 70px rgba(23,63,53,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--charcoal);background:var(--ivory);font-family:'DM Sans',system-ui,sans-serif;line-height:1.65}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.icon{width:1.15em;height:1.15em;flex:none}.site-header{height:86px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;gap:30px;position:sticky;top:0;z-index:40;background:rgba(255,253,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,63,53,.08)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-family:'Libre Caslon Display',serif;font-size:25px}.brand b,.brand small{display:block}.brand b{font-size:18px;line-height:1.15;color:var(--green)}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-top:3px}.desktop-nav{display:flex;gap:24px}.desktop-nav button{border:0;background:none;color:var(--charcoal);font-size:14px}.desktop-nav button:hover{color:var(--green2)}.header-call{display:flex;align-items:center;gap:8px;border:1px solid var(--green);border-radius:999px;padding:10px 16px;color:var(--green);font-weight:700;font-size:14px}.menu-button{display:none;border:0;background:none;font-size:26px;color:var(--green)}.mobile-menu{position:fixed;inset:86px 0 auto 0;background:var(--ivory);z-index:35;padding:28px;display:grid;gap:16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile-menu button,.mobile-menu a{background:none;border:0;text-align:left;font-size:21px;color:var(--green);padding:8px}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(36px,6vw,90px);align-items:center;padding:clamp(48px,8vw,112px) clamp(20px,6vw,92px);overflow:hidden;background:radial-gradient(circle at 12% 25%,#fff 0,#fffdf8 36%,#f1eadc 100%)}.eyebrow,.section-label{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green2)}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.07;margin:0;color:var(--green)}h1{font-size:clamp(54px,7.1vw,108px);max-width:900px;letter-spacing:-.035em}h1 em{font-style:italic;color:var(--gold)}.hero-lede{font-size:clamp(19px,2vw,27px);max-width:640px;color:#4d5955;margin:28px 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 23px;border:1px solid transparent;font-weight:700;transition:.2s transform,.2s background}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--green);color:white}.btn.secondary{border-color:var(--line);background:white;color:var(--green)}.trust-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px;color:var(--muted);font-size:14px}.trust-row span{display:flex;align-items:center;gap:6px}.trust-row .icon{color:var(--gold)}.hero-image-wrap{position:relative;max-width:700px;justify-self:end}.hero-image{height:min(70vh,760px);width:100%;object-fit:cover;object-position:50% 35%;border-radius:48% 48% 18px 18px;box-shadow:var(--shadow)}.hero-quote{position:absolute;left:-56px;bottom:34px;width:min(360px,75%);padding:22px 25px;background:rgba(255,253,248,.95);border-left:4px solid var(--gold);box-shadow:var(--shadow);font-family:'Libre Caslon Display',serif;font-size:21px;color:var(--green)}.language-strip{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:24px;background:var(--green);color:white}.language-strip span{display:flex;gap:10px;align-items:center;margin-right:12px;color:#e7dfcf}.language-strip i{color:var(--gold)}.section{padding:clamp(76px,9vw,140px) clamp(20px,7vw,108px)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);margin-top:22px}.two-col h2,.section-heading h2,.music-copy h2,.credentials h2,.faq h2{font-size:clamp(40px,5vw,72px)}.two-col p{font-size:17px;color:#52605b}.two-col .large-copy{font-size:23px;color:var(--green)}blockquote{margin:90px auto 0;max-width:900px;text-align:center;font-family:'Libre Caslon Display',serif;font-size:clamp(31px,4vw,56px);color:var(--green);line-height:1.2}blockquote cite{display:block;font-family:'DM Sans';font-style:normal;font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);margin-top:20px}.services-section{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end;margin-bottom:55px}.section-heading h2{margin-top:14px}.section-heading>p{color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cec5b5}.service-card{padding:34px 24px 34px 0;border-bottom:1px solid #cec5b5;display:grid;grid-template-columns:48px 190px 1fr;gap:24px;align-items:start}.service-card:nth-child(even){padding-left:35px;border-left:1px solid #cec5b5}.service-card>span{color:var(--gold);font-size:12px;letter-spacing:.1em}.service-card h3{font-size:25px}.service-card p{margin:0;color:#58625e}.identity-band{background:var(--green);color:white;text-align:center;padding:110px 20px}.identity-band p{letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:#d7cdbb}.identity-band h2{color:white;font-size:clamp(43px,6vw,83px);max-width:1100px;margin:18px auto 0}.music-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,120px);align-items:center}.music-image img{width:100%;height:660px;object-fit:cover;border-radius:6px 100px 6px 6px;box-shadow:var(--shadow)}.music-copy h2{margin:16px 0 30px}.music-copy p{font-size:18px;color:var(--muted)}.music-copy .pull{font-family:'Libre Caslon Display';font-size:31px;color:var(--green);border-left:3px solid var(--gold);padding-left:22px;margin-top:35px}.stories-section{background:#f8f4eb}.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.story-card{background:white;padding:38px;border:1px solid #e8e1d4;min-height:430px;display:flex;flex-direction:column}.story-number{color:var(--gold);font-size:12px;letter-spacing:.14em}.story-card h3{font-size:32px;margin:34px 0 22px}.story-card p{color:#616b67;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.story-card button{margin-top:auto;border:0;background:none;color:var(--green);font-weight:700;padding:12px 0 0;display:flex;align-items:center;gap:8px}.credentials{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.credentials h2{margin-top:16px}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.credential-grid>div{background:var(--cream);padding:28px;min-height:170px}.credential-grid strong{font-family:'Libre Caslon Display';font-size:48px;color:var(--green);display:block}.credential-grid span{color:var(--muted)}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;background:var(--cream)}.faq h2{margin-top:16px}.faq-list details{border-top:1px solid #ccc4b5;padding:24px 0}.faq-list details:last-child{border-bottom:1px solid #ccc4b5}.faq-list summary{font-size:18px;font-weight:700;color:var(--green);display:flex;justify-content:space-between;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:720px;color:var(--muted)}.contact-section{background:var(--green);color:white;padding:clamp(75px,9vw,140px) clamp(20px,7vw,108px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,115px)}.section-label.light{color:#dbc79f}.contact-copy h2{font-size:clamp(42px,5vw,73px);color:white;margin:16px 0 28px}.contact-copy>p{font-size:19px;color:#cbd6d2}.contact-links{margin-top:48px;display:grid;gap:20px}.contact-links a,.contact-links>div{display:flex;align-items:center;gap:14px}.contact-links .icon{width:24px;height:24px;color:var(--gold)}.contact-links span,.contact-links small{display:block}.contact-links small{color:#aebfba;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.contact-form{background:var(--ivory);color:var(--charcoal);padding:38px;border-radius:4px;align-self:start}.contact-form label{font-size:13px;font-weight:700;color:var(--green);display:block;margin-bottom:18px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #d7d1c6;background:white;padding:13px 14px;border-radius:3px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,63,53,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-btn{width:100%;background:var(--gold);color:#1d2d28}.form-note{font-size:11px;color:#727a77;text-align:center;margin:14px 0 0}.hidden{position:absolute;left:-9999px}footer{padding:42px clamp(20px,6vw,90px);display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;background:#102e27;color:white}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand b,.footer-brand small{display:block}.footer-brand small{color:#a8bbb5}.footer-brand+.footer-brand{}footer>div:nth-child(2){display:flex;gap:24px;color:#d8e2df}footer p{grid-column:1/-1;color:#8fa49e;font-size:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}.modal-backdrop{position:fixed;inset:0;background:rgba(10,30,25,.82);z-index:100;display:grid;place-items:center;padding:20px}.modal{background:var(--ivory);padding:clamp(30px,6vw,70px);max-width:780px;max-height:88vh;overflow:auto;position:relative;box-shadow:var(--shadow)}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px;color:var(--green)}.modal h2{font-size:clamp(38px,5vw,62px);margin:17px 0 26px}.modal p{font-size:18px;color:#55615d}.modal .btn{margin-top:18px}
@media(max-width:1000px){.desktop-nav{display:none}.menu-button{display:block}.header-call{margin-left:auto}.hero{grid-template-columns:1fr;padding-top:70px}.hero-image-wrap{justify-self:center;max-width:620px}.hero-image{height:620px}.hero-quote{left:18px}.section-heading,.credentials,.faq{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(even){padding-left:0;border-left:0}.music-section{grid-template-columns:1fr}.music-image img{height:560px}.contact-section{grid-template-columns:1fr}}
@media(max-width:700px){.site-header{height:72px;padding:0 16px}.brand b{font-size:16px}.brand small{display:none}.brand-mark{width:37px;height:37px}.header-call{display:none}.mobile-menu{inset:72px 0 auto}.hero{min-height:auto;padding:52px 18px 70px}.hero h1{font-size:54px}.hero-lede{font-size:19px}.hero-actions{display:grid}.btn{width:100%}.hero-image{height:470px}.hero-quote{position:relative;left:auto;bottom:auto;width:calc(100% - 28px);margin:-48px auto 0;font-size:18px}.language-strip{gap:12px;font-size:13px}.language-strip span{width:100%;justify-content:center;margin:0}.section{padding:78px 20px}.two-col{grid-template-columns:1fr}.two-col h2,.section-heading h2,.music-copy h2,.credentials h2,.faq h2{font-size:42px}.section-heading{gap:20px}.service-card{grid-template-columns:32px 1fr;gap:12px}.service-card p{grid-column:2}.story-grid,.credential-grid{grid-template-columns:1fr}.story-card{min-height:auto}.music-image img{height:420px}.credentials,.faq{gap:45px}.contact-section{padding:78px 20px}.contact-form{padding:24px 18px}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>div:nth-child(2){display:grid;gap:8px}.identity-band{padding:80px 20px}}

/* Privacy-safe visual replacements: no client or family photographs */
.privacy-safe-hero{min-height:520px;background:linear-gradient(145deg,var(--cream),#e7dfcc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;overflow:hidden;position:relative}
.privacy-safe-hero::before,.privacy-safe-hero::after{content:"";position:absolute;border:1px solid rgba(23,63,53,.18);border-radius:50%}
.privacy-safe-hero::before{width:360px;height:360px;right:-120px;top:-110px}.privacy-safe-hero::after{width:240px;height:240px;left:-90px;bottom:-85px}
.hero-symbol{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:52px;margin-bottom:28px;position:relative;z-index:1}
.privacy-safe-hero .hero-quote{position:relative;z-index:1;max-width:440px}
.hero-safe-note{position:relative;z-index:1;margin:22px 0 0;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.privacy-safe-music{min-height:420px;background:linear-gradient(145deg,#173f35,#285b4e);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px}
.music-symbol{width:104px;height:104px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-size:58px;margin-bottom:24px}
.privacy-safe-music p{max-width:320px;font-family:Georgia,serif;font-size:1.35rem;line-height:1.5;margin:0;color:#fff}
@media(max-width:760px){.privacy-safe-hero{min-height:390px;padding:36px 24px}.privacy-safe-music{min-height:300px}}

/* Personal photography update */
.hero-photo{position:relative;overflow:hidden;border-radius:8px 90px 8px 8px;box-shadow:var(--shadow);background:#d9d3c7;min-height:640px;margin:0}
.hero-photo img{width:100%;height:100%;min-height:640px;display:block;object-fit:cover;object-position:center 24%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,31,25,.28),transparent 38%);pointer-events:none}
.hero-photo .hero-quote{z-index:2;left:24px;bottom:24px;max-width:390px}
.about-profile{margin:85px auto 0;max-width:980px;display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:clamp(34px,6vw,78px);align-items:center;background:var(--cream);padding:clamp(22px,4vw,44px);border-radius:6px}
.about-profile img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 24%;border-radius:4px 46px 4px 4px;box-shadow:0 16px 36px rgba(31,46,40,.14)}
.about-profile h3{font-family:'Libre Caslon Display',serif;color:var(--green);font-size:clamp(32px,4vw,52px);line-height:1.08;margin:16px 0 20px}
.about-profile p{font-size:18px;color:var(--muted);margin:0}
.care-hands{position:relative;overflow:hidden;border-radius:6px 80px 6px 6px;box-shadow:var(--shadow);margin:0;background:#333}
.care-hands img{width:100%;height:560px;display:block;object-fit:cover;object-position:45% center}
.care-hands::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,30,25,.52),transparent 45%)}
.care-hands figcaption{position:absolute;z-index:2;left:28px;bottom:24px;color:white;font-family:'Libre Caslon Display',serif;font-size:clamp(21px,2.5vw,31px);max-width:380px}
@media(max-width:1000px){.hero-photo,.hero-photo img{min-height:600px}.care-hands img{height:500px}}
@media(max-width:700px){.hero-photo{min-height:500px;border-radius:6px 55px 6px 6px}.hero-photo img{min-height:500px;object-position:center 20%}.hero-photo .hero-quote{position:absolute;width:auto;margin:0;left:14px;right:14px;bottom:14px;font-size:18px}.about-profile{grid-template-columns:1fr;margin-top:60px}.about-profile img{max-height:520px}.care-hands img{height:330px;object-position:42% center}.care-hands figcaption{left:20px;bottom:18px}}
