:root{--navy:#0b1f3a;--navy-2:#13294b;--gold:#b9975b;--gold-dark:#9c7c43;--gold-soft:#f4ede0;--ink:#1c2633;--muted:#5a6573;--line:#e4dfd4;--bg:#fbfaf7}
*{box-sizing:border-box}
body{margin:0;font-family:"Montserrat",Arial,Helvetica,sans-serif;font-size:15px;color:var(--ink);background:var(--bg);line-height:1.6;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
a{color:var(--navy-2)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.top{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-top:16px;padding-bottom:16px}
.brand{font-size:1.15rem;font-weight:bold;letter-spacing:.3px}
.brand a{color:#fff;text-decoration:none}
.brand span{font-weight:bold;color:#fff;font-size:inherit}
nav a{color:#fff;text-decoration:none;margin-left:18px;font-size:.78rem;text-transform:uppercase;letter-spacing:1.2px;font-weight:500}
nav a:hover{color:var(--gold)}
.hero{background:var(--navy-2);color:#fff;padding:68px 0}
.hero h1{font-size:2.2rem;line-height:1.2;margin:0 0 16px;max-width:720px}
.hero h1::after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-top:18px}
.hero p{max-width:680px;font-size:1.05rem;color:#e3e8ef}
.btn{display:inline-block;text-transform:uppercase;font-size:.85rem;letter-spacing:1.2px;background:var(--gold);color:var(--navy);font-weight:bold;border:0;padding:13px 28px;text-decoration:none;border-radius:3px;cursor:pointer;margin-top:8px}
.btn:hover{background:var(--gold-dark);color:#fff}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding-top:48px;padding-bottom:48px}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:4px;padding:24px}
.card h2{margin-top:0;font-size:1.25rem;color:var(--navy)}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;padding-bottom:56px}
.contact h2{color:var(--navy)}
.form{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:4px;padding:24px}
.form label{display:block;margin-bottom:14px;font-size:.92rem;color:var(--navy)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{width:100%;padding:10px;margin-top:4px;border:1px solid #cfc9bc;border-radius:3px;font-size:1rem;font-family:inherit}
.form input:focus,.form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;line-height:1.45;color:#3a4650;background:var(--gold-soft);padding:10px;border-radius:3px}
.form .check input{margin-top:3px;flex-shrink:0;accent-color:var(--navy)}
.hidden{display:none}
.fine{font-size:.8rem;color:var(--muted)}
.doc{padding-top:40px;padding-bottom:56px;max-width:780px}
.doc h1{color:var(--navy)}
.doc h1::after{content:"";display:block;width:56px;height:3px;background:var(--gold);margin-top:12px}
.doc h2{color:var(--navy);font-size:1.2rem;margin-top:28px}
footer{background:var(--navy);color:#c9d1dc;font-size:.82rem;padding:20px 0;border-top:3px solid var(--gold)}
footer a{color:var(--gold)}
footer p{margin:4px 0}
.info a{color:var(--navy);text-decoration:none}
.info a:hover{color:var(--gold-dark)}
.doc a[href^="tel:"],.doc a[href^="mailto:"]{text-decoration:none;color:var(--navy)}
a:focus:not(:focus-visible),.btn:focus:not(:focus-visible){outline:none}
a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}
button,input,textarea,select{font-family:inherit}
h1,h2,.brand{font-family:"Playfair Display",Georgia,serif;font-weight:700;letter-spacing:.2px}
.info a,.doc a[href^="tel:"],.doc a[href^="mailto:"]{font-weight:600}
