@font-face{font-family:Cairo;src:url(../fonts/cairo-arabic.woff2) format("woff2");font-weight:200 1000;font-display:swap}
@font-face{font-family:"Reem Kufi";src:url(../fonts/reem-kufi-arabic-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Reem Kufi";src:url(../fonts/reem-kufi-arabic-600-normal.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Reem Kufi";src:url(../fonts/reem-kufi-latin-500-normal.woff2) format("woff2");font-weight:500 700;unicode-range:U+0000-00FF;font-display:swap}

:root{
  --navy:#052b40;--navy-2:#0a3651;--navy-3:#021b29;--ink:#13232e;
  --gold:#cda24b;--gold-2:#e1c07c;--gold-d:#a57f31;
  --ivory:#f8f2e7;--paper:#fcfaf5;--line:rgba(5,43,64,.12);--muted:#5d6b75;
  --ease:cubic-bezier(.22,1,.36,1);--arch:999px 999px 0 0;
  --fh:"Reem Kufi",Cairo,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{font-family:Cairo,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16.5px;line-height:1.9;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--fh);font-weight:600;line-height:1.35;margin:0}
p{margin:0 0 1rem}
::selection{background:var(--gold);color:var(--navy)}
.container{max-width:1240px}
svg{width:1em;height:1em;flex:none}

/* buttons */
.btn-gold,.btn-line{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.7rem;font-weight:700;font-size:1rem;border-radius:2px;position:relative;overflow:hidden;transition:color .4s var(--ease),border-color .4s;isolation:isolate;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold::before,.btn-line::before{content:"";position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);z-index:-1}
.btn-gold:hover{color:var(--gold)}
.btn-gold:hover::before,.btn-line:hover::before{transform:scaleX(1);transform-origin:right}
.btn-line{border-color:var(--gold);color:var(--navy)}
.btn-line::before{background:var(--gold)}
.btn-line.light{color:#fff;border-color:rgba(255,255,255,.4)}
.btn-line.light:hover{color:var(--navy);border-color:var(--gold)}
.btn-sm{padding:.55rem 1.15rem;font-size:.92rem}
.btn-gold .arr,.btn-line .arr,.link-more .arr{transition:transform .4s var(--ease)}
.btn-gold:hover .arr,.btn-line:hover .arr,.link-more:hover .arr,a:hover>.link-more .arr{transform:translateX(-5px)}
.link-more{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold-d);font-weight:700}
.btn-gold svg,.btn-line svg{font-size:1.15em}

.eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:var(--gold-d);font-weight:700;font-size:.95rem;letter-spacing:.02em;margin-bottom:.9rem}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.sec-t{font-size:clamp(1.9rem,3.6vw,3rem);color:var(--navy);margin-bottom:1.2rem}
.sec-t em,.hero__t em,.ftr__cta-t em{font-style:normal;color:var(--gold)}
.sec-t--sm{font-size:1.55rem;margin-top:2.6rem}
.sec-head{max-width:720px;margin:0 auto 3.5rem;text-align:center}
.sec-head .eyebrow{justify-content:center}
.sec-head p{color:var(--muted)}
.sec-head--row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:2rem;text-align:right}
.sec-head--row p{max-width:420px;margin:0}
.lead-p{font-size:1.15rem;color:var(--navy);font-weight:500}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block}
.arch{border-radius:var(--arch);overflow:hidden}
.ticks{list-style:none;padding:0;margin:1.4rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.4rem}
.ticks li{display:flex;gap:.6rem;align-items:center;font-weight:600;color:var(--navy)}
.ticks svg{color:var(--gold);font-size:1.25rem;border:1px solid var(--gold);border-radius:50%;padding:3px;width:1.4em;height:1.4em}

