:root{--navy:#102d3c;--navy-deep:#092330;--navy-soft:#1a3a49;--gold:#c8a66d;--gold-light:#e5c68c;--ivory:#f7f4ed;--paper:#fffdfa;--ink:#172f3a;--muted:#62727a;--border:#d9d8d0;--content:1220px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body,button{font-size:16px}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(var(--content),calc(100% - 64px));margin:auto}
.skip-link{position:absolute;left:12px;top:-60px;background:#fff;color:#000;padding:12px;z-index:50}.skip-link:focus{top:12px}
.site-header{height:84px;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid rgba(16,45,60,.08)}
.header-inner{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand-mark{width:36px;height:38px;display:flex;align-items:flex-end;gap:3px;position:relative;border-bottom:2px solid var(--gold)}
.brand-mark span{display:block;width:9px;border:2px solid var(--gold);border-bottom:0}.brand-mark span:nth-child(1){height:24px}.brand-mark span:nth-child(2){height:34px}.brand-mark span:nth-child(3){height:19px}
.brand-type{display:flex;flex-direction:column;gap:4px}.brand-type strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:700;letter-spacing:.035em;white-space:nowrap}.brand-type small{font-size:8px;letter-spacing:.19em;font-weight:700;color:#7c8583;white-space:nowrap}
.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto}.desktop-nav a{font-size:13px;font-weight:700;color:#52636b;transition:color .2s}.desktop-nav a:hover{color:#ad7e3e}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:0 25px;font-size:13px;font-weight:700;letter-spacing:.01em;transition:background .2s,color .2s,transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;font-weight:400;line-height:1}.button-small{min-height:44px;padding:0 17px;gap:15px}.button-outline{border-color:#c9d0d0;color:var(--navy)}.button-outline:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.button-gold{background:var(--gold);color:var(--navy-deep)}.button-gold:hover{background:var(--gold-light)}
.menu-toggle,.mobile-nav{display:none}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;min-height:650px}.hero-grid{position:absolute;inset:0;opacity:.19;background-image:linear-gradient(rgba(211,189,150,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(211,189,150,.24) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 5%,#000 95%)}.hero:before{content:"";position:absolute;width:830px;height:830px;border:1px solid rgba(229,198,140,.12);border-radius:50%;right:-220px;top:-280px}.hero:after{content:"";position:absolute;width:640px;height:640px;border:1px solid rgba(229,198,140,.09);border-radius:50%;right:-115px;top:-185px}
.hero-layout{display:grid;grid-template-columns:55% 45%;align-items:center;min-height:586px;position:relative}.hero-copy{padding:80px 0 70px;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 26px;color:#a77d43;font-size:10px;font-weight:800;letter-spacing:.23em}.eyebrow.light{color:#d5b986}.eyebrow-line{display:inline-block;width:28px;height:1px;background:currentColor;flex-shrink:0}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(58px,5.4vw,86px);line-height:1.035;letter-spacing:-.055em;max-width:730px;margin-bottom:28px}h1 em,.approach h2 em{font-weight:400;color:var(--gold-light);font-style:italic}.hero-intro{max-width:545px;color:#d0dadb;font-size:17px;line-height:1.75;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:32px}.text-link{display:inline-flex;gap:18px;align-items:center;color:var(--navy);font-size:13px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:7px;transition:gap .2s}.text-link:hover{gap:24px}.text-link span{font-size:17px;font-weight:400}.light-link{color:#f5f0e5}
.hero-art{height:525px;position:relative;z-index:1;align-self:end}.art-frame{position:absolute;inset:15px -65px 0 8px;overflow:hidden;border-radius:280px 280px 0 0;background:radial-gradient(circle at 47% 31%,rgba(214,177,116,.28),transparent 24%),linear-gradient(160deg,#385768 0%,#1a3948 53%,#09232f 100%);border:1px solid rgba(219,189,135,.21)}.art-frame:before{content:"";position:absolute;inset:20px;border:1px solid rgba(238,213,167,.25);border-radius:250px 250px 0 0}.art-sun{position:absolute;width:180px;height:180px;border-radius:50%;top:79px;left:33%;background:linear-gradient(135deg,#d8b77c,#b88d4e);box-shadow:0 0 90px rgba(216,181,117,.3)}.art-building{position:absolute;bottom:0;background:linear-gradient(110deg,#7795a0,#294b5b 45%,#173747);box-shadow:-15px 0 30px rgba(3,24,36,.2)}.art-building:after{content:"";position:absolute;inset:12px 8px 0;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(213,203,178,.28) 18px 20px),repeating-linear-gradient(0deg,transparent 0 31px,rgba(213,203,178,.25) 31px 33px);opacity:.7}.art-building-back{width:130px;height:225px;left:12%;clip-path:polygon(0 14%,45% 14%,45% 0,100% 0,100% 100%,0 100%)}.art-building-mid{width:150px;height:345px;left:40%;clip-path:polygon(0 7%,38% 7%,50% 0,62% 7%,100% 7%,100% 100%,0 100%)}.art-building-front{width:150px;height:275px;right:2%;clip-path:polygon(0 9%,70% 9%,70% 0,100% 0,100% 100%,0 100%)}.art-arch{position:absolute;width:270px;height:285px;bottom:-88px;left:20%;border:37px solid #e4d2af;border-bottom:0;border-radius:150px 150px 0 0;opacity:.83;box-shadow:inset 8px 8px 20px rgba(0,0,0,.13),8px -5px 25px rgba(5,24,32,.25)}.art-floor{position:absolute;bottom:0;left:0;right:0;height:30px;background:#d9bc86}.art-stamp{position:absolute;right:38px;top:48px;width:100px;height:100px;border:1px solid rgba(236,213,170,.68);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#f0dcba;font-size:8px;letter-spacing:.15em;transform:rotate(13deg)}.art-stamp i{display:block;width:21px;height:1px;background:currentColor}
.hero-bottom{position:relative;display:flex;align-items:center;gap:18px;height:64px;border-top:1px solid rgba(231,212,173,.25);font-size:9px;font-weight:800;letter-spacing:.23em;color:#bdced0}.hero-bottom .dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.section{padding:105px 0}.intro{background:var(--paper)}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.intro h2,.section-heading h2,.faq h2{font-size:clamp(43px,4vw,62px);line-height:1.1;letter-spacing:-.045em;margin-bottom:0}.intro-right{padding-top:38px}.intro-right p{font-size:18px;line-height:1.75;color:#4d616a;max-width:530px;margin-bottom:26px}
.services{background:var(--ivory)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading>p{max-width:300px;color:var(--muted);line-height:1.65;font-size:15px;margin-bottom:7px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{min-height:390px;background:var(--paper);border:1px solid #e7e2d7;padding:36px 38px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}.service-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 16px 38px rgba(24,42,49,.06)}.card-number{font-size:10px;font-weight:800;color:#a5783b;letter-spacing:.2em;margin-bottom:27px}.service-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.025em;margin-bottom:13px}.service-card p{font-size:14px;color:#5c6e75;line-height:1.65;margin-bottom:19px;max-width:420px}.service-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;padding:0;margin:0 0 27px;list-style:none}.service-card li{font-size:12px;color:#384e58;line-height:1.35;padding-left:13px;position:relative}.service-card li:before{content:"";position:absolute;left:0;top:6px;width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}.service-card a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7e5df;padding-top:16px;font-size:12px;font-weight:800;color:var(--navy)}.service-card a span{font-size:18px;color:#b4884c;font-weight:400}
.approach{background:var(--navy);color:#fff}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach h2{font-size:clamp(43px,4vw,62px);line-height:1.12;letter-spacing:-.04em;margin-bottom:22px}.approach-lead>p:not(.eyebrow){max-width:510px;font-size:16px;line-height:1.7;color:#c8d4d6;margin-bottom:32px}.steps{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid rgba(234,216,183,.25)}.steps li{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:27px 0;border-bottom:1px solid rgba(234,216,183,.25)}.steps li>span{font-family:Georgia,'Times New Roman',serif;font-size:26px;color:var(--gold)}.steps h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;margin-bottom:8px}.steps p{font-size:14px;color:#b9cbd0;line-height:1.6;margin:0}
.faq{background:var(--paper)}.faq-layout{display:grid;grid-template-columns:40% 1fr;gap:90px}.faq-aside{margin-top:22px;line-height:1.7;color:var(--muted);max-width:360px}.faq-list{border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border)}.faq summary{padding:25px 0;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;font-weight:700;color:var(--navy)}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:25px;font-weight:300;color:#ae8248;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:#5d6e75;line-height:1.7;font-size:14px;max-width:550px;margin:0 0 25px}
.contact{background:#183c4b;color:#fff;padding:69px 0}.contact-layout{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact h2{font-size:clamp(38px,3.8vw,57px);letter-spacing:-.04em;line-height:1.1;margin-bottom:14px;max-width:650px}.contact p:not(.eyebrow){color:#cddbdd;line-height:1.6;margin:0}.contact .button{flex-shrink:0}
.site-footer{background:#092330;color:#d8e2e0}.footer-main{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:30px;padding:48px 0}.footer-brand .brand-type strong{color:#fff}.footer-main p{font-size:13px;color:#a9bdc0;line-height:1.6;margin:0;max-width:260px}.footer-main>a{font-size:13px;font-weight:700;color:var(--gold-light)}.footer-bottom{border-top:1px solid rgba(217,231,227,.16);padding:22px 0 29px;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.08em;color:#9db2b6}.footer-bottom a{color:#d8e2e0}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-cta{display:none}.hero-layout{grid-template-columns:58% 42%}.hero-art{height:480px}.art-frame{right:-140px}.approach-layout{gap:55px}}
@media(max-width:760px){.container{width:min(100% - 36px,var(--content))}.site-header{height:72px}.brand-type strong{font-size:18px}.brand-type small{font-size:7px}.desktop-nav{display:none}.menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;border:1px solid #d6dddb;background:transparent;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.menu-toggle span{width:18px;height:1px;background:var(--navy)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;background:var(--paper);padding:8px 18px 18px;border-top:1px solid #ecebe6;box-shadow:0 14px 25px rgba(0,0,0,.08)}.mobile-nav a{padding:13px 0;font-size:14px;border-bottom:1px solid #ecebe6}.mobile-nav a:last-child{color:#a87834;font-weight:700;border:0}.hero{min-height:0}.hero-layout{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:70px 0 20px}.hero h1{font-size:clamp(51px,10vw,74px);max-width:600px}.hero-intro{font-size:16px}.hero-art{height:380px;width:100%;align-self:auto}.art-frame{inset:0 -10px 0 12%;max-width:500px;margin:auto}.hero-bottom{height:auto;padding:18px 0;flex-wrap:wrap;font-size:8px;line-height:1.6}.section{padding:74px 0}.intro-layout,.approach-layout,.faq-layout{grid-template-columns:1fr;gap:25px}.intro-right{padding-top:0}.intro-right p{font-size:16px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:23px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.approach .steps{margin-top:12px}.faq-layout{gap:30px}.contact-layout{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr;gap:18px}.footer-bottom{flex-wrap:wrap;line-height:1.6}}
@media(max-width:480px){.hero-copy{padding-top:53px}.hero h1{font-size:51px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-art{height:320px}.art-frame{inset:0 -40px 0 6%}.art-sun{width:130px;height:130px}.art-building-mid{height:260px}.art-building-front{height:210px}.art-building-back{height:170px}.art-arch{width:210px;height:225px;border-width:30px;left:15%}.art-stamp{right:60px;width:78px;height:78px;font-size:6px}.hero-bottom{gap:9px}.service-card{padding:28px 25px}.service-card ul{grid-template-columns:1fr 1fr}.contact .button{width:100%;padding:0 14px;gap:8px}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
