
@import url('https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&display=swap');
:root{--sage-dark:#28493f;--paper:#faf8f3;--ink:#21372f;--line:#d8ded4}
body{background:#faf8f3;color:#21372f}
h1,h2,h3,.brand,.service-card-heading{font-family:"PT Serif",Cambria,serif;letter-spacing:0}
.eyebrow{text-transform:none;color:#426458;letter-spacing:0;font-weight:700}
.site-header .header-call{white-space:nowrap;padding:0 10px}
.site-header .header-call span{display:inline;font-size:13px}
.site-header .header-call svg{display:none}
.site-header .header-inner{gap:12px}
.site-menu{gap:12px}
.hero{position:relative;isolation:isolate;background:#dce7db;min-height:535px;overflow:hidden;padding:44px 0}
.hero-grid{display:block;margin:0 auto}
.hero-copy{position:relative;z-index:1;width:52%;max-width:560px}
.hero-copy h1{display:block;font-size:54px;line-height:1.07;margin:0 0 18px}
.hero-copy .lead{max-width:420px}
.hero-actions{gap:12px;align-items:center}
.preview-price{font-size:18px;font-weight:700;color:#28493f}
.hero-copy .eyebrow{font-size:17px}
.hero-portrait{position:absolute;inset:auto max(14px,calc((100% - 1160px)/2)) 28px auto;width:clamp(390px,44%,555px);height:min(calc(100% - 56px),550px);min-height:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.hero-portrait{display:flex;align-items:flex-end;justify-content:center}
.hero-portrait img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-height:0;object-fit:contain;object-position:center bottom}
.hero-portrait::after,.hero-portrait figcaption{display:none}
.hero-divider{display:none}
.button:not(.secondary){background:#28493f;color:#fff}
.reveal{opacity:1!important;transform:none!important}
.section{padding-block:52px}
.gallery-section{background:#e5ece2}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gallery-grid .photo-card:first-child{grid-column:span 2;grid-row:span 2;height:100%}
.gallery-grid .photo-card img{width:100%;height:100%;object-fit:cover}
.certificate-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.featured-certificates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:930px;margin:0 auto 18px}
.featured-certificates .preview-certificate-card{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;align-content:start}
.featured-certificates .certificate-visual{width:100%;aspect-ratio:1.55;display:block}
.certificate-preview-grid .preview-certificate-card .certificate-visual{max-height:180px;aspect-ratio:1.65}
.certificate-preview-grid .preview-certificate-card .certificate-visual img{width:100%;height:100%;object-fit:contain}
.featured-certificates .certificate-visual img{width:100%;height:100%;object-fit:contain;transform:none}
.featured-certificates .certificate-caption{overflow-wrap:anywhere}
.reviews-grid .review-card,.faq-list details,.steps article,.map-card{background:none;border:0;border-radius:0;box-shadow:none}
.reviews-grid .review-card{border-left:2px solid #80998a;padding-left:18px}
.faq-list details,.steps article{border-top:1px solid var(--line)}
.map-card{padding:0}
.map-image{filter:grayscale(1) sepia(.22) hue-rotate(82deg) saturate(.65) contrast(1.12);border-radius:8px}
.preview-messengers{display:flex;justify-content:center;gap:8px;margin:14px 0}
.preview-messengers button{display:inline-flex;align-items:center;gap:7px;border:1px solid currentColor;background:transparent;color:inherit;padding:8px 12px;border-radius:8px;font:inherit;opacity:.72}
.preview-messengers svg{width:17px;height:17px}
.services-grid .service-card-toggle .service-card-image,.services-grid .service-card-toggle:hover .service-card-image{transform:none;transition:none}
.services-grid .service-card-toggle .service-card-shade{background:linear-gradient(to bottom,transparent 60%,#14241dcd 100%);opacity:1}
.services-grid .service-card-toggle .service-card-shade::after{content:"";position:absolute;inset:0;background:#14241dd1;opacity:0;transition:opacity 520ms ease}
.services-grid .service-card-toggle:is(:focus-visible,[aria-expanded="true"]) .service-card-shade::after{opacity:1}
@media (hover:hover) and (pointer:fine){.services-grid .service-card-toggle:hover .service-card-shade::after{opacity:1}}
.service-card .service-card-description{transition:opacity 460ms ease;transform:none}
.service-card .service-card-content{transition:opacity 380ms ease}
.gallery-grid button.photo-card{position:relative;overflow:hidden;border-radius:8px}
.gallery-grid button.photo-card img,.gallery-grid button.photo-card:hover img{transform:none}
.gallery-grid button.photo-card::after{content:"";position:absolute;inset:0;background:#e5ece2;opacity:.25;pointer-events:none;transition:opacity 750ms ease}
.gallery-grid button.photo-card:is(:hover,:focus-visible)::after{opacity:0}
.photo-dialog[open],.certificate-dialog[open]{animation:preview-dialog-in 680ms cubic-bezier(.4,0,.2,1) both}
.photo-dialog[open]::backdrop,.certificate-dialog[open]::backdrop{animation:preview-dialog-in 600ms ease both}
@keyframes preview-dialog-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .photo-dialog[open],.certificate-dialog[open],.photo-dialog[open]::backdrop,.certificate-dialog[open]::backdrop{animation:none}
  .service-card .service-card-image,.service-card .service-card-description,.service-card .service-card-content,.services-grid .service-card-toggle .service-card-shade::after,.gallery-grid button.photo-card::after{transition:none}
}
@media(max-width:1050px){.site-menu{gap:10px}.hero-copy h1{font-size:47px}}
@media (max-width:900px){
  .hero{min-height:0;padding:0 0 26px;display:block}
  .hero-grid{display:flex;flex-direction:column;gap:16px}
  .hero-portrait{position:relative;inset:auto;width:100%;height:clamp(320px,52vw,440px);min-height:0;order:-1}
  .hero-copy{width:100%;max-width:none}
  .hero-copy h1{font-size:34px;line-height:1.1}
}
@media(max-width:720px){
  .site-header .header-call{width:auto;min-width:0;min-height:34px;top:9px}
  .site-header .site-menu{width:100%;max-width:100%}
  .site-header.is-compact .header-call{width:42px;top:6px}
  .site-header.is-compact .header-call span{display:none}
  .site-header.is-compact .header-call svg{display:block}
  .site-header.is-compact .site-menu{width:calc(100% - 52px);max-width:calc(100% - 52px)}
  .hero{min-height:0;padding:0 0 26px;display:block}
  .hero-grid{display:flex;flex-direction:column;gap:16px}
  .hero-portrait{position:relative;width:100%;height:clamp(320px,52vw,420px);min-height:0;order:-1}
  .hero-portrait img{object-fit:contain;object-position:center bottom}
  .hero-copy{width:100%;max-width:none}
  .hero-copy h1{font-size:34px;line-height:1.1}
  .hero-copy .lead{font-size:15px}
  .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap}
  .hero-actions .button{width:auto;min-width:0}
  .section{padding-block:30px}
  .gallery-grid,.certificate-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-grid .photo-card:first-child{grid-row:auto;aspect-ratio:2 / 1}
}