/* loader */
.loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden}
.loader__door{position:absolute;top:0;bottom:0;width:50.5%;background:var(--navy-3)}
.loader__door--r{right:0;border-left:1px solid rgba(205,162,75,.35);background:linear-gradient(90deg,var(--navy) 0%,var(--navy-3) 100%)}
.loader__door--l{left:0;border-right:1px solid rgba(205,162,75,.35);background:linear-gradient(270deg,var(--navy) 0%,var(--navy-3) 100%)}
.loader__c{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.3rem}
.loader__arch{position:relative;width:170px;height:221px;display:grid;place-items:center}
.loader__arch svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.loader__arch path{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1}
.loader__arch .la2{stroke-opacity:.4}
.loader__arch img{width:62%;margin-top:22%;opacity:0}
.loader__name{text-align:center;color:#fff;overflow:hidden}
.loader__name b{display:block;font-family:var(--fh);font-size:1.7rem;color:var(--gold-2)}
.loader__name small{display:block;opacity:.65;font-size:.85rem}
.loader__since{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.6);font-size:.85rem}
.loader__since b{font-family:var(--fh);font-size:1.1rem;color:var(--gold);letter-spacing:.15em}
.loader__since::before,.loader__since::after{content:"";width:40px;height:1px;background:rgba(205,162,75,.5)}
@keyframes ld{to{transform:scaleX(1)}}
.loaded .loader{pointer-events:none}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:100;padding:1.1rem 0;transition:background .5s,padding .5s,box-shadow .5s}
.hdr__in{display:flex;align-items:center;gap:1.5rem}
.hdr__logo{display:flex;align-items:center;gap:.8rem;color:#fff}
.hdr__logo img{width:54px;height:54px;object-fit:contain;transition:width .5s,height .5s}
.hdr__name{display:flex;flex-direction:column;line-height:1.35}
.hdr__name b{font-family:var(--fh);font-size:1.25rem;color:var(--gold-2)}
.hdr__name small{font-size:.76rem;opacity:.75}
.hdr__nav{margin-inline-start:auto}
.hdr__nav ul{list-style:none;display:flex;gap:.3rem;margin:0;padding:0}
.hdr__nav a{color:#fff;padding:.4rem .85rem;font-weight:600;position:relative;opacity:.9;transition:color .3s}
.hdr__nav a::after{content:"";position:absolute;right:.85rem;left:.85rem;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .45s var(--ease)}
.hdr__nav a:hover,.hdr__nav a.is-active{color:var(--gold-2);opacity:1}
.hdr__nav a:hover::after,.hdr__nav a.is-active::after{transform:scaleX(1)}
.hdr__cta{display:flex;align-items:center;gap:1rem}
.hdr__phone{display:flex;align-items:center;gap:.45rem;color:#fff;font-weight:700;font-size:.95rem}
.hdr__phone svg{color:var(--gold);font-size:1.15rem}
.hdr.is-solid{background:rgba(5,43,64,.96);backdrop-filter:blur(10px);padding:.55rem 0;box-shadow:0 10px 40px rgba(0,0,0,.18)}
.hdr.is-solid .hdr__logo img{width:44px;height:44px}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr{transition:transform .5s var(--ease),background .5s,padding .5s}
.burger{display:none;width:44px;height:44px;border:1px solid rgba(205,162,75,.5);background:none;position:relative}
.burger span{position:absolute;right:11px;left:11px;height:1.5px;background:var(--gold);transition:transform .4s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.nav-open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:0;background:var(--navy-3);z-index:90;display:flex;flex-direction:column;justify-content:center;padding:6rem 2rem 2rem;clip-path:circle(0 at 2.5rem 2.5rem);transition:clip-path .8s var(--ease);visibility:hidden}
.nav-open .mnav{clip-path:circle(150% at 2.5rem 2.5rem);visibility:visible}
.mnav ul{list-style:none;padding:0;margin:0}
.mnav li a{display:block;font-family:var(--fh);font-size:2rem;color:#fff;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mnav li a.is-active{color:var(--gold)}
.mnav__foot{margin-top:2rem;display:flex;flex-direction:column;gap:.3rem;color:var(--gold-2)}

/* hero */
.hero{position:relative;height:100vh;min-height:640px;background:var(--navy-3);overflow:hidden;color:#fff}
.hero .carousel,.hero .carousel-inner,.hero .carousel-item{height:100%}
.hero__img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.15);transition:transform 7.5s linear}
.carousel-item.active .hero__img{transform:scale(1.02)}
.hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(2,27,41,.95) 0%,rgba(5,43,64,.82) 45%,rgba(5,43,64,.35) 100%)}
.hero__in{position:relative;height:100%;display:flex;align-items:center;padding-top:5rem}
.hero__txt{max-width:640px}
.hero__t{font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.25;margin-bottom:1.4rem;color:#fff}
.hero__lead{font-size:1.15rem;opacity:.85;max-width:540px;margin-bottom:2.2rem}
.hero__btns{display:flex;gap:1rem;flex-wrap:wrap}
.hero .eyebrow{color:var(--gold-2)}
.carousel-item .hero__txt>*{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.carousel-item.active .hero__txt>*{opacity:1;transform:none}
.carousel-item.active .hero__txt>*:nth-child(2){transition-delay:.15s}
.carousel-item.active .hero__txt>*:nth-child(3){transition-delay:.3s}
.carousel-item.active .hero__txt>*:nth-child(4){transition-delay:.45s}
.hero__ctrl{position:absolute;bottom:2.6rem;right:0;left:0;display:flex;justify-content:space-between;align-items:center;z-index:5}
.hero__ind{position:static;margin:0;justify-content:flex-start;gap:1.5rem}
.hero__ind [data-bs-target]{width:auto;height:auto;text-indent:0;background:none;border:0;opacity:.55;display:flex;align-items:center;gap:.6rem;color:#fff;margin:0;font-family:var(--fh);transition:opacity .4s}
.hero__ind [data-bs-target] span{display:block;width:46px;height:1px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero__ind [data-bs-target] span::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right}
.hero__ind .active{opacity:1}
.hero__ind .active span::after{animation:ld 6.5s linear forwards}
.hero__arrows{display:flex;gap:.6rem}
.hero__arrows button{width:52px;height:52px;border:1px solid rgba(255,255,255,.3);background:none;color:#fff;display:grid;place-items:center;font-size:1.3rem;transition:background .4s,border-color .4s,color .4s}
.hero__arrows button:first-child svg{transform:scaleX(-1)}
.hero__arrows button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.hero__emblem{position:absolute;left:6%;top:50%;width:min(30vw,420px);transform:translateY(-45%);z-index:3;pointer-events:none;opacity:.95}
.hero__emblem::before{content:"";position:absolute;inset:-14% -18% -8%;border:1px solid rgba(205,162,75,.3);border-radius:var(--arch)}
.hero__emblem::after{content:"";position:absolute;inset:-26% -30% -14%;border:1px solid rgba(205,162,75,.12);border-radius:var(--arch)}
.hero__since{position:absolute;left:3%;bottom:-2.5rem;font-family:var(--fh);font-size:clamp(6rem,15vw,13rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(205,162,75,.18);z-index:2;pointer-events:none;display:flex;align-items:baseline;gap:.4rem}
.hero__since span{font-size:.3em}
.hero__scroll{position:absolute;bottom:2.4rem;left:50%;translate:-50% 0;width:26px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:14px;z-index:6}
.hero__scroll span{position:absolute;top:8px;left:50%;width:2px;height:8px;margin-left:-1px;background:var(--gold);border-radius:2px;animation:sc 1.8s infinite}
@keyframes sc{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* marquee */
.marquee{background:var(--gold);color:var(--navy);overflow:hidden;padding:1.05rem 0;white-space:nowrap}
.marquee__track{display:inline-flex;gap:2rem;align-items:center;animation:mq 45s linear infinite;font-family:var(--fh);font-size:1.25rem}
.marquee__track i{font-style:normal;font-size:.8rem;opacity:.6}
@keyframes mq{to{transform:translateX(50%)}}

/* about */
.about{padding:8rem 0 7rem;position:relative}
.about__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:5rem;align-items:center}
.about__media{position:relative;height:620px}
.arch--lg{position:absolute;right:0;top:0;width:72%;height:88%;box-shadow:0 40px 80px -30px rgba(5,43,64,.45)}
.arch--lg::after{content:"";position:absolute;inset:14px;border:1px solid rgba(225,192,124,.6);border-radius:var(--arch);pointer-events:none}
.arch--sm{position:absolute;left:0;bottom:0;width:44%;height:52%;border:8px solid var(--paper);box-shadow:0 30px 60px -20px rgba(5,43,64,.4)}
.arch img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.about__badge{position:absolute;left:8%;top:6%;width:150px;height:150px;border-radius:50%;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;box-shadow:0 20px 50px -10px rgba(5,43,64,.5)}
.about__badge b{font-family:var(--fh);font-size:2.4rem;color:var(--gold);line-height:1}
.about__badge small{font-size:.78rem;opacity:.85}
.ring{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);animation:spin 26s linear infinite}
.ring text{fill:var(--gold-d);font-size:15px;font-family:Cairo;font-weight:700;letter-spacing:1px}
@keyframes spin{to{transform:rotate(-360deg)}}
.about__sign{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);padding-top:1.6rem;margin-top:1.8rem;flex-wrap:wrap}
.about__sign b{display:block;font-family:var(--fh);color:var(--navy);font-size:1.15rem}
.about__sign small{color:var(--muted)}

/* stats */
.stats{position:relative;padding:6rem 0;color:#fff;overflow:hidden;background:var(--navy)}
.stats__bg{position:absolute;inset:-20% 0;background:var(--bg) center/cover;opacity:.18;filter:grayscale(1)}
.stats::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(5,43,64,.6) 50%,var(--navy) 100%);z-index:1}
.stats__grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr)}
.stat{text-align:center;padding:1rem;border-inline-start:1px solid rgba(205,162,75,.25)}
.stat:first-child{border:0}
.stat b{display:block;font-family:var(--fh);font-size:clamp(2.6rem,5vw,4rem);color:var(--gold);line-height:1.2}
.stat span{opacity:.85}

/* services home: list + image */
.services-h{padding:8rem 0;background:var(--ivory)}
.slist{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}
.slist__media{position:sticky;top:110px}
.slist__frame{position:relative;aspect-ratio:4/5;background:var(--navy)}
.slist__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.15);transition:opacity .8s var(--ease),transform 1.4s var(--ease);clip-path:inset(100% 0 0 0)}
.slist__frame img.is-on{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0);transition:opacity .6s,transform 1.4s var(--ease),clip-path 1s var(--ease)}
.slist__frame::after{content:"";position:absolute;inset:16px;border:1px solid rgba(225,192,124,.7);border-radius:var(--arch);z-index:2;pointer-events:none}
.slist__count{font-family:var(--fh);margin-top:1rem;color:var(--muted);text-align:center}
.slist__count b{font-size:2.6rem;color:var(--navy)}
.slist__items{border-top:1px solid var(--line)}
.slist__item{display:grid;grid-template-columns:auto auto 1fr auto;gap:1.2rem;align-items:center;padding:1.35rem .5rem;border-bottom:1px solid var(--line);position:relative;transition:padding .5s var(--ease)}
.slist__item::before{content:"";position:absolute;inset:0;background:var(--navy);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--ease);z-index:0}
.slist__item>*{position:relative;z-index:1}
.slist__n{font-family:var(--fh);color:var(--gold-d);font-size:.95rem;width:2rem}
.slist__ic{width:50px;height:50px;border:1px solid rgba(205,162,75,.45);border-radius:var(--arch);display:grid;place-items:center;font-size:1.5rem;color:var(--gold-d);transition:.5s}
.slist__t b{display:block;font-family:var(--fh);font-size:1.3rem;color:var(--navy);font-weight:600;transition:color .4s}
.slist__t small{display:grid;grid-template-rows:0fr;color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.7;overflow:hidden;transition:grid-template-rows .5s var(--ease),margin .5s;max-width:520px}
.slist__item .arr{font-size:1.4rem;color:var(--gold-d);transition:transform .5s var(--ease),color .4s}
.slist__item.is-on{padding:1.8rem 1.4rem}
.slist__item.is-on::before{transform:scaleY(1)}
.slist__item.is-on .slist__t b{color:#fff}
.slist__item.is-on .slist__t small{grid-template-rows:1fr;margin-top:.3rem}
.slist__item.is-on .slist__ic{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.slist__item.is-on .arr{color:var(--gold);transform:translateX(-6px)}
.slist__t small{display:block;max-height:0;transition:max-height .6s var(--ease),margin .5s}
.slist__item.is-on .slist__t small{max-height:6rem}

/* why (pinned) */
.why{padding:8rem 0;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;width:640px;height:820px;left:-160px;top:50%;translate:0 -50%;border:1px solid rgba(205,162,75,.12);border-radius:var(--arch)}
.why__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;position:relative}
.why__pin{position:sticky;top:140px;align-self:start}
.why .sec-t{color:#fff;font-size:clamp(2.2rem,4.5vw,3.8rem)}
.why__pin p{opacity:.75;max-width:380px}
.why .eyebrow{color:var(--gold)}
.why__prog{margin-top:2.5rem;width:220px;height:2px;background:rgba(255,255,255,.12)}
.why__prog span{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:right}
.why__i{padding:2.6rem 0 2.6rem;border-bottom:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:90px 1fr;column-gap:1.5rem;opacity:.3;transition:opacity .6s}
.why__i.is-on{opacity:1}
.why__i span{grid-row:span 2;font-family:var(--fh);font-size:3.2rem;color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.why__i h3{font-size:1.6rem;color:var(--gold-2);margin-bottom:.6rem}
.why__i p{opacity:.8;margin:0}

/* values carousel */
.values{position:relative;padding:9rem 0;overflow:hidden;background:var(--ivory)}
.values__img{position:absolute;inset:0 55% 0 0;background-size:cover;background-position:center;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}
.values__img::after{content:"";position:absolute;inset:0;background:rgba(5,43,64,.55)}
.values__in{position:relative;display:flex;justify-content:flex-start}
.values .carousel{width:min(640px,100%)}
.values__mark{position:absolute;right:0;top:-5rem;font-family:Georgia,serif;font-size:14rem;line-height:1;color:var(--gold);opacity:.25}
.values blockquote{margin:0;padding:1rem 0}
.values__k{display:block;font-family:var(--fh);font-size:3rem;color:var(--navy);margin-bottom:1rem}
.values__k::after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin-top:.8rem}
.values blockquote p{font-size:1.35rem;line-height:2;color:var(--ink);font-weight:500}
.values__ind{display:flex;gap:.6rem;margin-top:2rem}
.values__ind button{border:1px solid var(--line);background:none;padding:.45rem 1.4rem;font-family:var(--fh);color:var(--navy);transition:.4s}
.values__ind button.active{background:var(--navy);color:var(--gold);border-color:var(--navy)}

/* steps */
.steps-s{padding:8rem 0}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.steps__line{position:absolute;top:36px;right:12%;left:12%;height:1px;background:var(--line)}
.steps__line i{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right}
.steps__i{text-align:center;position:relative}
.steps__n{width:72px;height:72px;margin:0 auto 1.4rem;border-radius:var(--arch);background:var(--paper);border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--fh);font-size:1.6rem;color:var(--navy);position:relative;z-index:1;transition:background .5s,color .5s}
.steps__i.is-on .steps__n{background:var(--navy);color:var(--gold)}
.steps__i h3{font-size:1.3rem;color:var(--navy);margin-bottom:.5rem}
.steps__i p{color:var(--muted);font-size:.97rem}

/* posts */
.posts-s{padding:2rem 0 8rem}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:transform .6s var(--ease),box-shadow .6s}
.post figure{margin:0;position:relative;aspect-ratio:16/11;overflow:hidden}
.post figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.post__tag{position:absolute;top:1rem;right:1rem;background:var(--navy);color:var(--gold-2);font-size:.82rem;padding:.25rem .8rem;font-weight:700}
.post__b{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;flex:1}
.post time{color:var(--gold-d);font-size:.88rem;font-weight:700}
.post h3{font-size:1.3rem;color:var(--navy);margin:.4rem 0 .7rem}
.post p{color:var(--muted);font-size:.96rem;flex:1}
.post:hover{transform:translateY(-8px);box-shadow:0 30px 60px -25px rgba(5,43,64,.3)}
.post:hover figure img{transform:scale(1.08)}

