/*
Theme Name: Budafog Redesign
Theme URI: https://budafog.hu/
Author: Budafog
Description: Refreshed responsive Budafog dental clinic homepage.
Version: 1.5.9
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: budafog-redesign
*/

:root { --ink: #163b35; --green: #1e5147; --mint: #dceee3; --paper: #f8f8f2; --lime: #d8f078; --muted: #60736c; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
@media (hover:hover) and (pointer:fine) {
  /* Cursor asset is 32×32 PNG. Keep custom cursor files under 32×32 px for broad browser support (some browsers permit up to 64×64 px). */
  .nav a:hover,
  .nav a:focus-visible,
  .menu-item > a:hover,
  .menu-item > a:focus-visible,
  .brand:hover img,
  .brand img:hover,
  .smiling-tooth-wrap:hover,
  .smiling-tooth-wrap:hover img,
  .smiling-tooth:hover {
    cursor: url("assets/images/toothbrush-menu-cursor.png") 1 2, pointer;
  }
}
.topline { height: 34px; display:flex; align-items:center; justify-content:space-between; padding:0 7.2%; background:var(--ink); color:#d5e5dc; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.topline a { display:flex; align-items:center; gap:9px; color:#fff; }
.site-header { height:142px; padding:0 7.2%; display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--paper); position:relative; z-index:10; }
.building-banner { display:block;height:auto;line-height:0;background:#e4f1ec;overflow:hidden; }
.building-banner img { display:block;width:100%;height:auto;max-height:142px;object-fit:cover;object-position:center; }
.site-header { gap:20px; }
.brand { display:flex;align-items:center;flex:0 0 260px;min-width:0; }
.brand img { display:block;width:100%;height:auto;max-height:132px;object-fit:contain;object-position:left center; }
.smile-break { min-height:250px;padding-bottom:28px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#f2f5ed; }
.smiling-tooth-wrap { position:relative;width:168px;height:168px;flex:0 0 168px;animation:tooth-float 4.2s ease-in-out infinite; }
.smiling-tooth { display:block;width:100%;height:100%;object-fit:contain; }
.tooth-wink,.tooth-eye-wink { display:none; }
.smile-break p { margin:12px 0 0;color:#6e8173;font:italic 14px Georgia,serif; }
.smile-decoration { position:absolute;top:50%;display:flex;align-items:center;gap:35px;color:#91a85c; }
.smile-decoration-left { left:calc(50% - 210px);animation:side-drift 3.6s ease-in-out infinite; }
.smile-decoration-right { right:calc(50% - 210px);animation:side-drift 4.3s ease-in-out -1s infinite reverse; }
.sparkle { font-size:34px; }.mini-star { font-size:18px;color:#91cfe0; }
@keyframes tooth-float { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-10px) rotate(3deg); } }
@keyframes side-drift { 0%,100% { transform:translate(0, -50%); } 50% { transform:translate(7px, calc(-50% - 9px)); } }
@keyframes tooth-wink { 0%,78%,82%,100% { transform:scaleY(0);opacity:0; } 79%,81% { transform:scaleY(1);opacity:1; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } }
.nav { display:flex;align-items:center;gap:4px;padding:6px;border:1px solid #d4e2d8;border-radius:999px;background:#e7f0e9;box-shadow:0 4px 14px #173c3210; }
.nav a { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 clamp(10px,1.15vw,16px);border:1px solid transparent;border-radius:999px;color:#254b40;font-size:13px;font-weight:650;letter-spacing:-.015em;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s,transform .2s; }
.nav-icon { display:block;flex:0 0 15px;width:15px;height:15px;fill:none;stroke:#668568;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s,transform .2s; }
.nav a:hover .nav-icon,.nav a.is-current .nav-icon { stroke:#355c43; }
.nav a:hover { background:#fff;color:#173b32;box-shadow:0 3px 10px #173c3216;transform:translateY(-1px); }
.nav a:focus-visible,.header-cta:focus-visible { outline:3px solid #93af45;outline-offset:3px; }
.header-cta { display:flex; align-items:center; gap:13px; padding:14px 17px; background:var(--green); color:white; font-size:11px; font-weight:700; border-radius:3px; white-space:nowrap; transition:background .2s; }.header-cta:hover,.button-dark:hover { background:#102f29; }
.menu-toggle { display:none; border:0; background:none; color:var(--ink); }
.hero { min-height:605px; padding:70px 7.2% 40px; display:grid; grid-template-columns:1fr 1.03fr; position:relative; overflow:hidden; background:#edf3e9; }
.hero-copy { align-self:center; padding-bottom:48px; position:relative; z-index:2; }
.eyebrow,.section-kicker { color:#6b8174; font-size:10px; font-weight:700; letter-spacing:.16em; }
.eyebrow { display:flex; gap:10px; align-items:center; }
.eyebrow-dot { width:7px;height:7px;border-radius:50%;background:#a8bb53; }
h1,h2 { margin:24px 0 18px; font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.055em; }
h1 { font-size:clamp(58px,7.1vw,99px); line-height:.97; }
h1 em,h2 em { color:#7e9a60; font-style:italic; }
.hero-lead { max-width:400px; color:#60736c; font-size:15px; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:30px; }
.button { display:inline-flex; align-items:center; gap:22px; padding:16px 19px; font-size:11px; font-weight:700; border-radius:3px; }
.button-dark { color:white; background:var(--ink); transition:background .2s; }
.text-link { display:flex; gap:10px; align-items:center; font-size:11px; font-weight:700; }.text-link svg { color:#89a25e; }
.hero-proof { display:flex; gap:12px; align-items:center; margin-top:49px; color:#6d7d74; font-size:10px; line-height:1.5; }
.proof-icon { display:grid; place-items:center; width:31px;height:31px; border:1px solid #c4d4c3; border-radius:50%;color:#55795a; }.hero-proof strong { color:var(--ink); }
.hero-art { min-height:510px;position:relative;align-self:stretch;isolation:isolate; }
.art-blob { position:absolute;width:min(39vw,460px);height:min(39vw,460px);min-width:340px;min-height:340px;border-radius:50%;background:#c7d9c3;left:57%;top:43%;right:auto;transform:translate(-50%,-50%);z-index:0; }
.art-ring { position:absolute;width:min(43vw,515px);height:min(43vw,515px);min-width:370px;min-height:370px;left:57%;top:43%;right:auto;border:1px solid #aabda6;border-radius:50%;transform:translate(-50%,-50%);z-index:0; }
.doctor-photo { position:absolute;z-index:2;left:54%;top:46%;right:auto;bottom:auto;width:clamp(250px,28vw,310px);height:clamp(250px,28vw,310px);max-width:none;max-height:none;object-fit:cover;object-position:center 24%;border:8px solid #f4f7ed;border-radius:50%;box-shadow:0 18px 44px #163b3530;transform:translate(-50%,-50%);mix-blend-mode:normal;image-rendering:auto; }
.photo-label { position:absolute;z-index:3;left:calc(57% - min(19.5vw,230px) + 26px);top:calc(43% + min(19.5vw,230px) - 72px);bottom:auto;display:flex;align-items:center;gap:12px;padding:14px 19px;background:#fff;border-radius:14px;box-shadow:0 10px 35px #385b3b18; }
.label-star { display:grid;place-items:center;width:35px;height:35px;background:var(--lime);border-radius:50%;font-size:19px; }
.photo-label strong,.photo-label small { display:block; }.photo-label strong { font:600 12px Arial,sans-serif; }.photo-label small { margin-top:4px;font-size:9px;color:#73857b; }
.floating-note { position:absolute;z-index:3;left:calc(57% + min(19.5vw,230px) - 110px);top:calc(43% - min(19.5vw,230px) + 55px);right:auto;color:var(--ink);font:italic 15px/1.5 Georgia,serif;text-align:left; }.note-line { display:block;width:40px;height:1px;background:#8ca26b;margin:0 0 11px; }
.art-caption { position:absolute;right:7%;bottom:4px;font-size:8px;letter-spacing:.17em;color:#839388; }.art-caption span { color:#a4b750; }
.hero-bottom { position:absolute;left:7.2%;right:7.2%;bottom:20px;display:flex;align-items:center;justify-content:space-between;color:#8a9a8e;font-size:9px;letter-spacing:.14em; }.hero-bottom a { display:flex;align-items:center;gap:10px;letter-spacing:0;color:#52695c; }
.intro-section { padding:68px 11% 30px; background:var(--paper); }
.intro-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;margin-top:45px; }
.intro-grid h2,.services-heading h2,.contact-copy h2 { margin:0;font-size:clamp(44px,5vw,68px);line-height:1.05; }
.intro-text { max-width:580px; }.intro-text h3 { margin:3px 0 22px;font-size:16px;line-height:1.55;letter-spacing:-.02em; }.intro-text p { color:#687a70;font-size:13px;line-height:1.85;margin:0 0 15px; }
.signature { padding-top:13px;font-family:Georgia,serif;font-style:italic;color:#5c7466!important; }.signature strong,.signature small { display:block;font-style:normal; }.signature strong { margin-top:14px;color:var(--ink);font-size:12px; }.signature small { margin-top:4px;font:10px Arial,sans-serif;color:#809087; }
.services-section { padding:35px 11% 78px;background:#e9f0e7; }
.services-heading { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px; }.services-heading h2 { margin-top:12px; }.services-heading p { max-width:270px;margin:0 0 7px;color:#687a70;font-size:12px;line-height:1.8; }
.services-list { border-top:1px solid #cbd7c9; }.service-row { min-height:82px;display:grid;grid-template-columns:60px 1fr 40px;align-items:center;border-bottom:1px solid #cbd7c9;transition:padding .25s,background .25s; }.service-row:hover { padding:0 13px;background:#f5f7f0; }.service-no { font-size:10px;color:#90a18d;letter-spacing:.08em; }.service-title { font-size:15px;font-weight:600;letter-spacing:-.02em; }.service-title small { display:block;margin-top:6px;color:#7a8a7f;font-size:10px;font-weight:400;letter-spacing:0; }.service-arrow { display:grid;place-items:center;width:33px;height:33px;border:1px solid #c1cfbd;border-radius:50%;transition:background .2s,color .2s; }.service-row:hover .service-arrow { background:var(--ink);color:#fff; }
.all-services { display:inline-flex;align-items:center;gap:18px;margin-top:30px;font-size:10px;font-weight:700;letter-spacing:.11em; }.all-services svg { color:#829d57; }
.contact-band { padding:91px 11%;background:var(--ink);color:#f4f6ed;display:grid;grid-template-columns:1fr .8fr;gap:10%; }.contact-band .section-kicker { color:#a7bd7d; }.contact-copy h2 { margin-top:23px; }.contact-copy h2 em { color:#c0d68a; }.contact-copy p { max-width:330px;margin-top:20px;color:#bdcec4;font-size:12px;line-height:1.8; }
.contact-links { padding-top:10px; }.contact-links>a:not(.contact-button) { min-height:77px;border-bottom:1px solid #ffffff2a;display:flex;flex-direction:column;justify-content:center;position:relative; }.contact-links>a span { font-size:9px;color:#a8bdb1;letter-spacing:.1em;text-transform:uppercase; }.contact-links>a strong { margin-top:8px;font-size:14px;font-weight:500; }.contact-links>a svg { position:absolute;right:0;top:31px;width:16px; }.contact-button { margin-top:26px;min-height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;background:var(--lime);color:var(--ink);font-size:9px;font-weight:800;letter-spacing:.07em; }
.footer { padding:24px 7.2% 12px;background:#12312c;color:#cbd8ce; }.footer-main-row { min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px; }.footer-brand { color:white;font-weight:800;letter-spacing:.1em;font-size:13px; }.footer-brand span { color:var(--lime); }.social { display:flex;align-items:center;gap:10px; }.social>span { margin-right:8px;font-size:8px;letter-spacing:.1em;color:#98ada0; }.social a { width:25px;height:25px;display:grid;place-items:center;border:1px solid #ffffff44;border-radius:50%;font-weight:700;font-size:12px; }.copyright { font-size:8px;letter-spacing:.12em;color:#97aa9e; }.footer-credit-row { display:flex;justify-content:flex-end;margin-top:9px;padding-top:8px;border-top:1px solid #ffffff1c; }.footer-credit { color:#a8bdb0;font-size:9px;font-weight:400;letter-spacing:.035em;text-decoration:none;transition:color .2s ease; }.footer-credit:hover,.footer-credit:focus-visible { color:#d9eadb;text-decoration:underline;text-underline-offset:3px; }.footer-credit:focus-visible { outline:2px solid #a8bdb0;outline-offset:3px; }
@media (max-width: 1100px) and (min-width: 761px) { .site-header { height:118px;gap:10px;padding:0 3%; }.brand { flex-basis:210px; }.brand img { max-height:108px; }.nav { gap:2px;padding:4px; }.nav a { min-height:36px;padding:0 7px;font-size:11px; }.header-cta { gap:8px;padding:12px 10px; } }
@media (max-width: 1000px) { .site-header { padding:0 5%; }.topline { padding:0 5%; }.header-cta { padding:12px; }.hero { padding-left:6%;padding-right:6%; }.hero-bottom { left:6%;right:6%; }.hero-art { min-height:420px; }.art-blob { width:min(40vw,380px);height:min(40vw,380px);min-width:300px;min-height:300px;left:59%;top:41%; }.art-ring { width:min(44vw,420px);height:min(44vw,420px);min-width:330px;min-height:330px;left:59%;top:41%; }.doctor-photo { left:54%;top:46%;width:clamp(240px,31vw,300px);height:clamp(240px,31vw,300px); }.photo-label { left:calc(59% - min(20vw,190px) + 58px);top:calc(41% + min(20vw,190px) - 68px); }.floating-note { left:calc(59% + min(20vw,190px) - 150px);top:calc(41% - min(20vw,190px) + 42px);width:150px;text-align:left; }.note-line { margin-left:0;margin-right:0; }.intro-section,.services-section,.contact-band { padding-left:8%;padding-right:8%; } }
@media (max-width: 760px) { .topline { height:32px;padding:0 5%;font-size:8px; }.topline a { font-size:9px; }.site-header { height:84px;padding:0 5%; }.brand { min-width:0; }.menu-toggle { display:block;margin-left:auto;padding:9px; }.menu-toggle svg { width:22px;height:22px; }.header-cta { padding:11px 12px;font-size:10px; }.header-cta svg { display:none; }.nav { display:none;position:absolute;top:84px;left:5%;right:5%;padding:10px;background:#e7f0e9;border:1px solid #d4e2d8;border-radius:18px;box-shadow:0 12px 24px #193f3520;align-items:stretch;flex-direction:column;gap:4px; }.nav-open { display:flex; }.nav a { justify-content:flex-start;min-height:44px;padding:0 15px;border-radius:12px;background:#f8f8f2;font-size:14px; }.hero { display:flex;flex-direction:column;padding:60px 7% 56px; }.hero-copy { padding:0; }.hero h1 { font-size:clamp(55px,13vw,82px); }.hero-lead { max-width:450px;font-size:13px; }.hero-proof { margin-top:28px; }.hero-art { min-height:400px;margin-top:25px; }.art-blob { width:min(82vw,380px);height:min(82vw,380px);min-width:0;min-height:0;left:55%;top:46%; }.art-ring { width:min(89vw,420px);height:min(89vw,420px);min-width:0;min-height:0;left:55%;top:46%; }.doctor-photo { left:55%;top:46%;width:min(68vw,310px);height:min(68vw,310px);max-width:none;max-height:none;border-width:6px; }.floating-note { left:calc(55% + min(41vw,190px) - 145px);right:auto;top:calc(46% - min(41vw,190px) + 38px);width:145px;font-size:12px;text-align:left; }.note-line { margin-left:0;margin-right:0; }.photo-label { left:calc(55% - min(41vw,190px) + 30px);top:calc(46% + min(41vw,190px) - 58px);bottom:auto;padding:11px 14px;border-radius:13px; }.hero-bottom { left:7%;right:7%;bottom:17px; }.hero-bottom a { font-size:0; }.hero-bottom a svg { width:17px;height:17px; }.intro-section { padding:50px 7% 22px; }.intro-grid { display:block;margin-top:33px; }.intro-grid h2 { margin-bottom:31px; }.intro-text h3 { font-size:15px; }.intro-text p { font-size:12px; }.services-section { padding:26px 7% 60px; }.services-heading { display:block;margin-bottom:33px; }.services-heading h2 { font-size:48px; }.services-heading p { margin-top:20px;max-width:360px; }.service-row { min-height:78px;grid-template-columns:37px 1fr 33px; }.service-title { font-size:13px; }.service-title small { font-size:9px; }.contact-band { padding:73px 7%;display:block; }.contact-copy h2 { font-size:50px; }.contact-links { margin-top:35px; }.footer { padding:22px 7% 11px; }.footer-main-row { min-height:38px;flex-wrap:wrap;gap:18px; }.social>span { display:none; }.copyright { margin-left:auto; }.footer-credit-row { justify-content:center;margin-top:7px;padding-top:8px; }.footer-credit { font-size:8px; } }
@media (max-width: 400px) { .header-cta { font-size:9px;padding:10px; }.brand-name { font-size:13px; }.hero-actions { gap:16px; }.button { gap:10px;padding:14px; }.text-link { font-size:10px; }.hero-art { min-height:340px; }.floating-note { font-size:11px; }.service-row { grid-template-columns:30px 1fr 30px; }.service-title { font-size:12px; } }
@media (max-width: 760px) { .brand { flex:0 0 154px; }.brand img { max-height:77px; }.building-banner img { max-height:none; } .smile-break { min-height:270px;padding-bottom:24px; }.smiling-tooth-wrap { width:168px;height:168px;flex-basis:168px; }.smile-decoration-left { left:calc(50% - 145px); }.smile-decoration-right { right:calc(50% - 145px); }.sparkle { font-size:26px; } }
@media (max-width: 380px) { .brand { flex-basis:126px; }.brand img { max-height:66px; }.site-header { gap:10px; } }

/* Final desktop composition follows the supplied full-width header and hero reference. */
@media (min-width: 1001px) {
  .topline { display:none; }
  .building-banner { display:block; }
  .site-header { height:130px; padding:0 4%; gap:clamp(12px,2vw,30px); }
  .brand { flex:0 1 clamp(180px,19vw,245px); max-width:245px; }
  .brand img { max-height:116px; }
  .nav { position:static; left:auto; top:auto; transform:none; flex:0 1 auto; max-width:calc(100% - 455px); margin-left:auto; gap:2px; padding:4px; }
  .nav a { min-height:36px; padding:0 clamp(6px,.72vw,11px); font-size:clamp(10px,.82vw,12px); gap:5px; }
  .nav-icon { flex-basis:13px; width:13px; height:13px; }
  .header-cta { flex:0 0 auto; margin-left:0; gap:8px; padding:12px 13px; font-size:10px; }
  .hero { min-height:650px; padding:60px 5.7% 40px; grid-template-columns:1.06fr .94fr; }
  .hero-art { min-height:540px; }
  .art-blob, .art-ring { left:60%; top:43%; }
  .doctor-photo { left:60%; top:46%; }
  .photo-label { left:24%; top:73%; }
  .floating-note { left:78%; top:16%; width:170px; text-align:left; }
  .floating-note .note-line { margin-left:0; margin-right:0; }
}
@media (max-width: 760px) {
  .photo-label { left:4%; top:72%; }
  .floating-note { left:58%; top:8%; width:135px; text-align:left; }
  .floating-note .note-line { margin-left:0; margin-right:0; }
}

/* Keep the smaller portrait close to the lower-left name card. */
@media (min-width: 761px) {
  .doctor-photo { left:57%; top:48%; width:clamp(165px,18.5vw,205px); height:clamp(165px,18.5vw,205px); }
  .photo-label { left:24%; top:73%; }
}
@media (max-width: 760px) {
  .doctor-photo { left:57%; top:45%; width:min(46vw,205px); height:min(46vw,205px); }
  .photo-label { left:4%; top:72%; }
}
@media (min-width: 761px) {
  .art-blob { width:min(26vw,307px); height:min(26vw,307px); min-width:227px; min-height:227px; }
  .art-ring { width:min(28.7vw,343px); height:min(28.7vw,343px); min-width:247px; min-height:247px; }
}
@media (max-width: 760px) {
  .art-blob { width:min(55vw,253px); height:min(55vw,253px); min-width:0; min-height:0; }
  .art-ring { width:min(59.3vw,280px); height:min(59.3vw,280px); min-width:0; min-height:0; }
}

/* Keep the quote and caption near the outer green disc, clear of the blue portrait ring. */
@media (min-width: 1001px) {
  .photo-label { left:calc(60% - min(13vw,153.5px) - 60px);top:calc(43% + min(13vw,153.5px) - 22px); }
  .floating-note { left:calc(60% + min(13vw,153.5px) - 70px);top:calc(43% - min(13vw,153.5px) + 16px);width:170px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .photo-label { left:calc(59% - min(13vw,153.5px) - 52px);top:calc(41% + min(13vw,153.5px) - 20px); }
  .floating-note { left:calc(59% + min(13vw,153.5px) - 60px);top:calc(41% - min(13vw,153.5px) + 12px);width:150px; }
}
@media (max-width: 760px) {
  .photo-label { left:calc(55% - min(27.5vw,126.5px) - 18px);top:calc(46% + min(27.5vw,126.5px) - 24px); }
  .floating-note { left:calc(55% + min(27.5vw,126.5px) - 85px);top:calc(46% - min(27.5vw,126.5px) + 12px);width:140px; }
}

/* Final composition: left-aligned hero copy, artwork on the right, label at
   the lower-left edge of the green disc, and quote at its upper-right. */
@media (min-width: 1001px) {
  .hero { grid-template-columns:1.06fr .94fr; }
  .hero-art { transform:translateX(2%); }
  .art-blob { left:64%; top:38%; }
  .art-ring { left:64%; top:38%; }
  .doctor-photo { left:60%; top:43%; }
  .photo-label { left:calc(60% - min(13vw,153.5px) - 12px);top:calc(43% + min(13vw,153.5px) - 48px); }
  .floating-note { left:calc(60% + min(13vw,153.5px) - 70px);top:calc(43% - min(13vw,153.5px) + 16px);width:170px;text-align:left; }
  .floating-note .note-line { margin:0 0 11px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .art-blob { left:64%; top:37%; }
  .art-ring { left:64%; top:37%; }
  .doctor-photo { left:59%; top:41%; }
  .photo-label { left:calc(59% - min(13vw,153.5px) - 12px);top:calc(41% + min(13vw,153.5px) - 44px); }
  .floating-note { left:calc(59% + min(13vw,153.5px) - 60px);top:calc(41% - min(13vw,153.5px) + 12px);width:150px;text-align:left; }
}
@media (max-width: 760px) {
  .art-blob { left:60%;top:42%; }
  .art-ring { left:60%;top:42%; }
  .doctor-photo { left:58%;top:44%; }
  .photo-label { left:calc(55% - min(27.5vw,126.5px) - 8px);top:calc(46% + min(27.5vw,126.5px) - 42px); }
  .floating-note { left:62%;right:auto;top:calc(44% - min(23vw,115px) - 34px);width:132px;padding:0;border-radius:0;background:transparent;font:italic 10px/1.2 Georgia,serif;text-align:left;transform:none; }
  .floating-note .note-line { margin:0 0 4px; }
}

/* Contact page */
.contact-page-hero { position:relative;min-height:205px;padding:45px 8% 38px;background:#edf8fa; }
.contact-illustrated-hero { display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:28px;min-height:290px;padding-right:11%;overflow:hidden; }
.contact-hero-copy { position:relative;z-index:1; }
.contact-hero-icon { grid-column:2;grid-row:1; }
.contact-illustrated-hero .contact-search { z-index:3; }
.contact-page-hero .section-kicker { color:#71857e; }
.contact-branding { display:flex;flex-direction:column;gap:5px;max-width:660px; }
.contact-branding strong { color:#1e5147;font:700 25px/1.15 Arial,sans-serif;letter-spacing:-.03em; }
.contact-branding span { color:#62756c;font-size:12px;line-height:1.55; }
.contact-page-hero>.section-kicker { display:none; }
.contact-page-hero h1 { margin:14px 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(38px,5vw,54px);font-weight:700;letter-spacing:-.045em;line-height:1.05;color:#122f2b; }
.contact-page-subtitle { max-width:640px;margin:0;color:#61746d;font-size:14px;line-height:1.7; }
.contact-search { position:absolute;right:8%;top:22px;display:flex;width:min(235px,40vw);height:40px;border:1px solid #d4e1dd;border-radius:8px;background:#fff;overflow:hidden; }
.contact-search-band { display:flex;justify-content:flex-end;padding:12px 8%;background:#edf8fa; }
.contact-search-band .contact-search { position:relative;top:auto;right:auto;width:min(235px,40vw); }
.contact-search input { width:100%;min-width:0;padding:0 12px;border:0;background:transparent;color:var(--ink);font:13px Arial,sans-serif;outline:none; }
.contact-search button { width:42px;border:0;background:transparent;color:#537266;font-size:22px;cursor:pointer; }
.contact-form-section { display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(28px,6vw,78px);padding:65px 8% 85px;background:#f8f8f2;align-items:start; }
.contact-form-intro { max-width:380px; }
.contact-form-intro h2 { margin:13px 0 18px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,62px);font-weight:400;line-height:1.02;letter-spacing:-.055em; }
.contact-form-intro>p { color:#62756c;font-size:14px;line-height:1.85; }
.contact-phone-link { display:inline-flex;align-items:center;gap:12px;margin-top:14px;padding-bottom:5px;border-bottom:1px solid #bdcdbb;font-size:13px;font-weight:700; }
.contact-phone-link span { color:#879b5a;font-size:17px; }
.contact-form-card { width:100%;padding:clamp(24px,4vw,42px);border:1px solid #d9e1db;border-radius:18px;background:#fff;box-shadow:0 18px 55px #173b3510; }
.contact-form-card h3 { margin:0;color:#243b35;font:700 clamp(22px,3vw,29px)/1.2 Arial,sans-serif;letter-spacing:-.035em; }
.form-note { margin:16px 0 28px;color:#74817b;font-size:12px;line-height:1.7; }.form-note span,.form-field label span { color:#b84a32;font-weight:800; }
.budafog-message-form { display:grid;gap:18px; }
.form-field { display:flex;align-items:stretch;min-height:54px;border:1px solid #dae2dd;border-radius:9px;background:#fbfcfa;overflow:hidden;transition:border-color .18s,box-shadow .18s; }
.form-field:focus-within { border-color:#7b9b7b;box-shadow:0 0 0 3px #c9dec94d; }
.form-field label { flex:0 0 122px;display:flex;align-items:center;gap:6px;padding:12px 14px;color:#52645b;font-size:12px;font-weight:600;background:#f2f5f0;border-right:1px solid #e1e7e1; }
.form-field input,.form-field textarea { width:100%;min-width:0;padding:14px 15px;border:0;outline:0;background:#fff;color:#243b35;font:14px/1.55 Arial,sans-serif; }
.form-field-message { display:block;min-height:185px; }
.form-field-message label { min-height:42px;width:100%;border-right:0;border-bottom:1px solid #e1e7e1; }
.form-field textarea { min-height:142px;resize:vertical; }
.consent-check { display:flex;align-items:flex-start;gap:11px;color:#64756c;font-size:12px;line-height:1.65;cursor:pointer; }
.consent-check input { width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:#315b4b; }
.privacy-note { margin:-6px 0 0;color:#7c8981;font-size:11px;line-height:1.65; }
.contact-submit { justify-self:end;display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:0 20px;border:0;border-radius:8px;background:#173b35;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s; }
.contact-submit:hover { background:#0f2e29;transform:translateY(-1px); }.contact-submit span { color:#d8f078;font-size:19px; }
.contact-feedback { margin:0 0 20px;padding:13px 15px;border-radius:8px;font-size:13px;line-height:1.6; }.contact-feedback.is-success { border:1px solid #b8d7bd;background:#eef8ef;color:#245638; }.contact-feedback.is-error { border:1px solid #e9c2b8;background:#fff4f1;color:#8c3527; }
.contact-honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.screen-reader-text { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.nav a.is-current { background:#fff;color:#173b32;box-shadow:0 3px 10px #173c3216; }
@media (max-width: 760px) {
  .contact-page-hero { min-height:0;padding:34px 7% 30px; }
  .contact-illustrated-hero { grid-template-columns:minmax(0,1fr) 110px;gap:8px;padding-right:7%;padding-top:45px; }
  .contact-illustrated-hero .contact-branding { max-width:100%; }
  .contact-illustrated-hero .contact-branding strong { font-size:20px; }
  .contact-illustrated-hero .contact-branding span { max-width:360px;font-size:10px; }
  .contact-hero-icon { width:108px;height:108px; }
  .contact-hero-icon .page-icon-orbit { width:100px;height:100px; }
  .contact-hero-icon svg { width:78px;height:78px; }
  .contact-illustrated-hero .contact-search { top:10px;right:7%;width:min(210px,55vw); }
  .contact-page-hero h1 { margin-top:13px;font-size:42px; }
  .contact-search { position:relative;top:auto;right:auto;width:100%;margin:19px 0 0; }
  .contact-search-band { padding:10px 7%; }
  .contact-search-band .contact-search { width:100%;margin:0; }
  .contact-form-section { display:block;padding:43px 7% 60px; }
  .contact-form-intro { max-width:none;margin-bottom:30px; }
  .contact-form-intro h2 { margin:11px 0 13px;font-size:44px; }
  .contact-form-card { padding:23px 18px;border-radius:14px; }
  .form-field label { flex-basis:103px;padding:11px 10px;font-size:11px; }
  .form-field input,.form-field textarea { padding:12px; }
  .form-field-message textarea { min-height:140px; }
  .contact-submit { width:100%;justify-content:space-between; }
}

/* Branded interior pages */
.content-page-hero { padding:68px 11% 62px;background:#edf3e9; }
.illustrated-page-hero { display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:36px;min-height:300px;overflow:hidden; }
.page-hero-copy { position:relative;z-index:1; }
.page-hero-illustration { position:relative;justify-self:center;width:250px;height:205px;display:grid;place-items:center;color:#315c4d; }
.page-icon-orbit { position:absolute;width:188px;height:188px;border:1px solid #c3d3bd;border-radius:50%;box-shadow:0 0 0 14px #ffffff27,0 0 0 28px #dce8d833;animation:page-icon-orbit 16s linear infinite; }
.page-hero-illustration svg { position:relative;z-index:1;width:136px;height:136px;overflow:visible;fill:#dce9d5;stroke:#315c4d;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 12px 14px #2445341c);animation:page-icon-float 4s ease-in-out infinite; }
.page-hero-illustration svg .page-icon-detail,.page-hero-illustration svg .page-icon-cross,.page-hero-illustration svg .page-icon-route { fill:none;stroke:#527858;stroke-width:2.4; }
.page-hero-illustration svg .page-icon-spark { fill:#d8f078;stroke:#78934f;stroke-width:1.4; }
.offers-hero-icon svg { fill:#e6edcf;stroke:#667a43; }.directions-hero-icon svg { fill:#deeee3;stroke:#315c4d; }.contact-hero-icon svg { fill:#dcecf0;stroke:#315c4d; }
@keyframes page-icon-orbit { to { transform:rotate(360deg); } }
@keyframes page-icon-float { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-7px) rotate(2deg); } }
.payment-hero { display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:36px;min-height:335px;overflow:hidden; }
.payment-hero-copy { position:relative;z-index:1; }
.payment-hero-art { position:relative;justify-self:center;width:280px;height:220px;display:grid;place-items:center; }
.payment-orbit { position:absolute;border:1px solid #bfd0bb;border-radius:50%;transform:rotate(-22deg); }
.payment-orbit-one { width:248px;height:124px;animation:payment-orbit 12s linear infinite; }
.payment-orbit-two { width:190px;height:170px;border-color:#d3dfcb;transform:rotate(38deg);animation:payment-orbit-reverse 15s linear infinite; }
.payment-card-illustration { position:relative;width:154px;height:104px;padding:18px;border:1px solid #ffffffc9;border-radius:15px;background:linear-gradient(135deg,#315c4d,#173d34);box-shadow:0 20px 38px #183f3030;transform:rotate(-8deg);animation:payment-card-float 4.5s ease-in-out infinite; }
.payment-card-chip { display:block;width:23px;height:17px;border:1px solid #d8e6ba;border-radius:4px;background:linear-gradient(90deg,transparent 32%,#d8e6ba 33%,transparent 37%,transparent 63%,#d8e6ba 64%,transparent 68%),linear-gradient(0deg,transparent 44%,#d8e6ba 45%,transparent 50%); }
.payment-card-lines { position:absolute;left:18px;bottom:27px;width:31px;height:4px;border-radius:4px;background:#a7c177;box-shadow:0 8px 0 #ffffff45; }
.payment-card-word { position:absolute;right:15px;bottom:14px;color:#e7efd9;font-size:9px;font-weight:700;letter-spacing:.13em; }
.payment-float { position:absolute;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid #d2dfc4;border-radius:50%;background:#fbfcf5;color:#467251;box-shadow:0 8px 20px #294b341a; }
.payment-float-coin { top:25px;left:37px;font:italic 21px Georgia,serif;animation:payment-bob 3.5s ease-in-out infinite; }
.payment-float-check { right:26px;bottom:30px;font-size:20px;animation:payment-bob 3.5s ease-in-out -1.5s infinite; }
.payment-spark { position:absolute;color:#91a95d;animation:payment-twinkle 2.8s ease-in-out infinite; }.payment-spark-one { right:40px;top:39px;font-size:18px; }.payment-spark-two { left:36px;bottom:35px;font-size:14px;animation-delay:-1.2s; }
.payment-method { position:relative;min-height:198px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:20px;border:1px solid #d2ddcf;border-radius:14px;background:#f8f8f2;box-shadow:0 6px 20px #203d2b08;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.payment-method:hover { transform:translateY(-5px);border-color:#aabf9e;box-shadow:0 16px 30px #203d2b13; }
.payment-method .payment-method-icon { position:absolute;top:20px;left:20px;display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#e7efe2;color:#3d7254; }
.payment-method-icon svg { width:34px;height:34px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.payment-method-number { position:absolute;top:25px;right:19px;color:#91a18e;font-size:10px;letter-spacing:.12em; }
.payment-method strong { color:#24473b;font-size:15px; }.payment-method small { color:#839087;font-size:11px;line-height:1.5; }.payment-method.is-unavailable { opacity:.78; }
@keyframes payment-orbit { to { transform:rotate(338deg); } }
@keyframes payment-orbit-reverse { to { transform:rotate(-322deg); } }
@keyframes payment-card-float { 0%,100% { transform:translateY(0) rotate(-8deg); } 50% { transform:translateY(-9px) rotate(-5deg); } }
@keyframes payment-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes payment-twinkle { 0%,100% { opacity:.45;transform:scale(.82) rotate(0); } 50% { opacity:1;transform:scale(1.12) rotate(15deg); } }
@media (prefers-reduced-motion: reduce) { .payment-orbit,.payment-card-illustration,.payment-float,.payment-spark,.smiling-tooth-wrap,.tooth-eye-wink,.tooth-eye-wink::after,.tooth-smile-line { animation:none!important; } .payment-method { transition:none; } }
.content-page-hero h1 { margin:16px 0 12px;font:400 clamp(48px,7vw,76px)/1 Georgia,'Times New Roman',serif;letter-spacing:-.055em;color:var(--ink); }
.content-page-hero>p,.content-page-hero .page-hero-copy>p,.content-page-hero .payment-hero-copy>p { max-width:680px;margin:0;color:#62756c;font-size:16px;line-height:1.75; }
@media (prefers-reduced-motion: reduce) { .page-icon-orbit,.page-hero-illustration svg { animation:none!important; } }
.content-page-body { padding:70px 11% 75px;background:var(--paper); }
.content-page-intro { max-width:850px;margin:0 auto; }
.content-index { color:#778b78;font-size:10px;font-weight:700;letter-spacing:.15em; }
.content-page-intro h2,.payment-intro h2 { margin:18px 0 25px;font:400 clamp(34px,5vw,52px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.045em;color:var(--ink); }
.content-page-intro blockquote { margin:0;padding:27px 30px;border-left:3px solid #a2b66b;border-radius:0 12px 12px 0;background:#edf3e9;color:#4e685c;font:italic 17px/1.85 Georgia,'Times New Roman',serif; }
.content-page-cta,.content-page-bottom-cta { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:24px 28px;border-radius:14px;background:#e9f0e7; }
.content-page-cta p,.content-page-bottom-cta h2 { margin:0;color:var(--ink);font:400 20px/1.4 Georgia,'Times New Roman',serif; }
.content-link-button { display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:46px;padding:0 17px;border-radius:7px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;white-space:nowrap; }
.content-link-button span { color:var(--lime);font-size:18px; }
.offers-body { display:grid;gap:24px; }
.offer-poster-card { width:min(100%,605px);margin:0 auto;padding:clamp(12px,2vw,20px);border:1px solid #dce4dc;border-radius:18px;background:#fff;box-shadow:0 12px 40px #173b3508; }
.offer-poster-card img { display:block;width:100%;height:auto;border-radius:10px; }
.offer-card { padding:clamp(24px,4vw,42px);border:1px solid #dce4dc;border-radius:18px;background:#fff;box-shadow:0 12px 40px #173b3508; }
.offer-card h2 { max-width:800px;margin:14px 0 20px;color:var(--ink);font:400 clamp(26px,4vw,38px)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.04em; }
.offer-card h3 { margin:22px 0 8px;color:#294c40;font-size:15px; }
.offer-card p,.offer-card li { color:#60736c;font-size:14px;line-height:1.85; }
.offer-card ul { padding-left:20px; }
.offer-highlight { padding:17px 20px;border-left:3px solid #a2b66b;border-radius:0 9px 9px 0;background:#edf3e9;color:#294c40!important;font-weight:700; }
.content-text-link { display:inline-flex;gap:12px;margin-top:6px;padding-bottom:4px;border-bottom:1px solid #bdcdbb;color:#234d40;font-size:12px;font-weight:700; }.content-text-link span { color:#839c56;font-size:16px; }
.payment-body { display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:start; }
.payment-intro h2 { margin-bottom:10px; }.payment-disclaimer { color:#697b71;font-size:13px;line-height:1.8; }
.price-list { border-top:1px solid #d4ded3; }
.price-row { display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center;padding:22px 4px;border-bottom:1px solid #d4ded3;color:#345448;font-size:15px; }
.price-row strong { color:var(--ink);font-size:15px; }.price-row small { grid-column:1/-1;max-width:540px;color:#7a8980;font-size:11px;line-height:1.7; }
.payment-methods { padding:62px 11% 76px;background:#e9f0e7; }.payment-methods h2 { max-width:730px;margin:16px 0 30px;font:400 clamp(28px,4vw,42px)/1.17 Georgia,'Times New Roman',serif;letter-spacing:-.04em; }
.payment-method-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.directions-body { display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start; }
.directions-address h2 { margin:15px 0 23px;font:400 clamp(34px,5vw,52px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.045em; }
.directions-address address { color:#254c40;font:600 22px/1.55 Arial,sans-serif;font-style:normal; }.directions-address address span { font-size:14px;font-weight:400;color:#6d7e73; }
.directions-address>p { margin:11px 0 24px;color:#6c7d73;font-size:13px; }
.directions-details { border-top:1px solid #d4ded3; }.directions-details article { display:grid;grid-template-columns:40px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid #d4ded3; }.direction-icon { display:grid;place-items:center;width:34px;height:34px;border:1px solid #d0dccd;border-radius:50%;color:#829558;font-size:10px; }.directions-details h3 { margin:1px 0 8px;color:#23483c;font-size:15px; }.directions-details p { margin:0;color:#65776d;font-size:13px;line-height:1.8; }.directions-details p a { color:#255b49;font-weight:600;text-decoration:underline;text-decoration-color:#bdcdbb;text-underline-offset:3px; }
.map-embed { position:relative;height:360px;margin:0 11% 75px;overflow:hidden;border:1px solid #d6dfd7;border-radius:16px;background:#e9f0e7; }.map-embed iframe { width:100%;height:100%;border:0; }.map-embed>a { position:absolute;right:14px;bottom:14px;padding:11px 14px;border-radius:7px;background:#fff;color:#21493d;font-size:11px;font-weight:700;box-shadow:0 5px 15px #183a321c; }
@media (max-width:760px) {
  .content-page-hero { padding:44px 7% 40px; }.content-page-hero h1 { font-size:48px; }.content-page-hero>p { font-size:14px; }
  .illustrated-page-hero { grid-template-columns:minmax(0,1fr) 120px;gap:10px;min-height:240px;padding:42px 7% 36px; }
  .page-hero-illustration { width:118px;height:118px; }
  .page-icon-orbit { width:108px;height:108px;box-shadow:0 0 0 8px #ffffff27,0 0 0 16px #dce8d833; }
  .page-hero-illustration svg { width:82px;height:82px; }
  .illustrated-page-hero h1 { font-size:clamp(36px,9vw,48px); }
  .illustrated-page-hero p { font-size:12px;line-height:1.6; }
  .payment-hero { grid-template-columns:1fr;gap:12px;padding-bottom:20px; }.payment-hero-art { width:250px;height:185px;margin-top:3px; }.payment-orbit-one { width:220px;height:110px; }.payment-orbit-two { width:170px;height:145px; }
  .content-page-body { padding:44px 7% 55px; }.content-page-intro blockquote { padding:20px;font-size:15px; }
  .content-page-cta,.content-page-bottom-cta { align-items:flex-start;flex-direction:column;padding:21px;margin-top:32px; }
  .content-page-cta p,.content-page-bottom-cta h2 { font-size:18px; }
  .payment-body,.directions-body { display:block; }.payment-intro { margin-bottom:28px; }.price-row { font-size:13px; }.price-row strong { font-size:13px;text-align:right; }
  .payment-methods { padding:43px 7% 54px; }.payment-method-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }.payment-method { min-height:112px;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;justify-content:initial;gap:4px 11px;padding:14px 34px 14px 13px; }.payment-method .payment-method-icon { position:static;grid-column:1;grid-row:1 / 3;width:42px;height:42px;border-radius:13px; }.payment-method-icon svg { width:26px;height:26px; }.payment-method-number { top:10px;right:10px;font-size:8px; }.payment-method strong { grid-column:2;grid-row:1;max-width:100%;font-size:11px;line-height:1.25;overflow-wrap:anywhere;hyphens:auto; }.payment-method small { grid-column:2;grid-row:2;max-width:100%;font-size:9px;line-height:1.3; }
@media (max-width:480px) { .payment-method-grid { grid-template-columns:minmax(0,1fr);gap:10px; }.payment-method { min-height:88px;grid-template-columns:46px minmax(0,1fr);gap:3px 12px;padding:12px 42px 12px 14px; }.payment-method .payment-method-icon { width:42px;height:42px; }.payment-method strong { font-size:13px; }.payment-method small { font-size:10px; } }
  .directions-address { margin-bottom:35px; }.directions-address address { font-size:19px; }
  .map-embed { height:300px;margin:0 7% 55px;border-radius:12px; }
}
.child-service-title { max-width:950px; }
.service-detail-body { padding-top:54px; }
.service-detail-body .content-page-intro blockquote { margin-top:15px; }
.service-detail-list { max-width:850px;margin:35px auto 0;border-top:1px solid #d4ded3; }
.service-detail-item { display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid #d4ded3; }
.service-detail-number { display:grid;place-items:center;width:36px;height:36px;border:1px solid #d0dccd;border-radius:50%;color:#829558;font-size:10px; }
.service-detail-item h2 { margin:2px 0 9px;color:#24483c;font:600 17px/1.4 Arial,sans-serif; }
.service-detail-item p { margin:0 0 10px;color:#60736c;font-size:14px;line-height:1.85; }
.service-detail-warning { padding:12px 15px;border-left:3px solid #d1ad68;border-radius:0 7px 7px 0;background:#f8f3e7;color:#715b35!important; }
.service-detail-pagination { display:flex;justify-content:space-between;gap:20px;padding:25px 11% 55px;background:var(--paper); }
.service-detail-pagination a { color:#305846;font-size:12px;font-weight:700; }
@media (max-width:760px) { .child-service-title { max-width:540px;font-size:clamp(34px,8.2vw,48px)!important;line-height:1.04!important;letter-spacing:-.06em!important; }.service-detail-body { padding-top:38px; }.service-detail-item { grid-template-columns:36px 1fr;gap:10px;padding:19px 0; }.service-detail-item h2 { font-size:15px; }.service-detail-item p { font-size:13px; }.service-detail-pagination { padding:20px 7% 42px;font-size:11px; } }
.homepage-search-band { justify-content:center;padding:12px 7.2%;background:#edf3e9; }
.homepage-search-band .contact-search { position:relative;top:auto;right:auto;width:min(100%,420px);height:40px; }
.search-page-hero { padding-top:48px;padding-bottom:44px; }
.search-page-hero h1 { margin:12px 0 20px;font-size:clamp(40px,5vw,58px); }
.search-page-form { position:relative;top:auto;right:auto;width:min(100%,520px);height:48px; }
.search-page-form input { font-size:15px; }
.search-results-section { min-height:290px; }
.search-summary { margin:0 0 26px;color:#718278;font-size:13px;line-height:1.6; }
.search-result-list { max-width:900px;margin:0;padding:0;list-style:none;border-top:1px solid #d4ded3; }
.search-result-item { padding:23px 0;border-bottom:1px solid #d4ded3; }
.search-result-title { color:#23483c;font:600 21px/1.35 Arial,sans-serif;text-decoration:underline;text-decoration-color:#c4d4c3;text-underline-offset:4px; }
.search-result-item p { margin:10px 0;color:#65776d;font-size:14px;line-height:1.8; }
.search-result-link { color:#315d49;font-size:12px;font-weight:700; }.search-result-link span { color:#829c57;font-size:17px; }
.search-empty-state { max-width:760px;padding:32px;border:1px solid #dce4dc;border-radius:14px;background:#fff; }
.search-empty-state h2 { margin:0 0 10px;color:#24483c;font:400 clamp(25px,4vw,34px)/1.2 Georgia,'Times New Roman',serif; }
.search-empty-state p { margin:0;color:#687a70;font-size:14px;line-height:1.8; }
.search-pagination { margin-top:28px; }
.search-pagination .nav-links { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.search-pagination .page-numbers { padding:9px 12px;border:1px solid #d4ded3;border-radius:6px;color:#315d49;font-size:12px; }
.search-pagination .page-numbers.current { background:#1e5147;color:#fff; }
@media (max-width:760px) { .homepage-search-band { padding:10px 7%; }.homepage-search-band .contact-search { width:100%; }.search-page-hero { padding:38px 7% 34px; }.search-page-form { width:100%; }.search-results-section { padding-top:36px; }.search-result-title { font-size:18px; }.search-result-item p { font-size:13px; }.search-empty-state { padding:24px; } }
mark.site-search-highlight { padding:0 .08em;border:1px solid #55745c;border-radius:.12em;background:rgba(218,177,74,.18);color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone; }

/* Give the header a compact, non-overlapping menu on tablets and small laptops. */
@media (min-width:761px) and (max-width:1200px) {
  .site-header { height:100px; padding:0 4%; gap:16px; }
  .brand { flex:0 1 220px; max-width:220px; }
  .brand img { max-height:88px; }
  .menu-toggle { display:grid; place-items:center; width:44px; height:44px; margin-left:auto; padding:8px; border:1px solid #d4e2d8; border-radius:12px; background:#e7f0e9; cursor:pointer; }
  .nav { display:none; position:absolute; top:calc(100% - 4px); left:4%; right:4%; z-index:20; padding:10px; border:1px solid #d4e2d8; border-radius:16px; background:#e7f0e9; box-shadow:0 12px 24px #193f3520; align-items:stretch; flex-direction:column; gap:4px; }
  .nav.nav-open { display:flex; }
  .nav a { justify-content:flex-start; min-height:42px; padding:0 14px; border-radius:10px; background:#f8f8f2; font-size:13px; }
}
@media (min-width:1201px) {
  .site-header { display:flex; }
  .brand { margin-right:clamp(12px,1.2vw,22px); }
  .nav { flex-wrap:nowrap; }
  .menu-toggle { display:none; }
}