/* Inner pages + shared additions */
.page-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:58px;padding-bottom:72px}
.page-hero-simple{grid-template-columns:1fr;max-width:760px}
.page-hero-copy .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.page-hero h1{font-size:clamp(48px,5.6vw,78px);line-height:.98}
.page-lead{color:var(--muted);font-size:13px;line-height:1.9;max-width:460px;margin-top:18px}
.page-hero .hero-actions{margin-top:28px}
.page-hero-visual{position:relative}
.page-hero-visual img{height:min(520px,70vh);object-fit:cover;filter:saturate(.78);border-radius:3px 90px 3px 3px}
.page-hero-visual:before{content:'';position:absolute;inset:16px -14px -10px 16px;border:1px solid #c6baa1;border-radius:3px 90px 3px 3px;z-index:-1}

.approach-like{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split-media img{height:460px;object-fit:cover;filter:saturate(.72)}
.split-copy .eyebrow{margin-bottom:18px}
.split-copy h2{font-size:clamp(36px,3.8vw,56px)}
.split-copy .standfirst{font-family:var(--serif);font-size:24px;line-height:1.3;margin-top:22px}
.split-copy>p{color:var(--muted);font-size:12px;margin-top:16px;max-width:460px}
.check-list{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line);padding-top:20px}
.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--muted);margin-top:12px}
.check-list .icon{width:15px;height:15px;color:var(--gold);margin-top:2px}

