@font-face{font-family:Manrope;src:url('./manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:'DM Serif Display';src:url('./dm-serif-display-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#142c39;--muted:#51626a;--paper:#f7f9f8;--line:#dce3e3;--accent:#c0db71;--serif:'DM Serif Display',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid #a85c12;outline-offset:6px;border-radius:2px}
::selection{background:#c0db71;color:#142c39}
h1,h2,h3,p{margin:0}
h1,h2{font-weight:400;line-height:1.08}
address{font-style:normal}
.wrap{width:min(100% - 7rem,1280px);margin-inline:auto}
.skip-link{position:absolute;left:1rem;top:1rem;z-index:20;padding:.65rem 1rem;background:white;color:#142c39;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{padding-block:1.7rem}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;flex-shrink:0}
.brand-mark{font-family:var(--serif);font-size:2.65rem;letter-spacing:-.055em;line-height:1}
.brand-name{font-size:.75rem;line-height:1.55;border-left:1px solid var(--line);padding-left:1rem;font-weight:600}
.site-nav{display:flex;align-items:center;gap:2.2rem;font-size:.875rem;font-weight:600}
.site-nav a{text-decoration:none}
.site-nav a:hover{text-decoration:underline}
.nav-contact{border:1px solid currentColor;padding:.65rem 1.2rem}
.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;text-transform:uppercase;line-height:1.8}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;min-height:52px;padding:.85rem 1.35rem;background:var(--ink);color:white;text-decoration:none;font-weight:600;font-size:.875rem;border:1px solid transparent;transition:background .18s,transform .18s}
.button:hover{background:#285164;transform:translateY(-2px)}
.arrow{font-size:1.25rem;font-family:Arial,sans-serif;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.875rem;text-decoration:none;border-bottom:1px solid currentColor;padding-block:.2rem}
.text-link:hover{opacity:.75}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.75rem;margin-top:2.1rem}
.section-heading{font-family:var(--serif);font-size:clamp(2.1rem,3.3vw,3rem)}
.footer-inner{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;padding-block:1.6rem;color:var(--muted)}
.footer-inner a{white-space:nowrap}
.contact-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:.9rem}
.contact-value{font-size:1.35rem;font-weight:500;text-decoration:none;line-height:1.5}
.contact-value:hover{text-decoration:underline}
.address{font-size:.875rem;line-height:1.8}
.contact-block{min-width:0}
.contact-block a{overflow-wrap:anywhere}

/* Version 1 — a spacious editorial design. */
.editorial .header-inner{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.editorial-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:5rem;align-items:center;padding-top:2rem;padding-bottom:4rem}
.editorial-copy{padding-block:2rem}
.editorial-copy .eyebrow{color:#526659;margin-bottom:1.6rem}
.editorial h1{font-family:var(--serif);font-size:clamp(3.2rem,5.4vw,5rem);letter-spacing:-.035em}
.editorial h1 span{color:#587664}
.editorial-copy .intro{font-size:1.0625rem;max-width:30rem;color:var(--muted);margin-top:1.7rem;line-height:1.85}
.editorial-photo{position:relative;margin:0;padding-bottom:2rem}
.editorial-photo img{width:100%;height:480px;object-fit:cover;object-position:65% center}
.editorial-photo figcaption{position:absolute;bottom:0;right:-1rem;background:var(--accent);padding:1.45rem 1.8rem;min-width:65%;font-size:.875rem;font-weight:600;line-height:1.6}
.photo-caption-small{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.6875rem;margin-bottom:.4rem}
.local-strip{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:1.7rem;gap:2rem}
.local-strip p{font-size:.875rem;color:var(--muted)}
.locations{display:flex;gap:2.5rem;flex-wrap:wrap;font-size:.875rem;font-weight:600;list-style:none;padding:0;margin:0}
.editorial-contact{margin-top:1rem;background:var(--ink);color:white;padding-block:3.5rem}
.editorial-contact .contact-top{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.editorial-contact .contact-top p{max-width:22rem;font-size:.9375rem;color:#bdcbd0}
.editorial-contact .eyebrow{color:var(--accent);margin-bottom:.7rem}
.editorial-contact .contact-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:2rem;border-top:1px solid #3e515c;padding-top:2rem}
.editorial-contact .contact-label{color:#bdcbd0}
.editorial-contact .button-email{background:var(--accent);color:var(--ink);min-width:10rem;justify-content:space-between;border-radius:4px}
.editorial-contact .button-email:hover{background:#d2e994}
.editorial-contact .button-email:focus-visible{outline-color:var(--accent)}
.editorial-contact .text-link{margin-top:.7rem;font-size:.8125rem}

/* Version 2 — a photographic, dark, full-screen composition. */
.photographic{background:#101e27;color:#fff}
.photographic .site-header{position:relative;z-index:1;border-bottom:1px solid #ffffff24;padding-block:1.8rem}
.photographic .brand-name{border-color:#ffffff40;color:#d5dce0}
.photographic .brand-mark{color:#e6c48d}
.photographic .site-nav{color:#e9ecee}
.photo-main{position:relative;isolation:isolate}
.full-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.photo-main::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,23,32,.97) 0%,rgba(10,23,32,.84) 39%,rgba(10,23,32,.25) 100%)}
.photographic-hero{padding-top:6.5rem;padding-bottom:6.5rem;min-height:660px;display:flex;align-items:center}
.photographic-copy{max-width:700px}
.photographic-copy .eyebrow{color:#e6c48d;margin-bottom:1.6rem}
.photographic h1{font-family:var(--serif);font-size:clamp(3.4rem,5.7vw,5.2rem);letter-spacing:-.025em;line-height:1.09}
.photographic h1 em{font-style:normal;color:#e6c48d}
.photographic-copy .intro{font-size:1.0625rem;line-height:1.9;max-width:29rem;color:#dce2e5;margin-top:1.7rem}
.photographic .button{background:#e6c48d;color:#13222c}
.photographic .button:hover{background:#f3d7ab}
.photographic .actions .text-link{color:#fff}
.photo-service-line{border-top:1px solid #ffffff35;display:flex;justify-content:space-between;align-items:center;padding-block:1.7rem;gap:2rem}
.photo-service-line p{font-size:.875rem;color:#dce2e5}
.photo-service-line .locations{color:#e6c48d;font-weight:500}
.photo-contact{padding-block:3.3rem}
.photo-contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1.15fr 1.15fr;gap:2.5rem}
.photo-contact .section-heading{font-size:2.5rem;max-width:13rem}
.photo-contact .contact-label{color:#e6c48d}
.photo-contact .contact-value{font-size:1.15rem}
.photo-contact .address{color:#d4dde1}
.photo-contact .text-link{margin-top:.7rem;font-size:.8125rem}
.photographic footer .footer-inner{border-top:1px solid #ffffff25;color:#aebdc5}

/* Version 3 — bold typography and a simple contact panel. */
.modern{background:#fff;color:#172c28;--ink:#172c28;--muted:#566761;--line:#dce5df;--accent:#dbf17f}
.modern .site-header{padding-block:2rem}
.modern .brand-mark{font-family:var(--sans);font-size:2.5rem;letter-spacing:-.09em;font-weight:800}
.modern .brand-mark::after{content:'.';color:#668326}
.modern .nav-contact{border:0;background:#edf2ee}
.modern-hero{padding-top:3rem;padding-bottom:3.8rem}
.modern-hero>.eyebrow{display:flex;gap:1rem;align-items:center;margin-bottom:1.8rem}
.modern-hero>.eyebrow::before{content:'';width:2rem;height:2px;background:#617346}
.modern h1{font-size:clamp(3.1rem,7.4vw,7rem);font-weight:600;letter-spacing:-.075em;line-height:1.02;max-width:1000px}
.modern h1 span{color:#637c4b}
.modern-intro-row{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-top:2.3rem}
.modern-intro-row p{max-width:40rem;font-size:1.0625rem;color:var(--muted)}
.modern .button{background:var(--accent);color:var(--ink);white-space:nowrap;border-radius:3rem;gap:2rem;padding-inline:1.7rem}
.modern .button:hover{background:#c9e36c}
.modern-info{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:3rem}
.modern-local{position:relative;min-height:370px;isolation:isolate;display:flex;align-items:end;padding:2.2rem;color:white;overflow:hidden}
.modern-local img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-2}
.modern-local::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#112922ed,transparent 85%);z-index:-1}
.modern-local .eyebrow{color:#dcf185;margin-bottom:.7rem}
.modern-local h2{font-size:2rem;letter-spacing:-.04em;font-weight:500;line-height:1.25}
.modern-contact{padding:2.2rem 2.4rem;background:#f0f4ef;display:flex;flex-direction:column;justify-content:center}
.modern-contact .eyebrow{color:#516346;margin-bottom:.5rem}
.modern-contact h2{font-size:2.2rem;font-weight:500;letter-spacing:-.04em;margin-bottom:1.2rem}
.modern-contact-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;text-decoration:none;font-size:1.4rem;letter-spacing:-.02em;border-bottom:1px solid #d2dcd1;overflow-wrap:anywhere}
.modern-contact-row:hover{color:#537136}
.modern-contact .address-row{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:1.3rem}
.modern-contact .address{font-size:.8125rem}
.modern-contact .text-link{flex-shrink:0;font-size:.8125rem}
.modern footer .footer-inner{border-top:1px solid var(--line)}

@media(min-width:1600px){.editorial-hero{padding-top:3.5rem;padding-bottom:5rem}.editorial-photo img{height:530px}}
@media(max-width:1100px){.wrap{width:calc(100% - 4rem)}.editorial-hero{gap:2.5rem}.editorial-photo img{height:440px}.editorial h1{font-size:4rem}.contact-value{font-size:1.15rem}.photo-contact-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.photo-contact .section-heading{max-width:none}.modern-contact{padding:1.6rem}.modern-contact-row{font-size:1.1rem}.modern-contact .address-row{align-items:start;flex-direction:column;gap:.8rem}}
@media(max-width:760px){
 .wrap{width:calc(100% - 2.5rem)}
 .site-header,.photographic .site-header,.modern .site-header{padding-block:1.2rem}
 .header-inner{gap:1rem}.brand{gap:.7rem}.brand-mark,.modern .brand-mark{font-size:2.2rem}.brand-name{padding-left:.7rem;font-size:.625rem}
 .site-nav{gap:1rem;font-size:.8125rem}.site-nav .nav-secondary{display:none}.nav-contact{padding:.55rem .75rem}
 .editorial .header-inner{padding-bottom:1.2rem}
 .editorial-hero{grid-template-columns:1fr;gap:2.2rem;padding-top:1rem;padding-bottom:2rem}
 .editorial-copy{padding-block:1.5rem 0}.editorial h1{font-size:clamp(2.9rem,9.8vw,4.5rem)}
 .editorial-copy .eyebrow{font-size:.6875rem;letter-spacing:.1em;margin-bottom:1.2rem}
 .editorial-copy .intro{margin-top:1.3rem;font-size:1rem;max-width:36rem}
 .actions{margin-top:1.5rem;gap:1.2rem}.button{font-size:.8125rem;min-height:50px}
 .editorial-photo img{height:330px;object-position:60% 65%}.editorial-photo{padding-bottom:1.4rem}.editorial-photo figcaption{right:0;padding:1rem 1.3rem;min-width:60%}
 .local-strip{align-items:start;flex-direction:column;gap:.7rem;padding-block:1.3rem}.locations{gap:1.2rem;font-size:.8125rem}
 .editorial-contact{padding-block:2.4rem}.editorial-contact .contact-top{align-items:start;flex-direction:column;gap:1rem;margin-bottom:1.8rem}
 .editorial-contact .contact-grid{grid-template-columns:1fr;gap:1.7rem}.contact-label{margin-bottom:.45rem}.contact-value{font-size:1.3rem}
 .footer-inner{flex-direction:column;font-size:.6875rem;gap:.5rem}
 .photographic-hero{padding-block:4rem;min-height:590px}.photographic h1{font-size:clamp(3rem,10vw,4.5rem)}
 .photo-main::before{background:linear-gradient(90deg,#0a1720ed,#0a1720b0)}.full-photo{object-position:63% center}
 .photographic-copy .intro{font-size:1rem}.photographic-copy .eyebrow{font-size:.6875rem}
 .photo-service-line{align-items:start;flex-direction:column;gap:.7rem}.photo-contact{padding-block:2.5rem}
 .photo-contact-grid{grid-template-columns:1fr;gap:1.8rem}.photo-contact .section-heading{font-size:2rem}.photo-contact .contact-value{font-size:1.3rem}
 .modern-hero{padding-top:2.4rem;padding-bottom:2rem}.modern h1{font-size:clamp(3rem,10.3vw,5rem);letter-spacing:-.065em}
 .modern-hero>.eyebrow{font-size:.6875rem;letter-spacing:.11em;margin-bottom:1.4rem}
 .modern-intro-row{flex-direction:column;align-items:start;gap:1.4rem;margin-top:1.7rem}.modern-intro-row p{font-size:1rem}
 .modern-info{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.modern-local{min-height:300px;padding:1.7rem}.modern-local h2{font-size:1.8rem}
 .modern-contact{padding:1.7rem}.modern-contact h2{font-size:2rem}.modern-contact-row{font-size:clamp(1rem,4.6vw,1.4rem)}
 .modern-contact .address-row{gap:1rem;flex-direction:row;align-items:end}
}
@media(max-width:380px){.brand-name{display:none}.wrap{width:calc(100% - 2rem)}.modern-contact{padding:1.3rem}.modern-contact .address-row{flex-direction:column;align-items:start}.actions{align-items:start;flex-direction:column}.editorial-photo img{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body{background:white!important;color:black!important}.site-nav,.button,.skip-link{display:none}.wrap{width:100%}.editorial-contact,.photo-contact,.modern-contact{background:white!important;color:black!important}.photographic *{color:black!important}.photo-main::before,.full-photo,.editorial-photo,.modern-local{display:none}.photographic-hero{min-height:0;padding-block:2rem}a{text-decoration:none}.footer-inner{color:black!important}}
