:root { --navy:#0d1c2a; --navy-2:#102538; --gold:#d6aa3d; --white:#f8f8f4; --muted:#d1d7dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--white); background:var(--navy); font-family:"Arial Narrow",Arial,sans-serif; line-height:1.45; }
a { color:inherit; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:100; padding:.7rem 1rem; color:var(--navy); background:var(--gold); }
.skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; min-height:96px; padding:.45rem clamp(1rem,5vw,4rem); background:rgba(13,28,42,.98); border-bottom:2px solid var(--gold); }
.brand { display:block; width:min(470px,48vw); }
.brand img { display:block; width:100%; height:82px; object-fit:contain; object-position:left center; }
nav { display:flex; gap:1.35rem; color:var(--white); font-weight:800; text-transform:uppercase; }
nav a { padding:.55rem 0; border-bottom:2px solid transparent; text-decoration:none; }
nav a:hover,nav a:focus-visible { color:var(--gold); border-color:var(--gold); }
.hero,.detail-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr); align-items:center; gap:clamp(2rem,6vw,6rem); min-height:620px; padding:clamp(3.5rem,7vw,6.5rem) clamp(1.25rem,6vw,6rem); background:linear-gradient(120deg,var(--navy),var(--navy-2)); border-bottom:10px solid var(--gold); }
.hero-art { margin:0; }
.hero-art img,.detail-hero>img { display:block; width:100%; max-width:390px; margin:auto; }
.eyebrow { margin:0 0 .75rem; color:var(--gold); font-size:clamp(.95rem,1.5vw,1.25rem); font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,.footer-kicker { font-family:Georgia,"Times New Roman",serif; }
h1 { margin:0; font-size:clamp(2.7rem,6vw,6rem); font-weight:700; line-height:1; text-transform:uppercase; }
h1 span,h1 em { display:block; }
h1 em { color:var(--gold); font-style:normal; }
h2 { margin:0; color:var(--white); font-size:clamp(2.2rem,4.5vw,4.25rem); line-height:1.05; text-transform:uppercase; }
.hero-lead { max-width:64ch; margin:1.5rem 0 0; color:var(--muted); font-size:clamp(1.05rem,1.8vw,1.25rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.75rem 1.1rem; border:2px solid var(--gold); font-weight:900; text-decoration:none; text-transform:uppercase; }
.button-primary { color:var(--navy); background:var(--gold); }
.button-secondary { color:var(--white); }
.button:hover,.button:focus-visible { outline:2px solid var(--white); outline-offset:3px; }
.service-area { max-width:75ch; margin:1.25rem 0 0; color:var(--muted); }
.services,.detail-section { padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,5rem); }
.section-heading,.detail-heading { max-width:1050px; margin:0 auto 2.5rem; text-align:center; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1420px; margin:auto; border:2px solid var(--gold); }
.service-grid article { display:flex; flex-direction:column; padding:2rem clamp(1rem,2.5vw,2.5rem); background:var(--navy-2); text-align:center; }
.service-grid article+article { border-left:1px solid var(--gold); }
.service-number { display:grid; width:72px; height:72px; margin:0 auto 1rem; place-items:center; color:var(--gold); border:2px solid var(--gold); border-radius:50%; font:2rem Georgia,serif; }
.service-grid h3 { min-height:2.25em; margin:0; font-size:clamp(1.5rem,2.2vw,2.15rem); line-height:1.08; text-transform:uppercase; }
.service-grid h4 { margin:1rem 0; padding:.7rem 0; color:var(--gold); border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); font:700 clamp(1.05rem,1.6vw,1.35rem) Georgia,serif; text-transform:uppercase; }
.service-grid ul,.detail-grid ul { margin:0; padding-left:1.2rem; text-align:left; }
.service-grid li,.detail-grid li { margin:.65rem 0; }
li::marker { color:var(--gold); }
.service-link { display:block; margin-top:auto; padding:.8rem 1rem; color:var(--navy); background:var(--gold); border:2px solid var(--gold); font-weight:900; text-decoration:none; text-transform:uppercase; }
.service-link:hover,.service-link:focus-visible { color:var(--white); background:transparent; outline:2px solid var(--white); outline-offset:3px; }
.detail-heading>p:last-child { max-width:78ch; margin:1rem auto 0; color:var(--muted); font-size:1.1rem; }
.detail-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1300px; margin:auto; border:2px solid var(--gold); }
.detail-grid.three-up { grid-template-columns:repeat(3,1fr); }
.detail-grid article { padding:1.6rem; background:var(--navy-2); }
.detail-grid article+article { border-left:1px solid var(--gold); }
.detail-grid span { color:var(--gold); font:700 1.6rem Georgia,serif; }
.detail-grid h3 { min-height:2.4em; margin:.75rem 0 1rem; font-size:clamp(1.25rem,1.8vw,1.7rem); line-height:1.1; text-transform:uppercase; }
.detail-note { max-width:1240px; margin:2rem auto 0; padding:1.2rem 1.5rem; color:var(--white); background:var(--navy-2); border:2px solid var(--gold); }
.detail-note strong { color:var(--gold); font-family:Georgia,serif; text-transform:uppercase; }
footer { padding:2.5rem 1.25rem; color:var(--white); background:var(--navy-2); border-top:8px solid var(--gold); text-align:center; }
.footer-kicker { margin:0; color:var(--gold); font-size:clamp(2rem,4vw,3.8rem); text-transform:uppercase; }
.footer-links { display:flex; justify-content:center; gap:1.25rem; margin:.8rem 0; }
.footer-links a { font-weight:800; text-decoration-color:var(--gold); }
.service-footprint { max-width:920px; margin:.8rem auto 0; color:var(--muted); }
.fine-print { max-width:850px; margin:1rem auto 0; color:var(--muted); font-family:Georgia,serif; font-style:italic; }
.contact-pending { max-width:920px; margin:1rem auto; padding:1rem; color:var(--gold); border:1px solid var(--gold); font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.identity-panel { max-width:1100px; margin:0 auto; padding:clamp(3rem,7vw,6rem) clamp(1.25rem,5vw,5rem); text-align:center; border-top:1px solid var(--gold); }
.identity-panel h2 { color:var(--white); }
.identity-panel p { margin:.45rem 0; font-size:1.15rem; }
.identity-panel strong { color:var(--gold); }
.future-note { max-width:760px; margin:1.5rem auto 0!important; padding:1rem; color:var(--muted); border:1px solid var(--gold); }
.about-grid { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,5rem); align-items:center; max-width:1200px; margin:auto; }
.about-photo { margin:0; padding:.65rem; background:var(--navy-2); border:2px solid var(--gold); }
.about-photo img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.about-photo figcaption { padding:.7rem .25rem .1rem; color:var(--muted); text-align:center; }
.about-copy h2 { margin-bottom:1.25rem; }
.about-copy p { color:var(--muted); font-size:1.1rem; }
.about-copy strong { color:var(--gold); }
.fact-row { display:grid; grid-template-columns:repeat(3,1fr); max-width:1200px; margin:3rem auto 0; border:2px solid var(--gold); }
.fact-row p { margin:0; padding:1.25rem; text-align:center; background:var(--navy-2); }
.fact-row p+p { border-left:1px solid var(--gold); }
.fact-row strong { display:block; color:var(--gold); font:700 1.35rem Georgia,serif; text-transform:uppercase; }
.contact-form-section { padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,5rem); background:var(--navy-2); }
.contact-form-grid { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,5rem); max-width:1200px; margin:auto; align-items:start; }
.contact-form-intro { position:sticky; top:130px; }
.contact-form-intro>p:last-child { color:var(--muted); font-size:1.1rem; }
.inquiry-form { display:grid; gap:1.15rem; padding:clamp(1.25rem,4vw,2.5rem); background:var(--navy); border:2px solid var(--gold); }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.inquiry-form label { display:grid; gap:.45rem; color:var(--white); font-weight:800; }
.inquiry-form label span { color:var(--gold); }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { width:100%; min-height:52px; padding:.8rem .9rem; color:var(--white); background:var(--navy-2); border:1px solid var(--gold); border-radius:0; font:inherit; font-size:1rem; }
.inquiry-form textarea { min-height:170px; resize:vertical; }
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder { color:#aeb7bf; opacity:1; }
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus { outline:2px solid var(--white); outline-offset:2px; }
.inquiry-form option { color:var(--white); background:var(--navy); }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.turnstile-slot { min-height:65px; }
.privacy-note { margin:0; color:var(--muted); font-size:.95rem; }
.submit-button { width:100%; min-height:54px; cursor:pointer; }
.submit-button:disabled { cursor:wait; opacity:.7; }
.form-status { min-height:1.5em; margin:0; padding:.1rem 0; font-weight:800; }
.form-status.is-success { color:#c8f2c8; }
.form-status.is-error { color:#ffd0c7; }
@media(max-width:950px){
  nav{gap:.7rem;font-size:.86rem}.hero,.detail-hero{grid-template-columns:1fr minmax(190px,.4fr);min-height:0}.service-grid{grid-template-columns:1fr}.service-grid article+article{border-left:0;border-top:1px solid var(--gold)}.service-grid h3{min-height:0}.detail-grid,.detail-grid.three-up{grid-template-columns:repeat(2,1fr)}.detail-grid article:nth-child(3){border-left:0}.detail-grid article:nth-child(n+3){border-top:1px solid var(--gold)}.about-grid,.contact-form-grid{grid-template-columns:1fr}.contact-form-intro{position:static}.fact-row{grid-template-columns:1fr}.fact-row p+p{border-left:0;border-top:1px solid var(--gold)}
}
@media(max-width:650px){
  .site-header{position:static;flex-direction:column;justify-content:center}.brand{width:min(100%,470px)}nav{display:flex;flex-wrap:wrap;justify-content:center;width:100%;padding:.25rem 0 .65rem}.hero,.detail-hero{grid-template-columns:1fr}.hero-art img,.detail-hero>img{max-width:240px}.hero-actions{display:grid}.detail-grid,.detail-grid.three-up,.form-row{grid-template-columns:1fr}.inquiry-form{padding:1.15rem}.detail-grid article+article,.detail-grid article:nth-child(3){border-left:0;border-top:1px solid var(--gold)}.detail-grid h3{min-height:0}.footer-links{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