.service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-tile{display:flex;flex-direction:column;background:var(--paper);padding:0 0 28px;text-align:left;transition:transform .35s,box-shadow .35s;border:0}
.service-tile:hover{transform:translateY(-4px);box-shadow:0 12px 30px #28312e14}
.service-tile-image{display:block;height:210px;overflow:hidden;margin-bottom:22px}
.service-tile-image img{height:100%;object-fit:cover;filter:saturate(.7);transition:transform .6s}
.service-tile:hover .service-tile-image img{transform:scale(1.04)}
.service-tile .eyebrow,.service-tile h3,.service-tile p,.service-tile .card-link{padding-inline:26px}
.service-tile h3{font-size:30px;margin-top:10px}
.service-tile p{font-size:11px;color:var(--muted);margin-top:12px;flex:1}
.service-tile .card-link{margin-top:20px}

.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step{padding-top:8px;border-top:1px solid var(--line)}
.step>span{font-family:var(--serif);font-size:34px;color:var(--gold)}
.step h3{font-size:26px;margin-top:14px}
.step p{font-size:11px;color:var(--muted);margin-top:12px}
.inline-cta{margin-top:40px}

.alt-band{background:#eeece4}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.feature-grid.three{grid-template-columns:repeat(3,1fr)}
.feature-card{background:var(--paper);padding:28px 26px}
.feature-card h3{font-size:26px}
.feature-card p{font-size:11px;color:var(--muted);margin-top:12px}

.page-faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.review-card{margin:0;background:var(--paper);padding:32px 28px;border-top:2px solid #c1aa80}
.review-card p{font-family:var(--serif);font-size:22px;line-height:1.35;letter-spacing:-.01em}
.review-card footer{display:flex;flex-direction:column;gap:4px;margin-top:22px}
.review-card strong{font-size:11px}
.review-card span{font-size:8px;letter-spacing:.14em;color:var(--muted)}

.home-reviews{background:#eeece4}
.home-reviews .section-heading{margin-bottom:8px}

.fees-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
.fees-aside{background:var(--paper);padding:36px 32px;border-top:2px solid #c1aa80}
.fees-aside h2,.fees-layout h2{font-size:clamp(36px,3.6vw,52px);margin-top:14px}
.fees-aside>p,.fees-layout>div>p{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.9}
.fees-aside .button{margin-top:24px}
.fees-contact{flex-direction:column;gap:8px;margin-top:22px;align-items:flex-start}

.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{display:flex;flex-direction:column;gap:8px}
.stat strong{font-family:var(--serif);font-size:42px;font-weight:500;line-height:1}
.stat span{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}

.pull-quote{font-family:var(--serif);font-size:28px;line-height:1.2;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--line);color:var(--ink)}

.lifecycle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lifecycle-card{background:var(--paper);padding:28px 24px;text-align:left;transition:transform .3s,box-shadow .3s}
.lifecycle-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #28312e12}
.lifecycle-card h3{font-size:26px;margin-top:10px}
.lifecycle-card p{font-size:11px;color:var(--muted);margin-top:12px}

.media-more{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.media-link-card{display:block;padding:26px 24px;border:1px solid #5e7061;background:#30463c;color:var(--ivory);transition:background .25s}
.media-link-card:hover{background:#344b3e}
.media-link-card .eyebrow{color:#d1bd93}
.media-link-card h3{font-size:24px;margin-top:12px}
.media-link-card .text-link{margin-top:18px;font-size:10px;border-color:#77877b}
.podcast-extra{margin-top:18px;font-size:10px;border-color:#baad8f}

.contact-page{display:grid;grid-template-columns:1.35fr .75fr;gap:40px;align-items:start;padding-top:20px}
.contact-form-panel{background:var(--paper);padding:42px 40px;border:1px solid var(--line)}
.contact-form-panel h2{font-size:clamp(36px,3.8vw,52px);margin-top:14px}
.inquiry-form{margin-top:28px;display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inquiry-form label{display:grid;gap:7px;font-size:10px;font-weight:600;letter-spacing:.06em}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;border:1px solid var(--line);background:var(--ivory);padding:13px 14px;font:inherit;font-size:13px;font-weight:400;letter-spacing:0;color:var(--ink)}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
.inquiry-form .button{justify-self:start;margin-top:6px}
.form-note,.form-success{font-size:11px;color:var(--muted);margin:0}
.form-success{color:#3d5a45}
.contact-aside{display:grid;gap:18px}
.aside-block{background:#eeece4;padding:28px 24px}
.aside-block .eyebrow{display:block;margin-bottom:12px;color:var(--muted)}
.aside-link{display:block;font-family:var(--serif);font-size:26px;line-height:1.2;margin-top:6px}
.aside-block p{font-size:11px;color:var(--muted);margin-top:12px}

.ceremony-side .side-photo.interfaith-photo{background-image:url('assets/source-3.jpg');background-size:cover;background-position:center 30%}
.approach-photo.swapped img{object-position:center 40%;filter:saturate(.72)}
.contact .contact-background{background-image:url('assets/wedding-outdoor-1.jpg');background-position:center 45%}
.site-header nav>a.active:after{width:100%}

.dropdown-panel a.active{background:#eeebe3;color:var(--wine)}

@media(max-width:1150px){
 .page-hero{gap:36px}
 .page-hero-visual img{height:440px}
 .approach-like{gap:48px}
 .service-tiles,.steps-grid,.feature-grid.three,.stats-band,.lifecycle-grid,.media-more,.reviews-grid{grid-template-columns:1fr 1fr}
 .feature-grid.three .feature-card:last-child{grid-column:span 2}
}

@media(max-width:900px){
 .page-hero,.approach-like,.page-faq,.fees-layout,.contact-page{grid-template-columns:1fr;gap:36px}
 .page-hero-visual img{height:auto;aspect-ratio:.85;max-height:480px;width:100%}
 .service-tiles,.steps-grid{grid-template-columns:1fr}
 .stats-band{grid-template-columns:1fr 1fr}
 .feature-grid.three .feature-card:last-child{grid-column:auto}
}

@media(max-width:640px){
 .page-hero{padding-top:40px;padding-bottom:50px}
 .page-hero-visual:before{display:none}
 .page-hero-visual img{border-radius:3px}
 .reviews-grid,.feature-grid,.lifecycle-grid,.media-more,.form-row,.stats-band{grid-template-columns:1fr}
 .contact-form-panel{padding:28px 22px}
 .review-card p{font-size:20px}
 .aside-link{font-size:22px}
}
