/* Shared visual refinement: local assets, system fonts and no external requests. */
:root{--cream:#f8f5ee;--white:#fffefa;--line:#d9ded3;--accent:#c89250;--muted:#53665d}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:400;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(2.8rem,5.15vw,4.6rem);line-height:1.07}
h2{font-size:clamp(2.15rem,3.65vw,3.25rem);line-height:1.13}
h3{letter-spacing:-.025em}
.shell{width:min(1180px,calc(100% - 80px))}
.kicker{font-size:.72rem;letter-spacing:.16em;margin-bottom:22px;color:#855724}
.masthead-inner{min-height:102px}
.logo img{width:196px}
.nav{gap:32px}
.nav a{font-size:.875rem;font-weight:500}
.nav-contact{border-width:1px;padding:7px 22px}
.nav-contact:hover{background:var(--forest);color:var(--white);text-decoration:none!important}
.button{border-radius:5px;background:var(--forest);color:var(--white);padding:16px 23px;font-size:.875rem;font-weight:600;transition:background .2s,transform .2s}
.button:hover,.contact .button:hover{background:#28564a;transform:translateY(-2px)}
.text-link{font-size:.875rem;font-weight:600;text-decoration-thickness:1px}
.hero{grid-template-columns:1.05fr 1fr;gap:28px 54px;padding:66px max(40px,calc((100vw - 1180px)/2)) 22px}
.hero-inner{width:100%;padding:12px 0}
.hero h1 em{color:#926632}
.hero p{font-size:1.05rem;line-height:1.8;max-width:480px;margin:28px 0 30px}
.hero>img{height:510px;border-radius:180px 180px 7px 7px;object-position:48% center}
.hero-actions{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}
.hero-actions .text-link span{margin-left:8px}
.hero-foot{width:100%;font-size:.72rem;letter-spacing:.025em}
.service-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:30px 0 40px;gap:24px}
.service-promises>div{border-top:1px solid var(--line);padding-top:18px}
.service-promises span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.service-promises p{font-family:Georgia,serif;font-size:1.12rem;margin-top:5px}
.services,.process{padding:88px 0;background:#eaf0e8}
.section-top{gap:70px;margin-bottom:42px}
.section-top h2{margin-bottom:0}
.section-top p{font-size:1rem;line-height:1.85}
.service-list{gap:0 40px}
.service{position:relative;border:0;border-top:1px solid #c1ccbf;border-radius:0;background:transparent;padding:30px 0 28px 49px}
.service .index{position:absolute;left:0;top:32px;font-size:.75rem;font-weight:400;letter-spacing:.05em}
.service h3{font-size:1.6rem}
.service p{font-size:.95rem;line-height:1.8}
.service small{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:#586d5c}
.pricing{padding-top:88px}
.pricing-intro{max-width:680px;line-height:1.85;margin-bottom:34px}
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.price-card{padding:30px 25px;border-radius:8px;box-shadow:0 5px 18px #123c3404}
.price-grid>.price-card{display:flex;flex-direction:column;border-top:3px solid #afbd9f}
.price-grid h3{font-size:1.45rem;min-height:2.25em;margin-bottom:22px}
.price-card strong{font-size:2.8rem;font-weight:400;letter-spacing:-.04em}
.unit{font-size:.77rem;font-weight:500;color:var(--muted);margin:3px 0 23px}
.price-summary{font-size:.875rem;line-height:1.7;margin-bottom:22px}
.price-grid details{margin-top:auto;padding-top:12px}
.price-card summary{font-size:.8rem;font-weight:600}
.price-card details p{font-size:.875rem;line-height:1.8}
.price-note{font-size:.8rem;line-height:1.8}
.individual{padding-top:32px;padding-bottom:64px}
.individual>details>summary{font-size:.875rem;font-weight:500;padding:16px 0}
.planned-section{padding:24px 28px;margin-top:28px;border-left:2px solid #b7bca8;background:#eeeee4;border-radius:0 6px 6px 0}
.planned{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;background:#e2e4d7;color:#516148;margin-bottom:12px}
.planned-section>p{font-size:.875rem;max-width:880px}
.planned-section>details>summary{font-size:.8rem;font-weight:500}
.about{gap:90px;padding:80px 0 96px;border-top:1px solid var(--line)}
.about-copy p{font-size:1rem;line-height:1.85}
.names{font-style:italic;font-size:1.6rem;padding-top:22px;margin-top:24px}
.process{background:var(--forest);color:var(--white)}
.process .kicker,.process .number{color:#e4bb84}
.process-grid{gap:42px;margin-top:42px}
.process-step{border-top:1px solid #698678;padding-top:22px}
.process-step .number{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.process-step h3{font-size:1.5rem;margin-top:24px}
.process-step p{font-size:.9rem;line-height:1.85;color:#d5dfd5}
.contact{background:#eee3d2;padding:92px 0}
.contact-inner{gap:80px}
.contact-inner>div>p{max-width:440px}
.contact-direct{border-top:1px solid #cdbfa7;margin-top:32px;padding-top:25px;font-size:.95rem}
.contact-names{font-weight:600;display:inline-block;margin-bottom:10px}
.contact-direct+p{font-size:.8rem;color:var(--muted)}
.contact-form{border:1px solid #e3dbcd;border-radius:8px;padding:32px;box-shadow:0 15px 45px #4b432008}
.contact-form h3{font-size:1.8rem;margin-bottom:14px}
.form-note{font-size:.78rem;line-height:1.7}
.contact-form label{font-size:.8rem;font-weight:600;margin-top:18px}
.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #bac3b6;border-radius:4px;padding:12px;background:#fdfdf9}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#607968}
.contact-form>.button{width:100%;margin-top:5px}
.form-status{font-size:.85rem}
.form-status:empty{display:none}
footer{padding:36px 0;font-size:.75rem}
.footer-inner{gap:8px 30px}
footer nav{gap:20px}
.profile-intro{padding:80px 0 48px}
.profile-intro p{line-height:1.85}
.profile-panel{border-radius:8px;padding:34px}
.profile-panel p{font-size:.95rem;line-height:1.85}
@media(min-width:681px) and (max-width:1000px){.hero{gap:30px}.hero>img{height:440px}.hero h1{font-size:3.4rem}.price-card{padding:24px 19px}.price-grid h3{font-size:1.3rem}.contact-inner{gap:34px}.about{gap:40px}}
@media(max-width:900px){.masthead-inner{justify-content:space-between;flex-wrap:nowrap;padding:0;gap:15px}.nav{gap:18px}.logo img{width:170px}}
@media(max-width:680px){.shell{width:calc(100% - 40px)}.masthead-inner{flex-direction:column;gap:0;padding:8px 0 12px;min-height:0}.logo img{width:160px}.nav{width:100%;justify-content:space-between;gap:8px}.nav a{font-size:.78rem}.nav-contact{padding:3px 15px;min-height:38px!important}.hero{grid-template-columns:1fr;padding:38px 20px 18px;gap:24px}.hero-inner{padding:0}.hero .kicker{font-size:.65rem;margin-bottom:18px}.hero h1{font-size:clamp(2.55rem,9.4vw,3.85rem)}.hero p{font-size:.97rem;margin:22px 0}.hero-actions{gap:8px 20px}.hero>img{height:320px;max-width:none;border-radius:100px 100px 5px 5px}.hero-foot{font-size:.61rem;gap:6px}.service-promises{gap:12px;padding:8px 0 34px}.service-promises span{font-size:.55rem;letter-spacing:.045em}.service-promises p{font-size:.9rem;line-height:1.4;margin-top:8px}.services,.process,.contact{padding:58px 0}.section-top{gap:16px;margin-bottom:28px}.service{padding:26px 0 26px 36px}.service .index{top:29px}.service h3{font-size:1.5rem}.pricing{padding-top:58px}.price-grid{grid-template-columns:1fr;gap:16px}.price-card{padding:26px}.price-grid h3{min-height:0;margin-bottom:18px;font-size:1.5rem}.price-summary{margin-bottom:16px}.unit{margin-bottom:16px}.individual{padding-bottom:50px}.planned-section{padding:22px}.about{padding:54px 0;gap:20px}.process-grid{gap:28px;margin-top:30px}.process-step h3{margin-top:16px}.contact-inner{gap:34px}.contact-form{padding:24px 20px}.contact-form input,.contact-form select,.contact-form textarea{font-size:1rem}.profile-intro{padding-top:42px}.profile-panel{padding:25px}.footer-inner{gap:12px}footer nav{gap:8px 18px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

.project-stage{background:#e9ede3;border-bottom:1px solid var(--line);padding:12px 0;color:#40594e;font-size:.8rem;line-height:1.6}.legal-date{font-size:.8rem;color:var(--muted);margin-bottom:32px}.legal li{margin-bottom:10px}

.seo-faq{padding-top:72px;padding-bottom:72px;max-width:1000px}.seo-faq h2{font-size:clamp(2rem,4.5vw,3.5rem)}.seo-faq details{border-bottom:1px solid var(--line);padding:20px 0}.seo-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem}.seo-faq details p{margin:16px 0 0;max-width:850px}.seo-faq>p:last-child{margin-top:28px}

/* Requested readability and navigation refinements */
.hero-foot>span:first-child{font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:700;line-height:1.4;color:var(--forest)}
.individual>details>summary{font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.45;padding:24px 0;color:var(--forest)}
.nav-succession{font-weight:700}.nav{flex-wrap:wrap}
.succession-callout{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:20px;margin-bottom:28px;padding:40px;border:1px solid var(--line);border-radius:18px;background:#e9ede3}
.succession-callout h2{font-size:clamp(1.9rem,3vw,2.8rem)}.succession-callout p{max-width:650px}.succession-callout .button{flex-shrink:0;max-width:100%}
.contact-form .service-choices{border:0;padding:0;margin:22px 0;min-width:0}.service-choices legend{font-size:1rem;font-weight:700;margin-bottom:4px}.service-choice-help{font-size:.9rem;color:#52665d;margin-bottom:12px!important}
.contact-form .service-choice{display:flex;align-items:center;gap:12px;min-height:48px;margin:7px 0;padding:10px 12px;border:1px solid #c4cec7;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:400;line-height:1.4}
.contact-form .service-choice:has(input:checked){background:#e9f0e9;border-color:#123c34}.contact-form .service-choice input{appearance:auto;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:#123c34}.service-choice:focus-within{outline:2px solid #a86420;outline-offset:2px}
@media(max-width:1000px){.masthead-inner{flex-wrap:wrap;justify-content:center}.nav{justify-content:center}.succession-callout{flex-direction:column;align-items:flex-start}}
@media(max-width:680px){.nav{gap:4px 16px;justify-content:center}.nav a{font-size:.9rem}.hero-foot{flex-wrap:wrap;row-gap:10px}.hero-foot>span:first-child{width:100%;font-size:1.1rem}.succession-callout{padding:26px 22px;gap:20px}.succession-callout .button{width:100%;white-space:normal}}
/* Open, readable service presentation */
.masthead{background:#fffefa;border-bottom:1px solid #dfe3da}.masthead-inner{min-height:100px}.nav a{font-size:.9375rem}.project-stage{font-size:.875rem}.kicker{font-size:.8125rem}.hero{padding-top:54px;padding-bottom:30px}.hero>img{border-radius:110px 110px 12px 12px}.hero-foot{padding-top:12px}.hero-foot>span:last-child{font-size:.8125rem}.service-promises span{font-size:.75rem}
.services{background:#eef2ec}.service-list{gap:20px}.service{padding:30px;border:1px solid #d5dfd1;border-radius:12px;background:#fffefa}.service .index{position:static;font-size:.875rem;color:#8b632f;margin-bottom:18px}.service p{font-size:1rem;line-height:1.75}.service small{font-size:.75rem}.service h3{font-size:1.7rem}
.pricing{padding-top:84px}.price-grid{gap:22px;align-items:stretch}.price-grid>.price-card{padding:0;overflow:hidden;border:1px solid #d5ddd0;border-radius:12px;background:#fffefa;box-shadow:none;display:block}.price-card-header{padding:30px 26px 24px;background:#e9eee4;border-bottom:1px solid #d5ddd0}.price-grid>.price-card:nth-child(2) .price-card-header{background:#eee7d9}.price-grid>.price-card:nth-child(3) .price-card-header{background:#e3ece7}.price-grid h3{min-height:2.3em;font-size:1.6rem;margin-bottom:22px}.price-card strong{font-size:3rem;color:#123c34}.price-card .unit{font-size:.9rem;margin-bottom:18px}.price-summary{font-size:1rem;line-height:1.6;min-height:4.8em;margin-bottom:0}
.visible-details{display:block}.price-grid .visible-details{padding:25px 26px}.detail-heading{font:700 .875rem/1.5 Arial,Helvetica,sans-serif;color:#314e41;margin:0 0 12px}.price-grid .visible-details p{font-size:.9375rem;line-height:1.75;color:#53665d}.price-note{font-size:.875rem;line-height:1.8}
.individual{padding-top:72px;padding-bottom:70px}.individual>.visible-details{border:0;padding:0}.individual>.visible-details>h2{font:400 clamp(2rem,3.6vw,3.2rem)/1.15 Georgia,serif;letter-spacing:-.035em;margin:0 0 18px;color:#123c34}.individual-intro{max-width:700px;color:#53665d;font-size:1.05rem}.individual-grid{gap:24px;padding-top:28px}.individual-grid .price-card{padding:28px;border:0;border-top:2px solid #b59a6c;border-radius:0;background:transparent;box-shadow:none}.individual-grid h3{font-size:1.65rem}.individual-grid p{font-size:1rem;line-height:1.75}.individual-grid .individual-detail{font-size:.9375rem}
.planned-section{margin-top:38px;padding:30px;border:1px solid #d5dacc;border-radius:10px;background:#edf0e8}.planned{font-size:.75rem;padding:5px 10px}.planned-section>p{font-size:1rem}.planned-section>.visible-details{margin-top:22px}.planned-section .price-card{padding:24px;border:0;box-shadow:none;max-width:600px;background:#fffefa}.planned-section .price-card .visible-details{border-top:1px solid #d5ddd0;padding-top:16px;margin-top:20px}.planned-section .price-card p{font-size:.9375rem}
.succession-callout{margin-top:50px;margin-bottom:72px;padding:48px;background:#123c34;border:0;border-radius:14px;color:#fffefa}.succession-callout .kicker{color:#e4bb84}.succession-callout p{color:#dce6dc;line-height:1.8}.succession-callout .button{background:#e4bb84;color:#123c34}.succession-callout .button:hover{background:#edca9b}.contact-form label,.form-note{font-size:.9rem}.form-status{font-size:.9375rem}.contact-form{border-radius:12px}.contact-direct+p{font-size:.875rem}footer{font-size:.875rem}
@media(max-width:1000px){.price-grid{grid-template-columns:1fr}.price-grid>.price-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.price-card-header{border-bottom:0;border-right:1px solid #d5ddd0}.price-grid h3,.price-summary{min-height:0}.individual-grid{grid-template-columns:1fr}.individual-grid .price-card{padding:24px 0}.succession-callout{padding:36px}}
@media(max-width:680px){.hero{padding-top:32px}.hero>img{border-radius:70px 70px 10px 10px}.hero .kicker{font-size:.75rem}.service{padding:24px}.service .index{position:static;margin-bottom:12px}.service-promises{gap:15px}.service-promises span{font-size:.7rem}.price-grid>.price-card{display:block}.price-card-header{border-right:0;border-bottom:1px solid #d5ddd0;padding:26px 24px}.price-grid .visible-details{padding:24px}.individual{padding-top:54px}.planned-section{padding:24px}.planned-section .price-card{padding:22px}.succession-callout{padding:30px 24px;margin:34px auto 50px}.succession-callout .button{font-size:.9375rem}.nav a{font-size:.875rem}.masthead-inner{min-height:0}.contact-form{padding:26px 22px}}

/* Compact, independently expandable price details. */
.price-grid{align-items:start}
.price-grid>.price-card{display:block}
.price-card-header{border-right:0;border-bottom:1px solid #d5ddd0}
.price-grid .price-details{margin:0;padding:0;border:0}
.price-grid .price-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:20px 26px;cursor:pointer;list-style:none;font:600 .9375rem/1.5 Arial,Helvetica,sans-serif;color:#314e41}
.price-details>summary::-webkit-details-marker{display:none}
.price-details>summary::marker{content:""}
.price-grid .price-details>summary::after{content:"+";flex:none;font-size:1.5rem;font-weight:400;line-height:1}
.price-grid .price-details[open]>summary::after{content:"−"}
.price-grid .price-details>summary:hover{background:#edf0e8}
.price-grid .price-details>summary:focus-visible{outline:2px solid #123c34;outline-offset:-5px;border-radius:8px}
.price-grid .price-details p{margin:0;padding:0 26px 20px;font-size:.9375rem;line-height:1.75;color:#53665d}

.planned-section>.booking-details{margin-top:22px;border-top:1px solid #d5ddd0;padding:0}
.booking-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:18px 0;cursor:pointer;list-style:none;font:600 .9375rem/1.5 Arial,Helvetica,sans-serif;color:#314e41}
.booking-details>summary::-webkit-details-marker{display:none}
.booking-details>summary::marker{content:""}
.booking-details>summary::after{content:"+";flex:none;font-size:1.5rem;font-weight:400;line-height:1}
.booking-details[open]>summary::after{content:"−"}
.booking-details>summary:hover{color:#123c34}
.booking-details>summary:focus-visible{outline:2px solid #123c34;outline-offset:4px;border-radius:4px}

.contact-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}

.succession-inquiry{margin-top:48px;scroll-margin-top:24px}.succession-inquiry .contact-form h2{margin-top:12px}.succession-inquiry .contact-form{max-width:100%;min-width:0}.succession-inquiry .form-note{line-height:1.65}

.price-grid .price-inquiry{display:inline-flex;align-items:center;min-height:44px;margin:8px 28px 22px}.price-grid>.price-card:has(.price-inquiry){display:flex;flex-direction:column}.price-grid .price-inquiry{margin-top:auto;padding-top:12px}.contact-form #service-selection:empty{display:none}

/* Consistent reading sizes, spacing and a dedicated succession page. */
.kicker,.hero .kicker{font-size:.875rem;letter-spacing:.1em;line-height:1.5}
.service-promises span,.service small,.planned,.process-step .number{font-size:.875rem;letter-spacing:.045em}
.service-promises p{line-height:1.5}.hero-foot>span:last-child{font-size:.875rem}
.button,.text-link{font-size:1rem}.nav a{font-size:.9375rem}.nav-contact{min-height:44px!important}
.process-step p,.profile-panel p,.about-copy p{font-size:1rem;line-height:1.75}
.contact-form label,.form-note,.service-choice-help,.price-note{font-size:.9375rem}
.profile-panel h2{font-size:clamp(1.8rem,2.5vw,2.25rem);line-height:1.2}.profile-panel h3{line-height:1.25}
.profile-panel p,.legal>p{max-width:70ch}.profile-grid{align-items:start}
.profile-contact .contact-inner{align-items:center}.profile-contact .button{justify-self:start}
.individual-intro{font-size:clamp(1.125rem,1.8vw,1.35rem);line-height:1.65}
.contact-form input,.contact-form textarea{min-width:0}.contact-form p,.contact-direct a,footer span{overflow-wrap:anywhere}
.succession-page{padding-top:48px;padding-bottom:80px}
.succession-intro{padding:clamp(28px,5vw,64px);border-radius:16px;background:var(--forest);color:var(--white)}
.succession-intro .kicker{color:#e4bb84}.succession-intro h1{max-width:850px;font-size:clamp(2.5rem,5vw,4.5rem)}
.succession-intro p{max-width:65ch;font-size:1.125rem;line-height:1.75;color:#e1e9df;margin:24px 0 28px}
.succession-intro .button{background:#e4bb84;color:#123c34;max-width:100%}.succession-intro .button:hover{background:#edca9b}
.succession-signature{display:block;font-size:.9375rem;margin-top:22px;color:#e1e9df}
.succession-context{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:56px 0;border-bottom:1px solid var(--line)}
.succession-context>section{min-width:0}.succession-context h2{font-size:clamp(1.9rem,3vw,2.6rem)}
.succession-context p{line-height:1.75;max-width:58ch}.succession-context .succession-scope{font-size:.9375rem;color:var(--muted)}
.succession-page .succession-inquiry{max-width:760px;margin:56px auto 0}.succession-inquiry .contact-form h2{font-size:clamp(1.9rem,3vw,2.6rem)}
@media(max-width:680px){
 .service-promises{grid-template-columns:1fr;gap:16px;padding-bottom:40px}.service-promises>div{padding-top:12px}.service-promises p{font-size:1.125rem;margin-top:4px}
 .nav{gap:4px 14px}.hero p{font-size:1rem}.hero-actions .button{width:100%}
 .profile-grid{gap:20px}.profile-panel{padding:26px 22px}.profile-contact .button{width:100%}
 .succession-page{padding-top:28px;padding-bottom:56px}.succession-intro{padding:30px 24px;border-radius:12px}.succession-intro p{font-size:1rem}.succession-intro .button{width:100%}
 .succession-context{grid-template-columns:1fr;gap:32px;padding:36px 0}.succession-page .succession-inquiry{margin-top:36px}
}

/* SEO pages reuse the established brand and remain readable without disclosure controls. */
.seo-section{padding-top:48px;padding-bottom:48px;border-top:1px solid var(--line)}.seo-section>p,.seo-section>ul,.seo-section>ol{max-width:850px}.seo-section h2{max-width:980px}.seo-section li{margin-bottom:12px}.section-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:12px;padding-bottom:24px}.section-links a{display:inline-flex;align-items:center;min-height:44px}.faq-item{padding:26px 0;border-bottom:1px solid var(--line)}.faq-item h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em}.faq-item p{max-width:850px;line-height:1.8}.seo-section p,.seo-faq p{font-size:1rem}.profile-intro h1{overflow-wrap:anywhere}.seo-section .price-note{font-size:1rem}.seo-section .kicker,.seo-faq .kicker{font-size:.8125rem}@media(max-width:680px){.seo-section{padding-top:34px;padding-bottom:34px}.seo-faq{padding-top:42px;padding-bottom:42px}.profile-intro h1{font-size:clamp(2.25rem,8.8vw,3.5rem)}}
