:root { --clean-sage:#20342F; --clean-soft-sage:#6F877D; --clean-blue:#DCE8EC; --clean-ivory:#F7F4EE; --clean-champagne:#D3AF78; --clean-charcoal:#3F4744; --clean-white:#fff; --clean-line:rgba(32,52,47,.14); --clean-shadow:0 24px 70px rgba(32,52,47,.10); }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--clean-ivory); color:var(--clean-charcoal); -webkit-font-smoothing:antialiased; }
* { box-sizing:border-box; }
*:focus-visible { outline:3px solid var(--clean-champagne); outline-offset:3px; }
.wp-site-blocks { overflow:clip; }
.clean-shell { width:min(1240px,calc(100% - 3rem)); margin-inline:auto; }
.clean-kicker { margin:0 0 1rem; color:var(--clean-soft-sage); font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.clean-topbar { padding:.65rem 0; color:#fff; background:var(--clean-sage); font-size:.78rem; }
.clean-topbar .clean-shell { display:flex; justify-content:space-between; gap:1rem; }
.clean-topbar a { color:#fff; text-decoration:none; }
.clean-site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--clean-line); background:rgba(247,244,238,.96); backdrop-filter:blur(16px); }
.clean-header-inner { min-height:86px; display:flex; align-items:center; gap:2rem; }
.clean-wordmark { color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:1.18rem; text-decoration:none; white-space:nowrap; }
.clean-wordmark span { display:block; margin-bottom:-.2rem; font-family:'Avenir Next',Avenir,Arial,sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.24em; text-transform:uppercase; }
.clean-site-header nav { display:flex; justify-content:center; align-items:center; flex:1; gap:1.7rem; }
.clean-site-header nav a { color:var(--clean-charcoal); font-size:.86rem; font-weight:650; text-decoration:none; }
.clean-button { display:inline-block; border:0; border-radius:999px; padding:.95rem 1.65rem; font-size:.78rem; font-weight:800; letter-spacing:.07em; line-height:1; text-decoration:none; text-transform:uppercase; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.clean-button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(32,52,47,.16); }
.clean-button-primary { color:#fff; background:var(--clean-sage); }
.clean-button-secondary { color:var(--clean-sage); border:1px solid var(--clean-sage); background:transparent; }
.clean-button-light { color:var(--clean-sage); background:#fff; }
.clean-text-link { color:var(--clean-sage); font-size:.88rem; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.06em; }
.clean-text-link span { display:inline-block; margin-left:.35rem; transition:transform .2s ease; }
.clean-text-link:hover span { transform:translateX(4px); }
.clean-hero { min-height:720px; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); background:var(--clean-ivory); }
.clean-hero-copy { align-self:center; max-width:680px; padding:clamp(4rem,8vw,8rem) clamp(2rem,6vw,7rem); }
.clean-hero h1 { margin:0; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.4rem,5.3vw,6.2rem); font-weight:400; letter-spacing:-.045em; line-height:.98; }
.clean-lead { max-width:610px; margin:1.8rem 0 0; font-size:clamp(1.08rem,1.5vw,1.28rem); line-height:1.75; }
.clean-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; margin-top:2.25rem; }
.clean-offer { margin-top:1.8rem; color:var(--clean-soft-sage); font-size:.92rem; }
.clean-hero-image { position:relative; min-height:720px; overflow:hidden; }
.clean-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.clean-image-note { position:absolute; right:2rem; bottom:2rem; display:flex; flex-direction:column; min-width:260px; padding:1.3rem 1.5rem; border-radius:16px; color:var(--clean-sage); background:rgba(255,255,255,.92); box-shadow:var(--clean-shadow); backdrop-filter:blur(12px); }
.clean-image-note span,.clean-image-note small { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.clean-image-note strong { margin:.25rem 0; font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; font-weight:400; }
.clean-trust-strip { color:var(--clean-sage); background:var(--clean-blue); }
.clean-trust-strip .clean-shell { display:grid; grid-template-columns:repeat(4,1fr); }
.clean-trust-strip span { padding:1.25rem 1rem; text-align:center; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.clean-trust-strip span+span { border-left:1px solid rgba(32,52,47,.14); }
.clean-section { padding:clamp(5rem,9vw,9rem) 0; }
.clean-section-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:end; margin-bottom:4rem; }
.clean-section-heading h2,.clean-process-heading h2,.clean-faq h2,.clean-booking h2,.clean-audience h2 { margin:0; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.6rem,4.4vw,4.6rem); font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.clean-section-heading>p { max-width:560px; margin:0; line-height:1.75; }
.clean-services { background:#fff; }
.clean-service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--clean-line); border-left:1px solid var(--clean-line); }
.clean-service-grid article { min-height:285px; padding:2.2rem; border-right:1px solid var(--clean-line); border-bottom:1px solid var(--clean-line); transition:background .2s ease,transform .2s ease; }
.clean-service-grid article:hover { position:relative; z-index:2; background:var(--clean-ivory); transform:translateY(-4px); box-shadow:var(--clean-shadow); }
.clean-service-no { color:var(--clean-champagne); font-family:Georgia,'Times New Roman',serif; font-size:1.6rem; }
.clean-service-grid h3 { margin:2.2rem 0 .75rem; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:1.65rem; font-weight:400; }
.clean-service-grid p { min-height:3.4rem; line-height:1.65; }
.clean-service-grid strong { color:var(--clean-soft-sage); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.clean-centered { margin-top:3rem; text-align:center; }
.clean-editorial { display:grid; grid-template-columns:1.08fr .92fr; }
.clean-editorial-card { padding:clamp(4rem,8vw,8rem); background:var(--clean-blue); }
.clean-editorial-card h2 { max-width:780px; margin:.4rem 0 1.5rem; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.7rem,4.5vw,4.7rem); font-weight:400; letter-spacing:-.035em; line-height:1.03; }
.clean-editorial-card>p { max-width:720px; font-size:1.08rem; line-height:1.8; }
.clean-editorial-card ul { margin:2rem 0; padding-left:1.2rem; }
.clean-editorial-card li { margin:.8rem 0; }
.clean-editorial-quote { display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,7vw,7rem); color:#fff; background:var(--clean-sage); }
.clean-editorial-quote>span { color:var(--clean-champagne); font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.clean-editorial-quote blockquote { margin:2rem 0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.3rem,3.8vw,4rem); line-height:1.08; }
.clean-editorial-quote p { max-width:520px; color:rgba(255,255,255,.8); }
.clean-process { background:var(--clean-ivory); }
.clean-process-heading { max-width:820px; margin:0 auto 4rem; text-align:center; }
.clean-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.clean-process-grid article { padding:2.5rem; border-radius:24px; background:#fff; box-shadow:0 15px 50px rgba(32,52,47,.07); }
.clean-process-grid span { display:grid; width:3rem; height:3rem; place-items:center; border-radius:50%; color:var(--clean-sage); background:var(--clean-blue); font-family:Georgia,'Times New Roman',serif; font-size:1.2rem; }
.clean-process-grid h3 { margin:2rem 0 .7rem; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:1.6rem; font-weight:400; }
.clean-audience { padding:clamp(5rem,9vw,8rem) 0; text-align:center; color:var(--clean-sage); background:#EDF1EB; }
.clean-audience h2 { max-width:980px; margin:0 auto; }
.clean-audience-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin-top:3rem; }
.clean-audience-grid span { padding:.8rem 1.2rem; border:1px solid rgba(32,52,47,.18); border-radius:999px; background:rgba(255,255,255,.55); font-size:.88rem; }
.clean-faq { background:#fff; }
.clean-faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(3rem,8vw,8rem); }
.clean-faq-layout>div:first-child { position:sticky; top:140px; align-self:start; }
.clean-faq details { padding:1.5rem 0; border-top:1px solid var(--clean-line); }
.clean-faq details:last-child { border-bottom:1px solid var(--clean-line); }
.clean-faq summary { cursor:pointer; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; }
.clean-faq details p { padding-right:2rem; line-height:1.75; }
.clean-booking { color:#fff; background:var(--clean-soft-sage); }
.clean-booking h2 { color:#fff; }
.clean-booking .clean-kicker { color:var(--clean-blue); }
.clean-booking-inner { display:grid; grid-template-columns:1.25fr .75fr; gap:4rem; align-items:center; }
.clean-booking-inner>div:last-child { text-align:right; }
.clean-booking-inner a:not(.clean-button) { color:#fff; }
.clean-site-footer { padding:5rem 0 2rem; color:rgba(255,255,255,.78); background:#172824; }
.clean-footer-top { display:grid; grid-template-columns:1.3fr .7fr .85fr; gap:5rem; }
.clean-wordmark-footer { color:#fff; }
.clean-footer-top h3 { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:1.2rem; font-weight:400; }
.clean-footer-top a:not(.clean-wordmark) { display:block; margin:.65rem 0; color:rgba(255,255,255,.78); text-decoration:none; }
.clean-footer-bottom { display:flex; justify-content:space-between; gap:2rem; margin-top:4rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.13); font-size:.8rem; }
.clean-footer-bottom a { color:rgba(255,255,255,.78); }
.e19-policy h2 { margin-top:2.25rem; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:400; }
.e19-policy p,.e19-policy li { line-height:1.8; }
.clean-services-page { background:var(--clean-ivory); }
.clean-services-hero { padding:clamp(5rem,10vw,9rem) 0; }
.clean-services-hero-inner { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(3rem,8vw,8rem); align-items:end; }
.clean-services-hero h1 { max-width:860px; margin:0; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(3.4rem,6vw,6.4rem); font-weight:400; letter-spacing:-.045em; line-height:.98; }
.clean-services-hero .clean-lead { max-width:760px; }
.clean-price-note { padding:2rem; border-top:3px solid var(--clean-champagne); background:#fff; box-shadow:var(--clean-shadow); }
.clean-price-note strong { display:block; margin-bottom:.65rem; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:1.5rem; font-weight:400; }
.clean-price-note p { margin:0; line-height:1.7; }
.clean-service-catalog { padding:clamp(5rem,9vw,8rem) 0; background:#fff; }
.clean-catalog-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:4rem; }
.clean-catalog-intro h2,.clean-addon-band h2 { margin:0; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.6rem,4.4vw,4.7rem); font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.clean-catalog-intro>p { margin:0; line-height:1.75; }
.clean-service-detail-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--clean-line); border-left:1px solid var(--clean-line); }
.clean-service-detail { padding:clamp(2rem,4vw,3.25rem); border-right:1px solid var(--clean-line); border-bottom:1px solid var(--clean-line); }
.clean-service-detail-head { display:flex; justify-content:space-between; gap:1.5rem; align-items:start; }
.clean-service-detail-no { color:var(--clean-champagne); font-family:Georgia,'Times New Roman',serif; font-size:1.4rem; }
.clean-service-detail-price { color:var(--clean-soft-sage); font-size:.78rem; font-weight:800; letter-spacing:.07em; text-align:right; text-transform:uppercase; }
.clean-service-detail h3 { margin:2rem 0 .7rem; color:var(--clean-sage); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.7rem,2.6vw,2.25rem); font-weight:400; }
.clean-service-detail>p { min-height:3.5rem; line-height:1.7; }
.clean-service-detail ul { margin:1.5rem 0 0; padding-left:1.1rem; columns:2; column-gap:2rem; }
.clean-service-detail li { break-inside:avoid; margin:0 0 .65rem; line-height:1.55; }
.clean-addon-band { padding:clamp(5rem,9vw,8rem) 0; background:var(--clean-blue); }
.clean-addon-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,8rem); }
.clean-addon-list { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.clean-addon-list span { padding:1rem 1.1rem; border:1px solid rgba(32,52,47,.14); border-radius:14px; background:rgba(255,255,255,.62); }
.clean-services-cta { padding:clamp(4rem,7vw,6rem) 0; color:#fff; background:var(--clean-sage); }
.clean-services-cta-inner { display:grid; grid-template-columns:1.2fr .8fr; gap:3rem; align-items:center; }
.clean-services-cta h2 { margin:0; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,4.3vw,4.5rem); font-weight:400; letter-spacing:-.035em; line-height:1.03; }
.clean-services-cta p { color:rgba(255,255,255,.8); line-height:1.7; }
.clean-services-cta-actions { text-align:right; }
.clean-services-cta-actions p { margin-top:1.2rem; }
.clean-services-cta-actions a:not(.clean-button) { color:#fff; }
@media (max-width:980px) {
  .clean-site-header nav { display:none; }
  .clean-header-cta { margin-left:auto; }
  .clean-hero { min-height:auto; grid-template-columns:1fr; }
  .clean-hero-copy { max-width:none; padding:5rem 1.5rem; }
  .clean-hero-image { min-height:560px; }
  .clean-trust-strip .clean-shell { grid-template-columns:1fr 1fr; }
  .clean-trust-strip span:nth-child(3) { border-left:0; border-top:1px solid rgba(32,52,47,.14); }
  .clean-trust-strip span:nth-child(4) { border-top:1px solid rgba(32,52,47,.14); }
  .clean-section-heading,.clean-editorial,.clean-faq-layout,.clean-booking-inner { grid-template-columns:1fr; }
  .clean-service-grid { grid-template-columns:1fr 1fr; }
  .clean-process-grid { grid-template-columns:1fr; }
  .clean-faq-layout>div:first-child { position:static; }
  .clean-booking-inner>div:last-child { text-align:left; }
  .clean-footer-top { grid-template-columns:1fr 1fr; }
  .clean-footer-top>div:first-child { grid-column:1/-1; }
  .clean-services-hero-inner,.clean-catalog-intro,.clean-addon-layout,.clean-services-cta-inner { grid-template-columns:1fr; }
  .clean-services-cta-actions { text-align:left; }
}
@media (max-width:620px) {
  .clean-shell { width:min(100% - 2rem,1240px); }
  .clean-topbar .clean-shell { display:block; text-align:center; }
  .clean-topbar a { display:block; margin-top:.2rem; }
  .clean-header-inner { min-height:76px; }
  .clean-header-cta { padding:.8rem 1rem; }
  .clean-hero h1 { font-size:clamp(2.9rem,14vw,4rem); }
  .clean-hero-image { min-height:430px; }
  .clean-image-note { right:1rem; bottom:1rem; left:1rem; min-width:0; }
  .clean-service-grid { grid-template-columns:1fr; border-left:0; }
  .clean-service-grid article { border-left:1px solid var(--clean-line); }
  .clean-editorial-card,.clean-editorial-quote { padding:4rem 1.25rem; }
  .clean-footer-top { grid-template-columns:1fr; gap:2rem; }
  .clean-footer-top>div:first-child { grid-column:auto; }
  .clean-footer-bottom { flex-direction:column; }
  .clean-service-detail-grid,.clean-addon-list { grid-template-columns:1fr; }
  .clean-service-detail-grid { border-left:0; }
  .clean-service-detail { border-left:1px solid var(--clean-line); }
  .clean-service-detail ul { columns:1; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .clean-button,.clean-text-link span,.clean-service-grid article { transition:none; } }
