:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17343d;--ink-deep:#102b34;--paper:#f5f6f4;--white:#fff;--soft:#e6ecea;--muted:#4e6469;--accent:#bb925c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:2px}.wrap{width:min(100% - 3rem,1120px);margin-inline:auto}.site-header{background:var(--ink-deep);color:var(--white);border-bottom:1px solid #ffffff2e}.site-header .wrap{justify-content:space-between;align-items:center;gap:2rem;min-height:86px;display:flex}.brand{letter-spacing:.04em;align-items:center;gap:.85rem;font-size:.95rem;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.site-nav{align-items:center;gap:2rem;font-size:.88rem;display:flex}.site-nav a{color:#dce5e5;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff;text-underline-offset:.4em;text-decoration:underline}.hero{background:var(--ink-deep);color:var(--white);position:relative;overflow:hidden}.hero-mark{opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(45vw,650px);height:auto;position:absolute;top:8%;right:-2.5%}.hero .wrap{z-index:1;padding-block:clamp(5rem,10vw,9.3rem) clamp(5rem,10vw,8.2rem);position:relative}.eyebrow{color:#ddbd8b;text-transform:uppercase;letter-spacing:.2em;margin:0 0 1.35rem;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.038em;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{max-width:800px;margin-bottom:1.35rem;font-size:clamp(3.25rem,7vw,6.4rem);line-height:1.04}.hero-lead{color:#d5e0df;max-width:570px;margin-bottom:0;font-size:clamp(1.08rem,2vw,1.29rem);line-height:1.6}.hero-rule{background:var(--accent);width:53px;height:2px;margin-bottom:2rem}.intro{padding-block:clamp(5rem,9vw,8rem)}.intro-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(2rem,9vw,9rem);display:grid}.section-label{text-transform:uppercase;letter-spacing:.18em;color:#6c7776;margin:.55rem 0 0;font-size:.78rem;font-weight:700}.intro h2{max-width:680px;margin:0 0 1.25rem;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.15}.intro p:not(.section-label){color:#455c61;max-width:600px;margin-bottom:0;font-size:1.1rem}.portrait{border-radius:5px;width:min(100%,420px);height:auto;margin-top:1.6rem;display:block}.about .intro-grid{grid-template-columns:.8fr 1.2fr;align-items:center}.about p:not(.section-label)+p{margin-top:1rem}.profile-page{min-height:65vh}.profile-page h1{color:var(--ink);margin-bottom:1.4rem;font-size:clamp(2.5rem,5vw,4.3rem)}.profile-page .section-label{margin-top:0}.profile-page .portrait{margin-top:1.5rem}.services{background:#e8edeb;padding-block:clamp(4.4rem,8vw,7rem)}.services-header{border-bottom:1px solid #bfcac8;justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1.65rem;display:flex}.services h2{margin:0;font-size:clamp(2.2rem,4vw,3.55rem);line-height:1.15}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);display:grid}.service{padding-top:2.25rem}.service-index{color:#778780;font-variant-numeric:tabular-nums;margin-bottom:2.3rem;font-size:.86rem;display:block}.service h3{letter-spacing:-.025em;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,2vw,1.9rem);font-weight:400;line-height:1.2}.service p{color:#455c61;margin-bottom:0}.contact{padding-block:clamp(5rem,9vw,8rem)}.contact-eyebrow{color:#8b693c}.contact-grid{grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,9vw,8rem);display:grid}.contact h2{margin:0 0 1.4rem;font-size:clamp(2.5rem,4.6vw,4.25rem);line-height:1.12}.contact p{color:#455c61;max-width:510px;font-size:1.08rem}.contact-details{border-top:2px solid var(--ink);align-self:end;padding-top:1.45rem}.contact-details .detail-label{color:#6c7776;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.55rem;font-size:.78rem;font-weight:700;display:block}.contact-details strong{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:400}.contact-details p{margin:.4rem 0 0;font-size:1rem}.contact-details address{font-size:1.14rem;font-style:normal;line-height:1.55}.contact-request{border-top:1px solid #cbd6d4;grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(2rem,7vw,6rem);margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(2.5rem,5vw,4rem);display:grid}.request-copy h3{letter-spacing:-.03em;margin:1rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:400;line-height:1.2}.request-copy p{max-width:380px}.request-form{background:var(--white);border:1px solid #cbd6d4;border-radius:5px;padding:clamp(1.4rem,3vw,2.6rem)}.form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.4rem;display:grid}.form-field label{margin-bottom:.45rem;font-size:.94rem;font-weight:700;display:block}.form-field .optional{color:#52676c;font-size:.86rem;font-weight:400}.form-field input{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #aebfbc;border-radius:3px;padding:.75rem .85rem;line-height:1.35;display:block}.form-field input:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-color:var(--ink)}.contact .form-note{color:#455c61;max-width:none;margin:1.5rem 0 1.4rem;font-size:.9rem;line-height:1.55}.request-button{cursor:pointer;background:var(--ink);border:2px solid var(--ink);color:#fff;border-radius:3px;padding:.8rem 1.3rem;font:700 1rem/1.3 Arial,Helvetica,sans-serif}.request-button:hover{color:var(--ink);background:#fff}.request-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.contact .form-status{max-width:none;color:var(--ink);margin:1rem 0 0;font-size:1rem}.contact .form-error{color:#a52424}.form-status:empty{display:none}.form-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.request-button:disabled{cursor:wait;opacity:.65}.form-note a{text-underline-offset:.25em}.map-panel{border-top:1px solid #cbd6d4;grid-template-columns:.43fr .57fr;align-items:start;gap:clamp(2rem,6vw,6rem);margin-top:clamp(3.5rem,6vw,6rem);padding-top:2rem;display:grid}.map-panel h3{margin:.25rem 0 .6rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,2.6vw,2.25rem);font-weight:400;line-height:1.25}.map-panel p{margin-bottom:1rem;font-size:1rem}.map-panel .map-area-note{color:#64767a;max-width:31rem;font-size:.9rem;line-height:1.55}.map-panel a{color:var(--ink);text-underline-offset:.3em}.map-host{background:#e8edeb;border-radius:5px;min-height:310px;overflow:hidden}.map-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:310px;padding:2rem;display:flex}.map-placeholder p{max-width:25rem}.map-button{cursor:pointer;background:var(--ink);border:2px solid var(--ink);color:#fff;border-radius:3px;padding:.8rem 1.3rem;font:700 1rem/1.3 Arial,Helvetica,sans-serif}.map-button:hover{color:var(--ink);background:#fff}.map-host iframe{border:0;width:100%;height:310px;display:block}footer{background:var(--ink-deep);color:#cedbda;padding-block:2rem}footer .wrap{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}footer p{margin:0;font-size:.86rem}footer a{text-underline-offset:.25em}.legal-page,.admin-page{padding-block:clamp(3.5rem,7vw,6rem)}.legal-page{max-width:800px}.legal-page h1,.admin-page h1{font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.12}.legal-page h2{margin:2.4rem 0 .6rem;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:400}.legal-page p,.admin-page p{color:#455c61;font-size:1.05rem}.legal-page a,.admin-page a{text-underline-offset:.25em}.legal-date{margin-top:3rem;font-size:.9rem!important}.admin-page .back-link{margin-bottom:2rem;display:inline-block}.admin-empty{border-top:1px solid #cbd6d4;padding-top:2rem}.request-list{gap:1rem;margin-top:2rem;display:grid}.request-item{background:var(--white);border:1px solid #cbd6d4;border-radius:5px;padding:clamp(1.25rem,3vw,2rem)}.request-item time{color:#52676c;font-size:.9rem}.request-item h2{margin:.45rem 0 1.4rem;font-size:2rem}.request-item dl{gap:.6rem;margin:0 0 1.5rem;display:grid}.request-item dl div{grid-template-columns:7rem 1fr;gap:.5rem;display:grid}.request-item dt{color:#52676c}.request-item dd{overflow-wrap:anywhere;margin:0}.delete-button{cursor:pointer;color:#8c1d1d;font:inherit;background:#fff;border:1px solid #a52424;border-radius:3px;padding:.65rem .95rem}.delete-button:hover{background:#fff4f4}@media (max-width:700px){.wrap{width:min(100% - 2.25rem,1120px)}.site-header .wrap{min-height:74px}.site-nav{gap:1rem;font-size:.875rem}.brand{font-size:.875rem}.hero-mark{opacity:.09;width:80vw;top:22%;right:-38%}.intro-grid,.about .intro-grid,.contact-grid,.contact-request,.map-panel{grid-template-columns:1fr;gap:1.8rem}.form-fields{grid-template-columns:1fr}.portrait{width:min(100%,320px)}.services-grid{grid-template-columns:1fr;gap:0}.service{border-bottom:1px solid #bfcac8;padding-block:1.65rem}.service-index{margin-bottom:1rem}.services-header{align-items:start}footer .wrap{flex-direction:column;gap:.4rem}.request-item dl div{grid-template-columns:1fr;gap:.1rem}}@media (max-width:390px){.site-nav{gap:.65rem}.brand{gap:.5rem}}@media (max-width:480px){.site-header .wrap{flex-wrap:wrap;justify-content:flex-start;gap:.65rem;padding-block:.85rem}.site-nav{justify-content:flex-start;gap:1.25rem;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
