/* Mixed navy, cream and gold homepage. Not shared with other pages. */
.hero-slider{position:relative;margin:28px 0 64px;border-radius:24px;overflow:hidden;background:#101c2e;touch-action:pan-y}
.hero-slide{position:relative;min-height:590px;display:flex;align-items:center;padding:64px 52px 100px;isolation:isolate}
.slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(to left,#0b1524f5 0%,#0b1524da 29%,#0b152433 64%,transparent);z-index:-1}
.slide-copy{width:42%;max-width:450px}.slide-copy h1,.slide-copy h2{font-size:clamp(32px,3.6vw,49px);line-height:1.45;color:#fff}.slide-copy p:not(.eyebrow){color:#f5f2eb;margin-bottom:28px}
.slider-controls{position:absolute;bottom:24px;inset-inline:28px;display:flex;justify-content:center;align-items:center;gap:12px;direction:rtl}
.slider-controls button{cursor:pointer;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #e0b8628a;border-radius:50%;background:#101c2eee;color:#fff;font:inherit}
.slide-dots{display:flex;gap:8px}.slide-dots button[aria-pressed=true]{background:#e0b862;color:#0b1524}.slider-controls .slide-pause{border-radius:24px;font-size:12px}
.slider-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.hero-slider{margin-top:20px;border-radius:18px}.hero-slide{min-height:660px;align-items:flex-end;padding:300px 24px 96px}.slide-image{height:340px;object-position:center top}.hero-slide:after{background:linear-gradient(to top,#101c2e 0%,#101c2e 43%,transparent 75%)}.slide-copy{width:100%;max-width:none}.slide-copy h1,.slide-copy h2{font-size:32px;margin-bottom:12px}.slide-copy p:not(.eyebrow){font-size:15px;margin-bottom:20px}.slider-controls{inset-inline:12px;gap:7px;bottom:20px}.slide-dots{gap:5px}.slider-controls button{padding:6px 10px}.slider-controls .slide-pause{font-size:11px}}
:root{--bg:#0b1524;--bg2:#10203a;--navy:#0b1524;--card:#14263f;--card2:#1a3050;--line:#2b4062;--head:#f7f0e0;--gold:#e0b862;--gold-bright:#ecc97f;--text:#d6deea;--muted:#a9b6c8;--teal:#56c7b4;--coral:#f08f70;--wrap:1160px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:radial-gradient(900px 500px at 85% -5%,rgba(224,184,98,.10),transparent 60%),radial-gradient(800px 600px at 5% 40%,rgba(86,199,180,.07),transparent 60%),var(--bg);color:var(--text);font:400 16px/1.9 Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4,p{margin-top:0}
img{max-width:100%;height:auto}
.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}
.topbar,main,footer{width:min(100% - 48px,var(--wrap));margin-inline:auto}

.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding-block:14px;border-bottom:1px solid var(--line)}
.brand{display:block;flex-shrink:0;padding:6px 0}
.brand-logo{display:block;width:176px;max-width:100%;height:auto}
.main-nav{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:14px;color:var(--text)}
.main-nav a{padding:10px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.main-nav a:hover{border-color:var(--gold-bright);color:var(--gold)}
.top-contact{background:var(--gold);color:#0b1524;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:600;transition:background .2s}
.top-contact:hover{background:var(--gold-bright)}
.menu-toggle{background:var(--card);color:var(--head);border:1px solid var(--gold);border-radius:8px;font:inherit;padding:9px 16px;cursor:pointer}

.eyebrow{margin:0 0 12px;color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.04em}
h1{font-size:clamp(34px,4.2vw,54px);line-height:1.35;font-weight:700;color:var(--head);margin-bottom:20px}
h1 em{font-style:normal;color:var(--gold)}
h2{font-size:clamp(26px,3.2vw,38px);line-height:1.45;font-weight:700;color:var(--head);margin-bottom:12px}
h3{color:var(--head)}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:0 26px;border-radius:999px;font-size:15px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(224,184,98,.22)}
.button.primary{background:var(--gold);color:#0b1524}.button.primary:hover{background:var(--gold-bright)}
.button.secondary{border:2px solid var(--gold);color:var(--gold)}.button.secondary:hover{background:rgba(224,184,98,.1)}
.button.light{background:#0b1524;color:var(--gold-bright);white-space:nowrap}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:64px;padding:64px 0 72px}
.hero-copy{max-width:650px;min-width:0}
.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.hero .eyebrow:before{content:"";width:32px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.45;letter-spacing:-.035em;margin-bottom:24px}
.hero h1 em{display:block}
.intro{max-width:560px;font-size:17px;line-height:2;color:var(--muted);margin-bottom:30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero .button.secondary{border:1px solid #657086;color:var(--head)}
.hero-guide{position:relative;min-width:0;background:#f3eddf;color:#172c43;border-radius:4px 44px 4px 4px;padding:36px;box-shadow:-12px 12px 0 #e0b86218;border-top:3px solid var(--gold)}
.guide-label{font-size:13px;color:#75541f;margin-bottom:18px}
.guide-title{font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1.55;margin-bottom:28px}
.hero-topics{list-style:none;padding:0;margin:0 0 24px}
.hero-topics li{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;border-top:1px solid #172c4326;padding:13px 0}
.hero-topics li span:first-child{font-size:16px;font-weight:700}
.hero-topics li span:last-child{font-size:12px;color:#4e5b65}
.guide-link{font-size:13px;font-weight:700;display:inline-flex;gap:24px;align-items:center;padding:4px 0;border-bottom:1px solid #75541f;color:#75541f}
.hero-guide a:focus-visible{outline-color:#75541f}
@media(max-width:1000px){.hero{gap:32px}.hero-guide{padding:28px}}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding:36px 0 40px}.hero h1{font-size:clamp(34px,7vw,48px)}.hero-guide{border-radius:4px 32px 4px 4px;padding:26px}.guide-title{font-size:28px}.hero .eyebrow{margin-bottom:18px}}

.section-head{max-width:680px;margin-bottom:40px}.section-head>p{color:var(--muted);margin-bottom:0}
.services,.about{margin-bottom:56px}.services{padding:32px 0}
/* Spacious service stories: native links, alternating compositions. */
.service-stories{display:flex;flex-direction:column;gap:36px}
.svc{--acc:var(--gold);display:grid;grid-template-columns:1fr 1fr;min-height:360px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#14263f;transition:box-shadow .25s;isolation:isolate}
.svc:hover{box-shadow:0 18px 45px #0005}
.story-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px;min-width:0}
.svc-no{font:italic 30px/1 Georgia,serif;color:var(--acc);margin-bottom:24px}
.svc h3{font-size:clamp(24px,2.6vw,34px);line-height:1.5;margin:0 0 16px;color:inherit}
.svc-lead{font-size:16px;line-height:2;max-width:440px;margin-bottom:26px}
.card-action{display:inline-block;padding-bottom:6px;border-bottom:1px solid currentColor;color:var(--acc);font-size:14px;font-weight:700}
.svc:hover .card-action{text-decoration:underline;text-underline-offset:5px}
.svc:focus-visible{outline:3px solid var(--gold-bright);outline-offset:6px}
.story-art{position:relative;min-width:0;min-height:320px;overflow:hidden;margin:0}
.art-word{position:absolute;bottom:30px;inset-inline:32px;font-size:22px;font-weight:700;z-index:2}
#svc-1{background:#ede8db;color:#172c43;--acc:#795722;grid-template-columns:1.05fr 1fr}
.study-art{background:#cbd9d4;color:#23483f}
.orbit{position:absolute;width:290px;height:290px;border:1px solid #5a7a6a80;border-radius:50%;top:30px;left:calc(50% - 145px)}
.book{position:absolute;width:82px;height:170px;bottom:100px;border-radius:6px 12px 12px 6px;box-shadow:inset 8px 0 #ffffff20,6px 10px 15px #183b3520;border-top:7px solid #f2ebd7}
.book-one{background:#27483f;left:calc(50% - 112px);transform:rotate(-12deg)}.book-two{background:#ae864b;left:calc(50% - 24px);height:195px}.book-three{background:#718b7c;left:calc(50% + 65px);transform:rotate(14deg)}
#svc-2{grid-template-columns:1fr 1.15fr;background:#123939;color:#edf3e7;--acc:#dfc282}
#svc-2 .story-art{order:2}.estate-art{background:linear-gradient(160deg,#b8d2ce,#e5e4d3);color:#193c3d}
.building{position:absolute;bottom:75px;background:repeating-linear-gradient(0deg,transparent 0 28px,#263f4b55 29px 32px),repeating-linear-gradient(90deg,#eae2cc 0 26px,#57757c 27px 41px);border-top:12px solid #dfc89d;box-shadow:15px 8px 0 #183d4530;transform:skewY(-6deg)}
.building-one{width:140px;height:195px;left:20%}.building-two{width:115px;height:260px;left:50%}
#svc-3{min-height:300px;grid-template-columns:.65fr 1.35fr;background:radial-gradient(ellipse at 15% 30%,#31445e,#102039 70%)}
#svc-3 .story-copy{padding-block:40px}.business-art{min-height:300px;color:#e0b862}
.business-ring{position:absolute;width:185px;height:185px;left:calc(50% - 92px);top:32px;border:1px solid #e0b862;border-radius:50%;box-shadow:0 0 0 24px #e0b8620d,0 0 0 48px #e0b86208}.business-ring:after{content:"";position:absolute;inset:44px;border:2px solid #e0b862;transform:rotate(45deg)}
#svc-4{grid-template-columns:1fr .7fr;background:#e8e1ee;color:#332e48;--acc:#6b4a81;min-height:300px}#svc-4 .story-art{order:2}
.language-art{background:#d6c9df;min-height:300px}.language-art span{position:absolute;font-family:Georgia,serif;line-height:1;font-size:130px}.letter-ar{right:20%;top:35px;color:#473957}.letter-ka{left:15%;top:105px;color:#725880}.letter-en{right:25%;bottom:20px;color:#987b9b}
#svc-5{background:#f2eadd;color:#3c3631;--acc:#8b542e;min-height:400px}
.interior-art{background:#d2bfa6;color:#614d36;min-height:400px}.interior-arch{position:absolute;width:175px;height:250px;top:30px;left:calc(50% - 88px);border-radius:100px 100px 0 0;background:linear-gradient(135deg,#9baba0,#dce0c4);border:15px solid #ece0ca;box-shadow:12px 10px 0 #a69074}.interior-table{position:absolute;width:200px;height:20px;border-radius:50%;background:#6b513b;bottom:100px;left:calc(50% - 100px)}.interior-table:after{content:"";position:absolute;width:55px;height:65px;background:#8a6a4c;top:12px;left:73px}.interior-sun{position:absolute;width:55px;height:55px;border-radius:50%;background:#ebd39b;top:65px;left:calc(50% - 25px)}
#svc-6{grid-template-columns:1.15fr .85fr;min-height:300px;background:#182f42;color:#f1eee4;--acc:#a3d0c3}#svc-6 .story-art{order:2}
.travel-art{min-height:300px;background:#203e4c;color:#c6e1d4}.route-line{position:absolute;width:210px;height:130px;border:2px dashed #a3d0c3;border-radius:90px 50px 90px 0;top:60px;left:calc(50% - 105px);transform:rotate(-15deg)}.route-dot{position:absolute;width:18px;height:18px;border:4px solid #e0b862;border-radius:50%;top:87px;left:calc(50% - 118px);background:#203e4c}.route-dot.end{top:160px;left:calc(50% + 94px)}
#svc-3 .service-scene{--scene-bg:#102039}#svc-5 .service-scene{--scene-bg:#f2eadd}#svc-4 .service-scene{--scene-bg:#d6c9df}#svc-6 .service-scene{--scene-bg:#182f42}#svc-7 .service-scene{--scene-bg:#c9bda0}
#svc-7{min-height:430px;background:#eee7d9;color:#203342;--acc:#7c5a23;grid-template-columns:1.2fr 1fr}
.management-art img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.management-art figcaption{position:absolute;bottom:0;inset-inline:0;padding:28px 20px 12px;background:linear-gradient(transparent,#0b1524e8);color:white;font-size:12px}
.about{display:grid;grid-template-columns:.8fr 1.4fr;gap:40px;background:#f7f1e5;color:#273e56;padding:36px;border-radius:24px}.about .eyebrow{color:#805a19}.about h2{color:#14263f}.about-text .lead{font-size:19px;color:#14263f}.about-text p:last-child{margin-bottom:0}
/* contact + footer */
.contact{background:linear-gradient(120deg,#17304f,#0f3a3d);border:1px solid rgba(224,184,98,.45);color:#fff;border-radius:26px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:18px}
.contact .eyebrow{color:var(--gold-bright)}
.contact h2{color:#fff;margin-bottom:8px}
.contact p:not(.eyebrow){margin:0;max-width:640px;color:var(--text)}
.disclaimer{font-size:12.5px;color:var(--muted);margin-bottom:56px}
footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;padding-block:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
footer p{margin:0}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.footer-nav a{padding:8px 0}.footer-nav a:hover{color:var(--gold)}
.copyright{font-size:12px}

@media(max-width:1000px){.hero-copy{max-width:none}.about{grid-template-columns:1fr;gap:12px}.main-nav{order:3;width:100%;justify-content:center}}
@media(max-width:760px){.topbar,main,footer{width:min(100% - 32px,var(--wrap))}.service-stories{gap:28px}.svc[id]{grid-template-columns:1fr;min-height:0}.svc[id] .story-art{order:0;min-height:260px}.svc[id] .story-copy{padding:30px 26px 36px}.svc h3{font-size:25px}.svc-no{margin-bottom:18px}.management-art{aspect-ratio:3/2}.about{padding:28px 22px}.contact{flex-direction:column;align-items:flex-start;padding:28px 22px}.main-nav{font-size:14px}}
@media(max-width:480px){.brand-logo{width:140px}.top-contact{padding:9px 14px;font-size:13px}h1{font-size:32px}.hero-actions .button{padding-inline:20px}.contact .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:760px){
  .service-stories .svc[id]{grid-template-columns:minmax(0,1fr)!important;min-height:0}
  .service-stories .svc[id] .story-art{order:0!important;min-height:260px}
  .service-stories .svc[id] .story-copy{padding:30px 26px 36px}
}

/* T-064: edge-to-edge scenes blend into the service story. */
#svc-1{--scene-bg:#ede8db;grid-template-columns:1.35fr 1fr}
#svc-2{--scene-bg:#123939;grid-template-columns:1fr 1.35fr}
#svc-1 .service-scene,#svc-2 .service-scene{min-height:0;align-self:stretch;background:var(--scene-bg);isolation:isolate}
.service-scene img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}
.service-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--scene-bg),transparent 60px)}
#svc-2 .service-scene:after{background:linear-gradient(to left,var(--scene-bg),transparent 60px)}
.service-scene figcaption{position:absolute;z-index:1;bottom:16px;inset-inline:22px auto;max-width:calc(100% - 44px);padding:5px 10px;border-radius:6px;color:#fff;font-size:11px;line-height:1.8;background:#0b1524d9}
@media(max-width:1000px) and (min-width:761px){
  #svc-1 .story-copy,#svc-2 .story-copy{padding:32px 26px}
  .service-scene img{min-height:360px}
}
@media(max-width:760px){
  .service-stories .svc[id] .service-scene{min-height:0}
  .service-scene img{height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain;mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}
  #svc-1 .service-scene:after,#svc-2 .service-scene:after{display:none}
  .service-scene figcaption{position:relative;inset:auto;max-width:none;padding:8px 26px 0;border-radius:0;background:var(--scene-bg);color:inherit;font-size:11px}
  #svc-1 .story-copy,#svc-2 .story-copy{padding-top:24px}
}

/* Approved client-centered artwork: complete scene stays visible at every width. */
.hero-client{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);gap:20px;padding:40px 0 56px;min-height:570px}
.hero-client .hero-copy{position:relative;z-index:1}
.hero-client h1{font-size:clamp(36px,3.8vw,54px);line-height:1.5}
.hero-client .intro{font-size:16px;max-width:440px}
.hero-visual{margin:0;min-width:0;width:100%;align-self:center}
.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(min-width:1100px){.hero-client .hero-visual{width:114%;margin-inline-end:-14%}}
@media(max-width:1000px) and (min-width:761px){.hero-client{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px}.hero-client h1{font-size:36px}.hero-client .hero-actions{gap:10px}.hero-client .button{padding-inline:18px}}
@media(max-width:760px){.hero-client{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:32px 0 32px}.hero-client .hero-copy{max-width:560px}.hero-client h1{font-size:clamp(34px,7vw,46px);margin-bottom:16px}.hero-client .eyebrow{margin-bottom:14px}.hero-client .intro{margin-bottom:22px}.hero-visual{width:100%;margin:8px 0 0}}
main[tabindex="-1"]:focus{outline:none}

.slide-count{color:#fff;font-size:15px;min-width:52px;text-align:center;direction:ltr}.slide-num{display:inline-block;transition:opacity .3s}.slide-num.fading{opacity:0}.hero-slide:not([hidden]){animation:slideIn .6s ease}@keyframes slideIn{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.hero-slide:not([hidden]){animation:none}.slide-num{transition:none}}

/* T-159: preserve the complete photo and blend into each card's own background. */
.service-stories .svc[id] .service-scene{
  display:flex;align-items:center;min-height:0;background:transparent;
}
.service-stories .svc[id] .service-scene:after{display:none}
.service-stories .svc[id] .service-scene img{
  position:relative;inset:auto;display:block;width:100%;height:auto;
  min-height:0;aspect-ratio:3/2;object-fit:contain;
  mask-image:linear-gradient(to bottom,transparent,#000 16px,#000 calc(100% - 16px),transparent),linear-gradient(to right,transparent,#000 40px);
  mask-composite:intersect;
}
.service-stories #svc-2 .service-scene img,
.service-stories #svc-4 .service-scene img,
.service-stories #svc-6 .service-scene img{
  mask-image:linear-gradient(to bottom,transparent,#000 16px,#000 calc(100% - 16px),transparent),linear-gradient(to left,transparent,#000 40px);
}
@media(max-width:760px){
  .service-stories .svc[id] .service-scene{aspect-ratio:auto}
  .service-stories .svc[id] .service-scene img{
    mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);
  }
}