/* contact */
.contact{position:relative;padding:8rem 0;background:var(--ivory);overflow:hidden}
.contact__bgword{position:absolute;top:2rem;left:50%;translate:-50% 0;font-family:var(--fh);font-size:clamp(8rem,22vw,20rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(5,43,64,.06);pointer-events:none;white-space:nowrap}
.contact .container{position:relative}
.contact__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:0;box-shadow:0 50px 100px -40px rgba(5,43,64,.35)}
.cform{background:#fff;padding:3.2rem;position:relative}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.fld{position:relative;display:block;margin-bottom:1.6rem}
.fld input,.fld select,.fld textarea{width:100%;border:0;border-bottom:1px solid rgba(5,43,64,.2);background:transparent;padding:1.35rem 0 .55rem;font:inherit;color:var(--navy);outline:0;border-radius:0;transition:border-color .4s;appearance:none}
.fld textarea{resize:vertical;min-height:110px}
.fld>span{position:absolute;right:0;top:1.3rem;color:var(--muted);pointer-events:none;transition:.35s var(--ease);font-size:1rem}
.fld::after{content:"";position:absolute;right:0;left:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.fld:focus-within::after{transform:scaleX(1)}
.fld input:focus+span,.fld input:not(:placeholder-shown)+span,.fld textarea:focus+span,.fld textarea:not(:placeholder-shown)+span,.fld select:focus+span,.fld select:valid+span{top:0;font-size:.8rem;color:var(--gold-d);font-weight:700}
.fld--select select{cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a57f31' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") left center/18px no-repeat}
.fld.is-err::after{transform:scaleX(1);background:#c0392b}
.cform__type{display:flex;gap:.6rem;flex-wrap:wrap;margin:-.2rem 0 1.6rem}
.cform__type input{position:absolute;opacity:0}
.cform__type span{display:inline-block;padding:.45rem 1.1rem;border:1px solid var(--line);cursor:pointer;font-weight:600;font-size:.93rem;transition:.35s}
.cform__type input:checked+span{background:var(--navy);color:var(--gold-2);border-color:var(--navy)}
.cform__type input:focus-visible+span{outline:2px solid var(--gold)}
.cform__foot{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.cform__foot small{color:var(--muted);flex:1;min-width:200px}
.cform__ok{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:2rem}
.cform__ok[hidden]{display:none}
.cform__ok svg{font-size:3.5rem;color:var(--gold);border:1px solid var(--gold);border-radius:50%;padding:.6rem}
.cform__ok b{font-family:var(--fh);font-size:1.6rem;color:var(--navy)}
.cinfo{background:var(--navy);color:#fff;padding:3.2rem 2.8rem;position:relative;overflow:hidden}
.cinfo::before{content:"";position:absolute;width:420px;height:560px;left:-180px;bottom:-260px;border:1px solid rgba(205,162,75,.18);border-radius:var(--arch)}
.cinfo__arch{width:86px;height:110px;border-radius:var(--arch);border:1px solid rgba(205,162,75,.5);display:grid;place-items:center;padding:12px;margin-bottom:1.2rem}
.cinfo h3{font-size:1.8rem;color:var(--gold-2)}
.cinfo__sub{opacity:.7;margin-bottom:1.8rem}
.cinfo ul{list-style:none;padding:0;margin:0 0 2rem;position:relative}
.cinfo li>*{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.cinfo li i{flex:none;width:44px;height:44px;border:1px solid rgba(205,162,75,.4);display:grid;place-items:center;font-size:1.2rem;color:var(--gold);transition:.4s}
.cinfo li a:hover i{background:var(--gold);color:var(--navy)}
.cinfo li small{display:block;opacity:.6;font-size:.82rem}
.cinfo li b{font-weight:600;font-size:.98rem;line-height:1.7;word-break:break-word}
.cinfo__wa{display:flex;align-items:center;gap:.8rem;background:#1f9d55;padding:.95rem 1.2rem;font-weight:700;position:relative;transition:background .4s}
.cinfo__wa svg:first-child{font-size:1.5rem}
.cinfo__wa span{flex:1}
.cinfo__wa:hover{background:#178a48;color:#fff}

/* footer */
.ftr{background:var(--navy-3);color:rgba(255,255,255,.75);position:relative}
.ftr__cta{border-bottom:1px solid rgba(205,162,75,.15);padding:4rem 0}
.ftr__cta-in{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.ftr__cta-t{font-size:clamp(1.7rem,3.2vw,2.6rem);color:#fff}
.ftr__cta .eyebrow{color:var(--gold)}
.ftr__cta-btns{display:flex;gap:1rem;flex-wrap:wrap}
.ftr__grid{display:grid;grid-template-columns:1.4fr .8fr 1.1fr 1.2fr;gap:3rem;padding:4.5rem 0 3rem}
.ftr__brand img{width:100px;margin-bottom:1.2rem}
.ftr__brand p{font-size:.95rem;max-width:340px}
.ftr h4{font-size:1.15rem;color:var(--gold-2);margin-bottom:1.3rem}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin-bottom:.55rem}
.ftr li a{transition:color .3s,padding .4s var(--ease)}
.ftr li a:hover{color:var(--gold-2);padding-right:.4rem}
.ftr__contact>*{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.9rem;font-size:.95rem}
.ftr__contact svg{color:var(--gold);font-size:1.15rem;margin-top:.35rem}
.ftr__contact a:hover{color:var(--gold-2)}
.ftr__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 0;font-size:.88rem;opacity:.7}
.social{display:flex;gap:.5rem;flex-wrap:wrap}
.social a{width:40px;height:40px;border:1px solid rgba(205,162,75,.35);display:grid;place-items:center;color:var(--gold-2);font-size:1.1rem;transition:.4s}
.social a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}

.wa-float{position:fixed;left:1.4rem;bottom:1.4rem;z-index:80;display:flex;align-items:center;gap:.6rem;background:#25d366;color:#fff;border-radius:40px;padding:.7rem;box-shadow:0 12px 30px -6px rgba(37,211,102,.55);transition:padding .5s var(--ease)}
.wa-float svg{font-size:1.9rem}
.wa-float span{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;transition:max-width .5s var(--ease)}
.wa-float:hover{padding-left:1.3rem;color:#fff}.wa-float:hover span{max-width:120px}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25d366;animation:pulse 2.2s infinite}
@keyframes pulse{to{transform:scale(1.4);opacity:0}}
.totop{position:fixed;right:1.4rem;bottom:1.4rem;z-index:80;width:50px;height:50px;border:0;background:var(--navy);color:var(--gold);display:grid;place-items:center;opacity:0;transform:translateY(20px);transition:.5s var(--ease);border-radius:50%}
.totop.is-on{opacity:1;transform:none}
.totop svg:first-child{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop circle{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:113;stroke-dashoffset:113}
.totop .arr{transform:rotate(90deg);font-size:1.2rem}

/* page hero */
.phero{position:relative;padding:12rem 0 6rem;background:var(--navy);color:#fff;overflow:hidden;min-height:520px;display:flex;align-items:flex-end}
.phero__bg{position:absolute;inset:-10% 0;background-size:cover;background-position:center;opacity:.32;filter:grayscale(.3)}
.phero::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--navy) 0%,rgba(5,43,64,.55) 60%,rgba(5,43,64,.85) 100%);z-index:1}
.phero__arch{position:absolute;left:8%;bottom:0;width:340px;height:440px;border:1px solid rgba(205,162,75,.35);border-bottom:0;border-radius:var(--arch);z-index:1}
.phero__arch::after{content:"";position:absolute;inset:22px 22px 0;border:1px solid rgba(205,162,75,.15);border-bottom:0;border-radius:var(--arch)}
.phero__in{position:relative;z-index:2}
.phero__t{font-size:clamp(2.3rem,5vw,4rem);color:#fff;margin-bottom:1rem;max-width:860px}
.phero__lead{max-width:620px;opacity:.82;font-size:1.12rem;margin:0}
.phero .eyebrow{color:var(--gold-2)}
.phero__line{position:absolute;bottom:0;right:0;left:0;height:3px;background:var(--gold);transform-origin:right;z-index:2}
.crumbs{display:flex;align-items:center;gap:.6rem;font-size:.92rem;margin-bottom:1.6rem;flex-wrap:wrap;opacity:.85}
.crumbs i{width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.crumbs a:hover{color:var(--gold-2)}
.crumbs span{color:var(--gold-2)}
.phero--post{min-height:560px}
.phero--post .post__tag{position:static;display:inline-block;margin-bottom:1rem}
.phero__meta{display:flex;gap:1.6rem;flex-wrap:wrap;opacity:.75;margin:0}

/* about page */
.founder{padding:7rem 0;background:var(--ivory)}
.founder__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center}
.founder__card{background:var(--navy);padding:3.5rem 2.5rem 2.5rem;text-align:center;position:relative;border-radius:var(--arch)}
.founder__card::before{content:"";position:absolute;inset:14px;border:1px solid rgba(205,162,75,.35);border-radius:var(--arch);pointer-events:none}
.founder__arch img{width:62%;margin:0 auto 2rem}
.founder__name b{display:block;font-family:var(--fh);color:var(--gold-2);font-size:1.35rem}
.founder__name small{color:rgba(255,255,255,.6);font-size:.88rem}
.founder blockquote{font-family:var(--fh);font-size:1.45rem;line-height:1.9;color:var(--navy);border-right:3px solid var(--gold);padding-right:1.5rem;margin:0 0 1.6rem}
.ticks--2{grid-template-columns:1fr 1fr}
.mv{padding:7rem 0}
.mv__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.mv__i{padding:3rem 2.4rem;position:relative;border-inline-start:1px solid var(--line);transition:background .6s,color .6s;overflow:hidden}
.mv__i:first-child{border:0}
.mv__i:hover{background:var(--navy);color:#fff}
.mv__i:hover h3{color:var(--gold-2)}
.mv__n{font-family:var(--fh);font-size:4rem;color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1;display:block;margin-bottom:1rem}
.mv__i h3{font-size:1.6rem;color:var(--navy);margin-bottom:.8rem;transition:color .5s}
.tl-s{padding:2rem 0 8rem}
.tl{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.tl__line{position:absolute;top:11px;right:0;left:0;height:1px;background:var(--line)}
.tl__line i{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right}
.tl__i{padding-top:3rem;position:relative}
.tl__i::before{content:"";position:absolute;top:4px;right:0;width:15px;height:15px;border:1px solid var(--gold);background:var(--paper);transform:rotate(45deg)}
.tl__y{font-family:var(--fh);font-size:1.9rem;color:var(--gold-d)}
.tl__i h3{font-size:1.25rem;color:var(--navy);margin:.3rem 0 .5rem}
.tl__i p{color:var(--muted);font-size:.96rem}

/* services page */
.snav{position:sticky;top:64px;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.snav__in{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding:.8rem 0}
.snav__in a{white-space:nowrap;padding:.45rem 1rem;font-weight:600;font-size:.92rem;border:1px solid var(--line);transition:.35s}
.snav__in a span{color:var(--gold-d);margin-left:.4rem;font-family:var(--fh)}
.snav__in a:hover{background:var(--navy);color:#fff}
.srows{padding:6rem 0 4rem}
.srow{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:7rem}
.srow--rev .srow__media{order:2}
.srow__media{aspect-ratio:5/5.4;display:block;position:relative}
.srow__media img{width:100%;height:118%;object-fit:cover}
.srow__media::after{content:"";position:absolute;inset:16px;border:1px solid rgba(225,192,124,.7);border-radius:var(--arch)}
.srow__txt{position:relative}
.srow__n{position:absolute;top:-3.5rem;left:0;font-family:var(--fh);font-size:8rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(205,162,75,.4)}
.srow__ic{width:64px;height:64px;display:grid;place-items:center;font-size:1.9rem;background:var(--navy);color:var(--gold);border-radius:var(--arch);margin-bottom:1.4rem}
.srow h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--navy);margin-bottom:1rem}
.srow h2 a:hover{color:var(--gold-d)}
.srow p{color:var(--muted);font-size:1.07rem}
.srow ul{list-style:none;padding:0;margin:1.2rem 0 1.6rem}
.srow li{display:flex;gap:.6rem;align-items:center;padding:.5rem 0;border-bottom:1px dashed var(--line);font-weight:600;color:var(--navy)}
.srow li svg{color:var(--gold)}

/* service detail */
.sdet{padding:6rem 0 7rem}
.sdet__grid{display:grid;grid-template-columns:1fr 360px;gap:4rem;align-items:start}
.sdet__fig{margin:0 0 -3rem;aspect-ratio:16/9;border-radius:300px 300px 0 0;position:relative}
.sdet__fig img{width:100%;height:120%;object-fit:cover}
.sdet__ic{position:relative;width:96px;height:96px;margin:0 2.5rem 2rem 0;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-size:2.6rem;border-radius:var(--arch);border:6px solid var(--paper);z-index:2}
.sdet__main>p{color:var(--muted)}
.sdet__main .lead-p{color:var(--navy)}
.feats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.feat{padding:1.5rem;border:1px solid var(--line);background:#fff;display:flex;gap:1rem;align-items:flex-start;transition:.5s var(--ease)}
.feat:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(5,43,64,.3)}
.feat__n{font-family:var(--fh);color:var(--gold-d);font-size:1.4rem;line-height:1.3}
.feat p{margin:0;font-weight:600;color:var(--navy)}
.sdet__quote{margin:3rem 0 0;padding:2.4rem 2.6rem;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.sdet__quote::before{content:"”";position:absolute;left:1.5rem;top:-2.5rem;font-family:Georgia,serif;font-size:11rem;color:var(--gold);opacity:.3}
.sdet__quote p{font-family:var(--fh);font-size:1.4rem;margin:0;position:relative}
.acc{border-top:1px solid var(--line)}
.acc__i{border-bottom:1px solid var(--line)}
.acc__b{width:100%;text-align:right;background:none;border:0;padding:1.3rem 0;font:inherit;font-family:var(--fh);font-size:1.15rem;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.acc__b i{width:30px;height:30px;border:1px solid var(--gold);position:relative;flex:none;transition:.4s}
.acc__b i::before,.acc__b i::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:1px;background:var(--gold-d);translate:-50% -50%;transition:.4s}
.acc__b i::after{rotate:90deg}
.acc__b[aria-expanded=true] i{background:var(--navy);border-color:var(--navy)}
.acc__b[aria-expanded=true] i::after{rotate:0deg}
.acc__b[aria-expanded=true] i::before,.acc__b[aria-expanded=true] i::after{background:var(--gold)}
.acc__i p{color:var(--muted);padding-bottom:1.3rem;margin:0}
.sdet__pn{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
.sdet__pn a{padding:1.4rem;border:1px solid var(--line);transition:.4s}
.sdet__pn a:last-child{text-align:left}
.sdet__pn small{display:block;color:var(--gold-d);font-weight:700}
.sdet__pn b{font-family:var(--fh);color:var(--navy);font-weight:600}
.sdet__pn a:hover{background:var(--navy)}.sdet__pn a:hover b{color:#fff}
.sdet__side{position:sticky;top:100px;display:flex;flex-direction:column;gap:1.5rem}
.side-box{background:#fff;border:1px solid var(--line);padding:1.8rem}
.side-box h3{font-size:1.25rem;color:var(--navy);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:2px solid var(--gold);display:inline-block}
.side-list{list-style:none;padding:0;margin:0}
.side-list a{display:flex;align-items:center;gap:.7rem;padding:.65rem .6rem;font-weight:600;font-size:.94rem;border-bottom:1px solid var(--line);transition:.35s}
.side-list a>span{color:var(--gold-d);font-size:1.2rem;display:grid}
.side-list a .arr{margin-inline-start:auto;opacity:0;transition:.35s;color:var(--gold)}
.side-list a:hover,.side-list a.is-active{background:var(--navy);color:#fff}
.side-list a:hover .arr,.side-list a.is-active .arr{opacity:1}
.side-cta{background:var(--navy);color:#fff;padding:2.4rem 2rem;text-align:center;border-radius:200px 200px 0 0;position:relative}
.side-cta::before{content:"";position:absolute;inset:10px;border:1px solid rgba(205,162,75,.3);border-radius:200px 200px 0 0;pointer-events:none}
.side-cta img{width:90px;margin:0 auto 1rem}
.side-cta h3{color:var(--gold-2);font-size:1.3rem;margin-bottom:.6rem}
.side-cta p{opacity:.75;font-size:.95rem}
.side-cta__tel{display:block;margin-top:1rem;font-family:var(--fh);font-size:1.3rem;color:var(--gold-2)}
.side-cta .btn-gold{position:relative}

/* blog */
.blog-s{padding:6rem 0 8rem}
.featured{display:grid;grid-template-columns:1.2fr 1fr;background:var(--navy);color:#fff;margin-bottom:3.5rem;overflow:hidden}
.featured figure{margin:0;overflow:hidden;min-height:400px}
.featured img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.featured:hover img{transform:scale(1.06)}
.featured__b{padding:3.5rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.featured .post__tag{position:static;background:var(--gold);color:var(--navy);margin-bottom:1rem}
.featured time{color:var(--gold-2);font-size:.9rem}
.featured h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:.5rem 0 1rem}
.featured p{opacity:.75}
.featured .link-more{color:var(--gold-2)}
.cats{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.6rem}
.cats button{border:1px solid var(--line);background:none;padding:.45rem 1.2rem;font-weight:600;transition:.35s}
.cats button.is-on,.cats button:hover{background:var(--navy);color:var(--gold-2);border-color:var(--navy)}
.readbar{position:fixed;top:0;right:0;left:0;height:3px;z-index:120}
.readbar span{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:right}
.article-s{padding:5rem 0 7rem}
.article__grid{display:grid;grid-template-columns:1fr 340px;gap:4rem;align-items:start}
.article{font-size:1.08rem}
.article h2{font-size:1.7rem;color:var(--navy);margin:2.4rem 0 1rem}
.article ul{padding-right:1.2rem}
.article li{margin-bottom:.5rem}
.article li::marker{color:var(--gold)}
.article blockquote{margin:2rem 0;padding:1.6rem 2rem;border-right:3px solid var(--gold);background:var(--ivory);font-family:var(--fh);font-size:1.3rem;color:var(--navy)}
.article__note{margin-top:2.5rem;padding:1.2rem 1.4rem;border:1px dashed var(--gold);font-size:.94rem;color:var(--muted)}
.article__share{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-weight:700;color:var(--navy)}
.article__share .social a{color:var(--navy)}
.side-posts{list-style:none;padding:0;margin:0}
.side-posts a{display:flex;gap:.9rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}
.side-posts img{width:76px;height:64px;object-fit:cover;flex:none}
.side-posts b{display:block;font-size:.95rem;line-height:1.6;color:var(--navy);transition:color .3s}
.side-posts small{color:var(--gold-d)}
.side-posts a:hover b{color:var(--gold-d)}

/* contact page */
.quick{margin-top:-4rem;position:relative;z-index:5}
.quick__grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:0 30px 70px -30px rgba(5,43,64,.35)}
.quick__i{padding:2.2rem 1.6rem;text-align:center;border-inline-start:1px solid var(--line);transition:background .5s,color .5s;display:flex;flex-direction:column;align-items:center}
.quick__i:first-child{border:0}
.quick__i i{width:58px;height:58px;border-radius:var(--arch);background:var(--ivory);color:var(--gold-d);display:grid;place-items:center;font-size:1.5rem;margin-bottom:1rem;transition:.5s}
.quick__i small{color:var(--muted)}
.quick__i b{color:var(--navy);font-size:1rem;word-break:break-word}
a.quick__i:hover{background:var(--navy)}
a.quick__i:hover b{color:#fff}
a.quick__i:hover i{background:var(--gold);color:var(--navy)}
.page-contact .contact{margin-top:5rem}
.map-s{position:relative}
.map-s__frame{height:460px;filter:grayscale(1) contrast(.95)}
.map-s__frame iframe{width:100%;height:100%;border:0}
.map-card{position:absolute;bottom:3rem;background:var(--navy);color:#fff;padding:2rem;max-width:440px;display:flex;gap:1rem}
.map-card i{font-size:1.7rem;color:var(--gold)}
.map-card b{font-family:var(--fh);color:var(--gold-2);font-size:1.25rem}
.map-card p{opacity:.8;font-size:.95rem}
.map-card .link-more{color:var(--gold-2)}

/* responsive */
@media (max-width:1199px){
  .hdr__phone{display:none}
  .hdr__nav a{padding:.4rem .6rem}
}
@media (max-width:991px){
  .hdr__nav,.hdr__cta .btn-gold{display:none}
  .burger{display:block}
  .hdr__cta{margin-inline-start:auto}
  .hero__emblem{display:none}
  .about__grid,.slist,.why__grid,.founder__grid,.srow,.sdet__grid,.article__grid,.contact__grid,.featured{grid-template-columns:1fr}
  .about__grid{gap:3rem}
  .about__media{height:520px;max-width:560px}
  .slist__media{position:relative;top:0;max-width:420px}
  .slist__frame{aspect-ratio:16/12}
  .why__pin{position:static}
  .stats__grid{grid-template-columns:1fr 1fr;row-gap:2rem}
  .stat:nth-child(3){border:0}
  .steps,.tl{grid-template-columns:1fr 1fr;row-gap:3rem}
  .steps__line,.tl__line{display:none}
  .posts{grid-template-columns:1fr 1fr}
  .values__img{inset:0 0 62% 0;clip-path:none}
  .values{padding-top:calc(38vw + 4rem)}
  .mv__grid{grid-template-columns:1fr}
  .mv__i{border-inline-start:0;border-top:1px solid var(--line)}
  .ftr__grid{grid-template-columns:1fr 1fr}
  .srow--rev .srow__media{order:0}
  .srow{gap:2.5rem;margin-bottom:5rem}
  .srow__media{aspect-ratio:16/11}
  .sdet__side{position:static}
  .quick__grid{grid-template-columns:1fr 1fr}
  .quick__i:nth-child(3){border-inline-start:0}
  .sec-head--row{flex-direction:column;align-items:flex-start}
  .phero__arch{width:220px;height:300px;left:-40px}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .container{padding-inline:16px}
  .hdr__name small{display:none}
  .hdr__logo img{width:46px;height:46px}
  .hero{min-height:600px}
  .hero__t{font-size:2.15rem}
  .hero__lead{font-size:1rem}
  .hero__ind{gap:.8rem}.hero__ind [data-bs-target] span{width:22px}
  .hero__arrows button{width:42px;height:42px}
  .hero__scroll{display:none}
  .about,.services-h,.why,.steps-s,.contact,.values{padding-top:5rem;padding-bottom:5rem}
  .values{padding-top:calc(38vw + 3rem)}
  .about__media{height:400px}
  .about__badge{width:112px;height:112px}.about__badge b{font-size:1.8rem}
  .ticks,.ticks--2,.cform__row,.feats,.posts,.ftr__grid,.steps,.tl,.sdet__pn,.quick__grid{grid-template-columns:1fr}
  .quick__i{border-inline-start:0;border-top:1px solid var(--line)}
  .stats__grid{grid-template-columns:1fr 1fr}
  .stat{border:0}
  .slist__item{grid-template-columns:auto 1fr auto;gap:.8rem}
  .slist__n{display:none}
  .slist__ic{width:42px;height:42px;font-size:1.2rem}
  .slist__t b{font-size:1.08rem}
  .why__i{grid-template-columns:60px 1fr}
  .why__i span{font-size:2.3rem}
  .cform,.cinfo{padding:2.2rem 1.4rem}
  .phero{padding:9rem 0 4rem;min-height:420px}
  .srow__n{font-size:5rem;top:-2rem}
  .featured__b{padding:2rem}
  .featured figure{min-height:240px}
  .map-card{position:relative;bottom:0;margin-top:-2rem;max-width:none}
  .values__k{font-size:2.2rem}.values blockquote p{font-size:1.1rem}
  .ftr__cta-btns{width:100%}
  .wa-float{left:1rem;bottom:1rem}
  .totop{right:1rem;bottom:1rem}
  .sdet__ic{margin-right:1.5rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* home service cards */
.scards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.scard{position:relative;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .6s var(--ease),box-shadow .6s;overflow:hidden}
.scard__img{margin:0;position:relative;aspect-ratio:16/10.5;overflow:hidden;border-radius:0 0 0 0}
.scard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s}
.scard__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,43,64,.75),rgba(5,43,64,0) 60%)}
.scard__n{position:absolute;top:1rem;left:1.2rem;z-index:1;font-family:var(--fh);font-size:2.2rem;line-height:1;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.scard__ic{position:absolute;right:1.6rem;top:0;margin-top:calc(100% * 10.5 / 16 - 38px);z-index:2;width:62px;height:76px;border-radius:var(--arch);background:var(--gold);color:var(--navy);display:grid;place-items:center;font-size:1.7rem;border:5px solid #fff;transition:background .5s,color .5s}
.scard__b{padding:2.6rem 1.7rem 1.8rem;flex:1;display:flex;flex-direction:column;position:relative}
.scard__b::before{content:"";position:absolute;inset:0;background:var(--navy);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease);z-index:0}
.scard__b>*{position:relative;z-index:1}
.scard h3{font-size:1.3rem;color:var(--navy);margin-bottom:.6rem;transition:color .5s}
.scard p{color:var(--muted);font-size:.95rem;flex:1;transition:color .5s}
.scard:hover{transform:translateY(-8px);box-shadow:0 30px 60px -25px rgba(5,43,64,.35)}
.scard:hover .scard__img img{transform:scale(1.08)}
.scard:hover .scard__b::before{transform:scaleY(1)}
.scard:hover h3{color:var(--gold-2)}
.scard:hover p{color:rgba(255,255,255,.75)}
.scard:hover .link-more{color:var(--gold-2)}
.scard:hover .scard__ic{background:var(--navy);color:var(--gold)}
.scard--all{background:var(--navy);color:#fff;align-items:center;justify-content:center;text-align:center;padding:2.5rem 2rem;border-radius:300px 300px 0 0}
.scard--all::before{content:"";position:absolute;inset:14px;border:1px solid rgba(205,162,75,.35);border-radius:inherit;pointer-events:none}
.scard--all img{width:110px;margin-bottom:1.2rem}
.scard--all h3{color:var(--gold-2);font-size:1.5rem}
.scard--all p{color:rgba(255,255,255,.7);flex:0;margin-bottom:1.4rem}
@media (max-width:991px){.scards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.scards{grid-template-columns:1fr}}

/* contact: info first, formal form */
.contact__grid{grid-template-columns:1fr 1.4fr}
.cform{padding:3rem 3rem 2.6rem;border-top:4px solid var(--gold)}
.cform__head{border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1.8rem}
.cform__head h3{font-size:1.45rem;color:var(--navy);margin-bottom:.3rem}
.cform__head p{color:var(--muted);font-size:.93rem;margin:0}
.cform__row{gap:1.2rem}
.fld{display:flex;flex-direction:column-reverse;margin-bottom:1.3rem}
.fld::after{display:none}
.fld>span,.fld input:focus+span,.fld input:not(:placeholder-shown)+span,.fld textarea:focus+span,.fld textarea:not(:placeholder-shown)+span,.fld select:focus+span,.fld select:valid+span{position:static;font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.45rem}
.fld input,.fld select,.fld textarea{border:1px solid rgba(5,43,64,.18);background:#fbfaf7;padding:.8rem 1rem;border-radius:2px;transition:border-color .3s,box-shadow .3s,background .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(205,162,75,.15)}
.fld--select select{background-position:left 1rem center;padding-left:2.6rem}
.fld.is-err input,.fld.is-err select,.fld.is-err textarea{border-color:#c0392b}
.cform__type{gap:0;border:1px solid rgba(5,43,64,.18);display:inline-flex;margin:0 0 1.4rem}
.cform__type span{border:0;border-inline-start:1px solid rgba(5,43,64,.18);padding:.6rem 1.3rem}
.cform__type label:first-child span{border:0}
.cform__foot{border-top:1px solid var(--line);padding-top:1.4rem}
.cinfo__sub{margin-bottom:1.2rem}

/* values: own image per slide */
.values{padding:7rem 0}
.values__in{display:block}
.values .carousel{width:100%}
.values__mark{right:auto;left:0;top:-4rem}
.values__row{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.values__pic{margin:0;position:relative;aspect-ratio:5/4;border-radius:var(--arch);overflow:hidden}
.values__pic img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 6s linear}
.carousel-item.active .values__pic img{transform:scale(1)}
.values__pic::after{content:"";position:absolute;inset:16px;border:1px solid rgba(225,192,124,.75);border-radius:var(--arch)}
.values__no{position:absolute;bottom:1.4rem;left:50%;translate:-50% 0;z-index:1;width:64px;height:64px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-family:var(--fh);font-size:1.3rem}
.values__ind{margin-top:2.2rem}
@media (max-width:991px){.contact__grid,.values__row{grid-template-columns:1fr}.values{padding-top:5rem}.values__row{gap:2rem}.values__pic{max-width:520px}}
@media (max-width:640px){.cform__type{display:flex}.cform__type span{padding:.55rem .8rem;font-size:.85rem}.values{padding-top:4rem}}

/* floating call + whatsapp (right, stacked, pulsing) */
.wa-float{display:none}
.fabs{position:fixed;right:1.4rem;bottom:1.4rem;z-index:80;display:flex;flex-direction:column;gap:1rem;align-items:flex-end}
.fab{position:relative;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.6rem}
.fab--wa{background:#25d366;box-shadow:0 10px 26px -6px rgba(37,211,102,.6)}
.fab--tel{background:var(--navy);color:var(--gold);border:1px solid var(--gold);box-shadow:0 10px 26px -6px rgba(5,43,64,.6);font-size:1.4rem}
.fab::before,.fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid currentColor;animation:fabp 2s ease-out infinite;pointer-events:none}
.fab--wa::before,.fab--wa::after{border-color:#25d366}
.fab--tel::before,.fab--tel::after{border-color:var(--gold)}
.fab::after{animation-delay:1s}
.fab--tel::before,.fab--tel::after{animation-delay:.5s}.fab--tel::after{animation-delay:1.5s}
@keyframes fabp{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.75);opacity:0}}
.fab span{position:absolute;right:calc(100% + .7rem);background:var(--navy);color:#fff;font-size:.85rem;font-weight:700;padding:.3rem .8rem;white-space:nowrap;opacity:0;transform:translateX(8px);transition:.35s var(--ease);pointer-events:none}
.fab:hover span{opacity:1;transform:none}
.fab:hover{color:#fff}.fab--tel:hover{color:var(--gold)}
.fab svg{animation:fabr 2.5s ease-in-out infinite}
@keyframes fabr{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(-14deg)}80%{transform:rotate(12deg)}85%{transform:rotate(-8deg)}90%{transform:rotate(5deg)}}
.totop{right:auto;left:1.4rem}
@media (max-width:640px){.fabs{right:1rem;bottom:1rem}.fab{width:50px;height:50px}.totop{left:1rem}}
.why{overflow:clip}.why__pin{position:sticky;top:120px}@media (max-width:991px){.why__pin{position:static}}

/* about: value panels (expanding arches) */
.vpanels{padding:7rem 0;background:var(--navy);position:relative;overflow:hidden}
.vpanels::before{content:"";position:absolute;inset:auto -10% -40% auto;width:700px;height:900px;border:1px solid rgba(205,162,75,.1);border-radius:var(--arch)}
.vpanels .sec-t{color:#fff}.vpanels .eyebrow{color:var(--gold)}
.vp{display:flex;gap:1.2rem;height:580px}
.vp__i{position:relative;flex:1;min-width:0;border-radius:var(--arch);overflow:hidden;cursor:pointer;transition:flex 1s var(--ease);outline:0}
.vp__i.is-on{flex:3.2;cursor:default}
.vp__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.15);filter:grayscale(.7);transition:transform 1.4s var(--ease),filter 1s}
.vp__i.is-on img{transform:scale(1);filter:none}
.vp__i::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(2,27,41,.95) 0%,rgba(5,43,64,.55) 55%,rgba(5,43,64,.35) 100%);transition:background 1s}
.vp__i::after{content:"";position:absolute;inset:14px;z-index:2;border:1px solid rgba(225,192,124,.55);border-radius:var(--arch);pointer-events:none}
.vp__no{position:absolute;top:22%;left:50%;translate:-50% 0;z-index:3;font-family:var(--fh);font-size:3rem;color:transparent;-webkit-text-stroke:1px var(--gold);transition:opacity .5s}
.vp__v{position:absolute;bottom:3rem;left:50%;translate:-50% 0;z-index:3;writing-mode:vertical-rl;font-size:2rem;color:#fff;white-space:nowrap;transition:opacity .4s}
.vp__b{position:absolute;right:0;left:0;bottom:0;z-index:3;padding:3rem 3rem 3.2rem;color:#fff;opacity:0;transform:translateY(30px);transition:opacity .4s,transform .6s var(--ease)}
.vp__b h3{font-size:2.8rem;color:var(--gold-2);margin-bottom:.8rem;display:flex;align-items:center;gap:1rem}
.vp__b h3::after{content:"";flex:0 0 70px;height:1px;background:var(--gold)}
.vp__b p{font-size:1.15rem;line-height:2;max-width:520px;opacity:.9;margin:0}
.vp__i.is-on .vp__b{opacity:1;transform:none;transition-delay:.45s}
.vp__i.is-on .vp__v{opacity:0}
.vp__i.is-on .vp__no{top:12%}
.vp__i:not(.is-on):hover img{filter:grayscale(0);transform:scale(1.08)}
@media (max-width:991px){
  .vp{flex-direction:column;height:auto}
  .vp__i,.vp__i.is-on{flex:none;height:420px}
  .vp__v{display:none}.vp__b{opacity:1;transform:none;padding:2rem}
  .vp__b h3{font-size:2rem}.vp__i img{filter:none;transform:none}
}
/* perf */
.hdr.is-solid{backdrop-filter:none;background:rgba(5,43,64,.98)}
.contact__bgword{-webkit-text-stroke:0;color:rgba(5,43,64,.035)}
.contact__grid{box-shadow:0 30px 60px -30px rgba(5,43,64,.3)}
.ring{will-change:transform}
.vp__v{writing-mode:horizontal-tb;translate:none;left:50%;bottom:7rem;transform:translateX(-50%) rotate(-90deg);transform-origin:center}
.loader__door--r,.loader__door--l{border:0;background:var(--navy-3)}.loader__door{width:51%}

/* ===== contact v3 ===== */
.contact{background:var(--navy);color:#fff;isolation:isolate}
.contact::before{content:"";position:absolute;inset:0;background:url(../img/photos/courthouse.webp) center/cover;opacity:.09;filter:grayscale(1);z-index:-1}
.contact::after{content:"";position:absolute;right:-120px;top:-80px;width:520px;height:700px;border:1px solid rgba(205,162,75,.15);border-radius:var(--arch);z-index:-1}
.contact .sec-head .sec-t{color:#fff}
.contact .sec-head p{color:rgba(255,255,255,.7)}
.contact .sec-head .eyebrow{color:var(--gold)}
.contact__grid{grid-template-columns:.9fr 1.4fr;gap:3.5rem;box-shadow:none;align-items:start}
.cinfo{background:none;padding:0;overflow:visible}
.cinfo::before{display:none}
.cinfo__arch{width:76px;height:96px;margin-bottom:1rem}
.cinfo h3{font-size:2rem}
.cinfo ul{margin:0;display:grid;gap:.9rem}
.cinfo li>*{border:1px solid rgba(205,162,75,.18);background:rgba(255,255,255,.03);padding:1.1rem 1.2rem;transition:border-color .4s,background .4s,transform .5s var(--ease)}
.cinfo li a:hover{border-color:var(--gold);background:rgba(205,162,75,.08);transform:translateX(-6px)}
.cinfo li i{border-radius:var(--arch);width:46px;height:54px;background:rgba(205,162,75,.1)}
.cinfo li:first-child b{font-family:var(--fh);font-size:1.5rem;color:var(--gold-2)}
.cform{color:var(--ink);box-shadow:0 40px 90px -30px rgba(0,0,0,.55);border-radius:0}
.cform::before{content:"";position:absolute;top:-4px;left:0;width:120px;height:4px;background:var(--navy-2)}

/* request-type checkboxes */
.cform__checks{border:0;padding:0;margin:0 0 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.cform__checks legend{float:none;width:auto;font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.6rem;padding:0;grid-column:1/-1}
.cform__checks legend small{color:var(--muted);font-weight:500}
.ck{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid rgba(5,43,64,.15);background:#fbfaf7;cursor:pointer;transition:border-color .35s,background .35s,box-shadow .35s}
.ck input{position:absolute;opacity:0;pointer-events:none}
.ck__box{flex:none;width:22px;height:22px;border:1.5px solid rgba(5,43,64,.35);display:grid;place-items:center;background:#fff;color:#fff;transition:.3s;margin-top:.15rem}
.ck__box svg{font-size:15px;opacity:0;transform:scale(.4);transition:.3s var(--ease)}
.ck__t b{display:block;color:var(--navy);font-size:.95rem;line-height:1.5}
.ck__t small{color:var(--muted);font-size:.8rem;line-height:1.5}
.ck:hover{border-color:var(--gold)}
.ck:has(input:checked){border-color:var(--navy);background:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
.ck input:checked+.ck__box{background:var(--navy);border-color:var(--navy);color:var(--gold)}
.ck input:checked+.ck__box svg{opacity:1;transform:none}
.ck input:focus-visible+.ck__box{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:991px){.contact__grid{grid-template-columns:1fr}}
@media (max-width:640px){.cform__checks{grid-template-columns:1fr}}

/* services nav: not sticky, visible scrollbar */
.snav{position:relative;top:auto}
.snav__in{scrollbar-width:thin;scrollbar-color:var(--gold) rgba(5,43,64,.08);padding:1rem 0 .9rem;-webkit-mask-image:linear-gradient(270deg,#000 85%,transparent);mask-image:linear-gradient(270deg,#000 85%,transparent);padding-left:4rem}
.snav__in::-webkit-scrollbar{height:5px;display:block}
.snav__in::-webkit-scrollbar-track{background:rgba(5,43,64,.08)}
.snav__in::-webkit-scrollbar-thumb{background:var(--gold)}
.snav__in.is-end{-webkit-mask-image:none;mask-image:none}

/* services page: 2-per-row cards */
.srows .container{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem}
.srow,.srow--rev{grid-template-columns:1fr;gap:0;margin:0;background:#fff;border:1px solid var(--line);align-items:stretch;transition:transform .6s var(--ease),box-shadow .6s}
.srow:hover{transform:translateY(-8px);box-shadow:0 34px 70px -30px rgba(5,43,64,.35)}
.srow--rev .srow__media{order:0}
.srow__media{aspect-ratio:16/9;border-radius:0}
.srow__media img{height:100%;transition:transform 1.2s var(--ease)}
.srow:hover .srow__media img{transform:scale(1.07)}
.srow__media::after{display:none}
.srow__txt{padding:0 2.2rem 2.2rem;position:relative}
.srow__ic{margin:-38px 0 1.1rem;position:relative;z-index:2;width:66px;height:80px;border:5px solid #fff;font-size:1.8rem;transition:background .5s,color .5s}
.srow:hover .srow__ic{background:var(--gold);color:var(--navy)}
.srow__n{top:1.2rem;left:2rem;font-size:3.6rem;-webkit-text-stroke:1px rgba(205,162,75,.55)}
.srow h2{font-size:1.55rem;margin-bottom:.7rem}
.srow p{font-size:1rem}
.srow ul{margin:1rem 0 1.4rem}
.srows{padding:5rem 0 6rem}
@media (max-width:767px){.srows .container{grid-template-columns:1fr}.srow__txt{padding:0 1.4rem 1.6rem}}
.srow__media{overflow:hidden;clip-path:inset(0)}.srow__media img{height:116%;margin-top:-8%}
.srow{grid-template-columns:minmax(0,1fr)!important}.srow>*{min-width:0}.srow__media{width:100%}
.hdr__logo img{width:64px;height:64px}.hdr.is-solid .hdr__logo img{width:52px;height:52px}@media (max-width:640px){.hdr__logo img{width:52px;height:52px}}
.hero__emblem::before,.hero__emblem::after{display:none}

/* mobile menu contact */
.mnav{justify-content:flex-start;overflow-y:auto}
.mnav::before{content:"";position:absolute;left:-90px;bottom:-120px;width:300px;height:400px;border:1px solid rgba(205,162,75,.15);border-radius:var(--arch);pointer-events:none}
.mnav li a{font-size:1.6rem}
.mnav__foot{margin-top:2rem;gap:.8rem;color:#fff}
.mnav__c{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border:1px solid rgba(205,162,75,.25);background:rgba(255,255,255,.03)}
.mnav__c i{flex:none;width:42px;height:50px;border-radius:var(--arch);background:var(--gold);color:var(--navy);display:grid;place-items:center;font-size:1.2rem}
.mnav__c small{display:block;color:rgba(255,255,255,.55);font-size:.78rem;line-height:1.3}
.mnav__c b{color:var(--gold-2);font-size:1.05rem;word-break:break-all;line-height:1.5}
.mnav__c:first-child b{font-family:var(--fh);font-size:1.3rem}
.mnav__btn{justify-content:center;margin-top:.3rem}

@media (max-width:640px){
  /* steps 2 per row */
  .steps{grid-template-columns:1fr 1fr;gap:2rem 1rem}
  .steps__n{width:60px;height:60px;font-size:1.3rem;margin-bottom:1rem}
  .steps__i h3{font-size:1.08rem}.steps__i p{font-size:.88rem}
  /* contact tighter sides */
  .contact .container{padding-inline:12px}
  .cform{padding:1.8rem 1.1rem}
  .cform__head h3{font-size:1.25rem}
  .contact__grid{gap:2.2rem}
  /* compact footer */
  .ftr__grid{grid-template-columns:1fr 1fr;gap:1.8rem 1.2rem;padding:3rem 0 1.5rem}
  .ftr__brand,.ftr__contact{grid-column:1/-1}
  .ftr__brand{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
  .ftr__brand img{width:70px;margin:0}
  .ftr__brand p{flex:1 1 200px;margin:0;font-size:.9rem}
  .ftr__brand .social{width:100%}
  .ftr h4{margin-bottom:.8rem;font-size:1.05rem}
  .ftr li{margin-bottom:.35rem;font-size:.9rem}
  .ftr__contact{display:grid;gap:.2rem}
  .ftr__contact h4{margin-bottom:.4rem}
  .ftr__bottom{flex-direction:column;align-items:center;text-align:center;gap:.2rem;padding:1rem 0 5rem}
}
.ftr__grid,.ftr__bottom{padding-inline:16px!important}@media (max-width:640px){.ftr__grid{padding-block:2.6rem 1.2rem}.ftr__bottom{padding-block:1rem 5.5rem}}
