.page-hero{background:var(--paper);padding:80px 0 90px;position:relative;border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center;position:relative}
.page-hero h1{color:var(--charcoal)}
.page-hero p:not(.eyebrow):not(.breadcrumbs){max-width:600px;color:var(--muted);font-size:1.04rem}
.page-hero .ph{width:100%;height:460px;border-radius:16px;background:#fff;border:1.5px dashed var(--line);display:grid;place-items:center;color:#8a9490;font:600 .82rem var(--sans)}
.breadcrumbs{margin-bottom:36px;color:var(--muted);font-size:.75rem}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}

.page-section{padding:100px 0}
.page-heading{max-width:760px;margin-bottom:50px}
.page-heading>p:last-child{color:var(--muted)}

.service-block{padding:90px 0;border-top:1px solid var(--line)}
.service-block:nth-child(even){background:var(--paper)}
.service-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.service-block h2{margin-bottom:16px}
.service-block .lead{color:var(--muted);font-size:1.03rem;margin-bottom:24px}
.service-block .ph{width:100%;height:420px;border-radius:16px;background:#fff;border:1.5px dashed var(--line);display:grid;place-items:center;color:#8a9490;font:600 .8rem var(--sans)}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-card{background:var(--paper);border-radius:16px;padding:30px}
.value-card h3{margin:0 0 10px;font-size:1.08rem}
.value-card p{margin:0;color:var(--muted);font-size:.9rem}

.link-grid{display:grid;grid-template-columns:1fr;gap:0}
.link-grid a{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:22px 4px;border-top:1px solid var(--line);transition:.2s}
.link-grid a:last-child{border-bottom:1px solid var(--line)}
.link-grid a:hover{padding-left:14px}
.link-grid a span{color:var(--clay)}

.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.faq details{position:relative;background:#fff;border-radius:16px;padding:6px 26px;margin-bottom:14px}
.faq details[open]{outline:2px solid var(--clay)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:700;font-family:var(--display);font-size:1.05rem;color:var(--charcoal)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--clay);color:#fff;font-size:1rem;font-family:var(--sans);transition:.25s}
.faq details[open] summary::after{content:"\2013";transform:translateY(-50%) rotate(180deg)}
.faq details p{margin:0 0 20px;color:var(--muted)}

.simple-hero{background:var(--paper);padding:85px 0;border-bottom:1px solid var(--line)}
.simple-hero h1{max-width:860px;color:var(--charcoal)}

.prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.prose-grid .ph{width:100%;height:480px;border-radius:16px;background:var(--paper);border:1.5px dashed var(--line);display:grid;place-items:center;color:#8a9490;font:600 .82rem var(--sans)}
.prose-grid p{color:var(--muted);font-size:1.03rem}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.gallery-grid .ph{aspect-ratio:1/1;background:var(--paper);border:0;display:grid;place-items:center;color:#8a9490;font:600 .78rem var(--sans);text-align:center;padding:10px}

.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.contact-layout>div>p{color:var(--muted)}
.contact-card{display:block;border-top:1px solid var(--line);padding:20px 4px}
.contact-card:last-of-type{border-bottom:1px solid var(--line);margin-bottom:24px}
.contact-card small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.contact-card strong{display:block;margin-top:8px;font:500 1.25rem var(--sans)}

.legal-copy .shell{max-width:800px}
.legal-copy h2{margin-top:50px;font-size:1.7rem}
.legal-copy h2:first-child{margin-top:0}
.legal-copy p{color:var(--muted)}

@media(max-width:900px){
.page-hero-grid,.service-block-grid,.prose-grid,.faq-grid,.contact-layout{grid-template-columns:1fr}
.page-hero .ph,.service-block .ph{height:320px}
.value-grid{grid-template-columns:1fr 1fr}
.gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
.page-hero,.simple-hero{padding:56px 0}
.value-grid{grid-template-columns:1fr}
.gallery-grid{grid-template-columns:1fr}
}
