:root{--ink:#101c2e;--ink2:#152538;--line:#263b55;--gold:#c09a55;--gold-hi:#f1deac;--paper:#f4f1ea;--text:#e5e0d4;--muted:#a5afbd;--accent:#2e9c93;--wrap:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font:400 16px/1.8 Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.topbar,main,footer{width:min(100% - 48px,var(--wrap));margin-inline:auto}
.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09)}
.brand{display:flex;align-items:center;gap:11px;font:500 14px/1.2 Jost,sans-serif;letter-spacing:.2em;color:var(--gold-hi)}
.brand small{display:block;margin-top:5px;color:var(--muted);font:400 8px/1.2 Jost,sans-serif;letter-spacing:.22em}
.brand-mark{width:34px;height:34px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font:400 20px/1 Georgia,serif}
.top-contact{font-size:13px;color:var(--gold-hi)}.top-contact span{margin-inline-start:7px;color:var(--gold)}
.hero{min-height:510px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:50px;padding-block:64px 74px}
.hero-copy{max-width:570px}.eyebrow{margin:0 0 17px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.11em}.hero .eyebrow span{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-inline-end:8px}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5.2vw,64px);line-height:1.35;letter-spacing:-.045em;margin-bottom:19px;font-weight:500}h1 em{font-style:normal;color:var(--gold)}
.intro{max-width:520px;color:#c1c8d0;font-size:15px;line-height:2.05;margin-bottom:25px}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:0 21px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--gold);color:var(--ink)}.primary:hover{background:var(--gold-hi)}.note{font-size:11px;color:var(--muted);margin:15px 0 0}
.hero-art{height:340px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#23364b 0%,#18283d 48%,#101e31 77%);border:1px solid rgba(200,164,92,.22)}.hero-art:before,.hero-art:after{content:'';position:absolute;inset:18px;border:1px solid rgba(200,164,92,.16);pointer-events:none}.hero-art:after{inset:29px;border-color:rgba(255,255,255,.06)}.art-sun{position:absolute;width:142px;height:142px;border-radius:50%;background:linear-gradient(145deg,#e8d8a8,#b78743);top:49px;left:calc(50% - 71px);box-shadow:0 0 70px rgba(200,164,92,.23)}.art-card{position:relative;z-index:2;width:58%;min-width:220px;padding:26px 23px 20px;background:rgba(15,27,45,.87);border:1px solid rgba(232,216,168,.45);box-shadow:0 20px 50px #0a1422;text-align:center;transform:translateY(27px)}.art-card strong{display:block;font:400 clamp(31px,4vw,47px)/1.2 Georgia,serif;color:var(--gold-hi);letter-spacing:.02em;margin:6px 0}.art-caption{font:400 8px/1.5 Jost,sans-serif;letter-spacing:.2em;color:#abb5c1}.art-line{display:block;width:34px;height:1px;background:var(--gold);margin:13px auto}.art-orbit{position:absolute;z-index:1;width:310px;height:180px;border:1px solid rgba(200,164,92,.25);border-radius:50%;transform:rotate(-25deg)}.orbit-two{width:365px;height:220px;transform:rotate(34deg);border-color:rgba(255,255,255,.1)}.art-star{position:absolute;color:var(--gold);z-index:2}.star-one{top:72px;right:19%;font-size:22px}.star-two{bottom:47px;left:17%;font-size:15px}.art-coord{position:absolute;bottom:31px;right:34px;color:#7e8c9e;font:400 8px/1.7 Jost,sans-serif;letter-spacing:.13em;direction:ltr}
.services{padding:68px 0 72px;border-top:1px solid rgba(255,255,255,.09)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.section-heading h2,.contact-band h2{font-size:34px;line-height:1.35;font-weight:500;margin:0}.section-heading>p{max-width:390px;color:var(--muted);font-size:13px;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{min-height:250px;padding:22px 23px 20px;background:linear-gradient(140deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.09);position:relative;transition:border-color .2s,transform .2s}.service-card:hover{border-color:rgba(200,164,92,.45);transform:translateY(-3px)}.number{position:absolute;left:20px;top:18px;color:#718094;font:400 11px Jost,sans-serif;letter-spacing:.12em}.icon{color:var(--gold);font-size:23px;height:41px;line-height:1}.service-card h3{font-size:17px;line-height:1.55;font-weight:500;margin:4px 0 9px;color:var(--gold-hi)}.service-card p{min-height:55px;color:#aeb8c4;font-size:12px;line-height:1.9;margin-bottom:18px}.service-link{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;color:var(--text)}.service-link span{font:18px Jost,sans-serif;color:var(--gold)}.service-disclaimer{margin:20px 0 0;color:#8593a4;font-size:10px;line-height:1.9}
.contact-band{margin:0 0 66px;padding:36px 40px;background:var(--accent);display:flex;align-items:center;justify-content:space-between;gap:30px;color:#071c26}.contact-band .eyebrow{color:#d6eee8;margin-bottom:7px}.contact-band h2{font-size:26px;margin-bottom:5px}.contact-band p:not(.eyebrow){font-size:12px;margin:0;max-width:600px}.light{background:var(--paper);color:var(--ink);white-space:nowrap}.light:hover{background:#fff}
footer{min-height:94px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.footer-brand{font-size:12px}.footer-brand .brand-mark{width:29px;height:29px}.footer-brand small{font-size:7px}footer p{margin:0}.copyright{font:10px Jost,sans-serif;letter-spacing:.04em}
@media(max-width:760px){.topbar,main,footer{width:min(100% - 34px,var(--wrap))}.topbar{height:72px}.hero{grid-template-columns:1fr;gap:32px;padding-block:48px 52px}.hero-copy{max-width:620px}.hero-art{height:290px}.section-heading{display:block}.section-heading>p{margin-top:12px}.services{padding:50px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:265px;padding:18px}.contact-band{margin-bottom:48px;padding:27px;align-items:flex-start;flex-direction:column}.contact-band h2{font-size:23px}.contact-band p:not(.eyebrow){line-height:1.9}footer{padding-block:18px;flex-wrap:wrap}footer p{order:3;width:100%}}
@media(max-width:480px){.topbar,main,footer{width:min(100% - 28px,var(--wrap))}.brand{font-size:12px}.top-contact{font-size:11px}.hero{padding-top:40px}.hero-art{height:250px}h1{font-size:39px}.intro{font-size:13px}.section-heading h2{font-size:29px}.service-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:auto;padding:18px}.service-card p{min-height:0;margin-bottom:15px}.number{left:17px;top:16px}.contact-band{padding:23px}.contact-band .button{width:100%}.copyright{margin-inline-start:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Brand assets and flexible layouts for narrow screens and enlarged text. */
.brand{padding:18px 12px;flex-shrink:0;max-width:100%}
.brand-logo{display:block;width:180px;max-width:100%;height:auto}
.hero-logo{display:block;width:100%;height:auto;max-height:200px;object-fit:contain}
.art-card{min-width:0;width:min(70%,280px);padding:28px;transform:none}
.topbar{height:auto;min-height:86px;flex-wrap:wrap;gap:12px;padding-block:8px}
.top-contact{padding:12px 4px}
.hero>*,.section-heading>*,.contact-band>*,.service-card{min-width:0}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-link{gap:12px;min-height:44px;overflow-wrap:anywhere}
.service-link span{flex-shrink:0}
.button{max-width:100%;height:auto;padding-block:12px;white-space:normal;overflow-wrap:anywhere}
.button span{flex-shrink:0}
.contact-band{background:var(--paper);color:var(--ink)}
.contact-band .eyebrow{color:#76551e}
.contact-band .light{background:var(--ink);color:var(--paper)}
.contact-band .light:hover{background:var(--ink2)}
@media(max-width:760px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{height:auto;min-height:72px}.brand-logo{width:160px}}
@media(max-width:480px){.service-grid{grid-template-columns:minmax(0,1fr)}.brand-logo{width:140px}.art-card{padding:22px}.topbar{column-gap:8px}h1{font-size:2.4375em}.intro{font-size:.8125em}.top-contact{font-size:.6875em}}
.skip-link{position:absolute;top:0;right:16px;transform:translateY(-150%);padding:12px 16px;background:var(--gold);color:#0b1524;z-index:20}
.skip-link:focus{transform:none}
main[tabindex="-1"]:focus{outline:none}
