@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@300;400;500&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--ink:#171412;--ivory:#f5f0e7;--paper:#fbf8f1;--stone:#d7c7b2;--burg:#6d1728;--muted:#756e66;--line:rgba(23,20,18,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body.lock{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}.shell{width:min(1280px,calc(100% - 96px));margin:auto}.nav{position:fixed;z-index:20;inset:0 0 auto;color:white;padding:24px 0;transition:.35s}.nav.light,.nav.scrolled{background:rgba(251,248,241,.94);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav-inner{display:flex;align-items:center;justify-content:space-between}.logo{font:500 23px/1 'Cormorant Garamond',serif;letter-spacing:.3em;text-decoration:none;text-transform:uppercase}.logo i{color:var(--burg)}.logo-img-wrapper{display:inline-block;letter-spacing:normal!important;text-transform:none!important}.brand-logo-img{height:46px;width:auto;display:block;transition:transform .3s ease}.brand-logo-img:hover{transform:scale(1.02)}.footer-logo-img{height:36px;width:auto;display:block}.links{display:flex;gap:38px;align-items:center}.links a,.nav-cta{font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}.links a{opacity:.68}.links a:hover,.links a.active{opacity:1}.nav-cta{border:1px solid currentColor;padding:10px 18px}.menu{display:none;background:none;border:0;color:inherit;font-size:25px}.mobile{display:none;position:fixed;z-index:19;inset:0;background:var(--paper);padding:120px 38px}.mobile.open{display:grid;align-content:center;gap:18px}.mobile a{font:400 40px/1.1 'Cormorant Garamond',serif;text-decoration:none}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;color:white;background:#090807;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,5,5,.88) 0%,rgba(6,5,5,.48) 48%,rgba(6,5,5,.04) 100%)}.hero-copy{position:relative;z-index:2;width:min(720px,68vw);padding:180px 0 10vh}.eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--burg);font-weight:500}.hero .eyebrow{color:#d6b8bc}.display{font:400 clamp(58px,8.2vw,132px)/.82 'Cormorant Garamond',serif;letter-spacing:-.035em;margin:26px 0 34px}.display em,.heading em{font-weight:400;color:var(--burg)}.hero p{max-width:610px;color:rgba(255,255,255,.72);font-size:14px}.button{display:inline-flex;margin-top:28px;border:1px solid currentColor;padding:15px 25px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:.3s}.button:hover{background:var(--burg);border-color:var(--burg);color:white}
.page-hero{padding:190px 0 105px;background:var(--ivory)}.page-hero .display{font-size:clamp(64px,9vw,138px);margin-bottom:0}.page-hero p{max-width:630px;color:var(--muted)}.section{padding:130px 0}.section.alt{background:var(--ivory)}.section.dark{background:var(--paper);color:var(--ink)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.heading{font:400 clamp(44px,5.4vw,82px)/.95 'Cormorant Garamond',serif;letter-spacing:-.025em;margin:18px 0 32px}.copy{max-width:610px;color:var(--muted)}.dark .copy{color:var(--muted)}.copy p{margin:0 0 18px}.feature-img{width:100%;aspect-ratio:4/3;object-fit:cover}.quote{font:400 clamp(32px,4vw,60px)/1.1 'Cormorant Garamond',serif;max-width:970px}.rule{height:1px;background:var(--line);margin:50px 0}.cap-list{margin-top:55px;border-top:1px solid currentColor}.cap-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:30px;padding:30px 0;border-bottom:1px solid currentColor;text-decoration:none;align-items:start}.cap-row span:first-child{color:var(--burg);font-size:11px}.cap-row h3{font:400 clamp(29px,3vw,46px)/1 'Cormorant Garamond',serif;margin:0}.cap-row p{color:var(--muted);margin:0}.dark .cap-row{border-color:var(--line)}.dark .cap-row p{color:var(--muted)}
.team-intro{display:grid;grid-template-columns:1.1fr .75fr;gap:8vw;align-items:end;margin-bottom:58px}.team-intro .heading{margin-bottom:0}.text-link{display:inline-flex;gap:16px;align-items:center;margin-top:18px;padding-bottom:4px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}.people{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,30px)}.person{min-width:0}.person-image{position:relative;overflow:hidden;background:#ded5c8}.person-image::after{content:'';position:absolute;inset:0;border:1px solid rgba(23,20,18,.1);pointer-events:none}.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 24%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.person:hover img{transform:scale(1.025)}.person-meta{padding-top:20px;border-top:1px solid var(--line);margin-top:14px}.person h3{font:400 clamp(25px,2.2vw,34px)/1 'Cormorant Garamond',serif;margin:0 0 8px}.role{font-size:8px;line-height:1.55;letter-spacing:.17em;text-transform:uppercase;color:var(--burg)}.person p{font-size:12px;line-height:1.75;color:var(--muted);margin:15px 0 0}.people-home .person p{display:none}.people-home .person:nth-child(4) img{object-position:center center}.letter{width:min(780px,100%);margin:auto}.letter p{margin:0 0 23px;color:#4d4741}.signature{font:italic 42px 'Cormorant Garamond',serif;color:var(--burg)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:34px}.field.full{grid-column:1/-1}.field label{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #92887d;background:transparent;padding:12px 0;font:inherit;color:inherit;border-radius:0}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--burg)}.footer{padding:70px 0 28px;background:var(--ink);color:white}.footer-main{display:flex;justify-content:space-between;gap:50px}.footer p,.footer a{font-size:11px;color:rgba(255,255,255,.55)}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.fine{margin-top:55px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:10px;color:rgba(255,255,255,.36)}.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.on{opacity:1;transform:none}
@media(max-width:1000px){.people{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.shell{width:min(100% - 44px,1280px)}.links,.nav-cta{display:none}.menu{display:block}.hero-copy{width:100%;padding-bottom:12vh}.display{font-size:clamp(52px,15vw,84px)}.section{padding:90px 0}.page-hero{padding:150px 0 80px}.grid2{grid-template-columns:1fr;gap:48px}.cap-row{grid-template-columns:40px 1fr}.cap-row p{grid-column:2}.team-intro{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-main{display:block}.footer-links{margin-top:30px}.hero:after{background:linear-gradient(90deg,rgba(6,5,5,.84),rgba(6,5,5,.28))}}@media(max-width:560px){.people{grid-template-columns:1fr}.person img{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* Centered editorial navigation */
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:48px}
.nav-inner>.logo{grid-column:2;grid-row:1;white-space:nowrap}
.nav-left{grid-column:1;grid-row:1;justify-self:start}
.nav-right{grid-column:3;grid-row:1;justify-self:end}
.nav-left,.nav-right{gap:clamp(24px,2.6vw,44px)}
.nav-left a,.nav-right a{font-size:9px;letter-spacing:.19em;white-space:nowrap}
.nav-inner>.menu{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:980px){.nav-inner{gap:16px}.nav-left,.nav-right{display:none}.nav-inner>.menu{display:block}.nav-inner>.logo{font-size:20px;letter-spacing:.23em}}

/* Refined capabilities dropdown */
.links a{position:relative}
.links>a.active::after,.cap-trigger.active::after{content:'';position:absolute;left:0;right:.19em;bottom:-9px;height:1px;background:currentColor}
.cap-menu{position:relative;display:flex;align-items:center}
.cap-menu::after{content:'';position:absolute;top:100%;left:-30px;width:calc(100% + 60px);height:34px}
.cap-trigger{display:flex;align-items:center;gap:8px}
.cap-trigger::before{content:'';order:2;width:4px;height:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55;transition:transform .35s ease}
.cap-dropdown{position:absolute;z-index:30;top:calc(100% + 33px);left:50%;width:min(780px,86vw);padding:30px 34px 28px;background:rgba(251,248,241,.98);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 22px 40px rgba(23,20,18,.08);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,10px);transition:opacity .28s ease,transform .35s ease,visibility .28s}
.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.cap-menu:hover .cap-trigger::before,.cap-menu:focus-within .cap-trigger::before{transform:rotate(225deg) translate(-1px,-1px)}
.cap-drop-label{margin:0 0 19px;font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--burg)}
.cap-drop-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.cap-drop-grid a{display:flex;flex-direction:column;gap:5px;min-height:76px;padding:19px 16px 12px;border-right:1px solid var(--line);font:400 17px/1.15 'Cormorant Garamond',serif;letter-spacing:0;text-transform:none;opacity:1;transition:color .25s,background .25s}
.cap-drop-grid a:first-child{padding-left:0}.cap-drop-grid a:last-child{border-right:0;padding-right:0}
.cap-drop-grid a:hover,.cap-drop-grid a:focus{color:var(--burg);background:rgba(109,23,40,.025);outline:0}
.cap-drop-grid small{font:500 8px/1 Manrope,sans-serif;letter-spacing:.15em;color:var(--burg)}
@media(max-width:1100px){.cap-dropdown{left:auto;right:-110px;transform:translateY(10px)}.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown{transform:translateY(0)}}
@media(max-width:980px){.cap-menu{display:none}}

/* Capability inner pages */
.inner-hero{padding:170px 0 100px;background:var(--ivory)}
.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);gap:8vw;align-items:end}
.inner-kicker{display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--burg)}
.inner-kicker::before{content:'';width:38px;height:1px;background:currentColor}
.inner-title{font:400 clamp(64px,8vw,124px)/.84 'Cormorant Garamond',serif;letter-spacing:-.035em;margin:28px 0 34px}
.inner-summary{max-width:600px;color:var(--muted);font-size:15px}
.inner-portrait{width:100%;aspect-ratio:4/5;object-fit:cover}
.lead-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw;align-items:start}
.lead-number{font:italic 80px/1 'Cormorant Garamond',serif;color:var(--burg)}
.lead-copy{font:400 clamp(31px,3.4vw,52px)/1.12 'Cormorant Garamond',serif;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:55px}
.service-block{background:var(--paper);padding:38px 34px;min-height:260px}
.service-block small{font-size:8px;letter-spacing:.18em;color:var(--burg)}
.service-block h3{font:400 31px/1.05 'Cormorant Garamond',serif;margin:45px 0 16px}
.service-block p{font-size:13px;color:var(--muted);margin:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid var(--line)}
.process-step{padding:30px 30px 0 0;border-right:1px solid var(--line);min-height:230px}
.process-step+.process-step{padding-left:30px}.process-step:last-child{border-right:0}
.process-step small{color:var(--burg);font-size:9px}.process-step h3{font:400 29px/1.05 'Cormorant Garamond',serif;margin:42px 0 13px;color:var(--ink)}.process-step p{font-size:13px;line-height:1.7;color:var(--muted)}
.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.outcome-list{border-top:1px solid var(--line)}.outcome-list div{padding:21px 0;border-bottom:1px solid var(--line);font:400 25px/1.2 'Cormorant Garamond',serif}.next-cap{display:flex;justify-content:space-between;align-items:center;gap:30px;text-decoration:none}.next-cap span{font:400 clamp(35px,4vw,58px)/1 'Cormorant Garamond',serif}.next-cap b{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--burg)}
@media(max-width:900px){.inner-hero-grid,.lead-grid,.outcome-grid{grid-template-columns:1fr}.inner-portrait{aspect-ratio:5/4}.service-grid{grid-template-columns:1fr}.service-block{min-height:0}.process-grid{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.process-step{padding-bottom:25px}.process-step+.process-step{padding-left:20px}}
@media(max-width:560px){.inner-hero{padding-top:145px}.process-grid{grid-template-columns:1fr}.process-step,.process-step:nth-child(2){border-right:0;border-bottom:1px solid var(--line);padding-left:0}.next-cap{align-items:flex-start;flex-direction:column}}

/* Luxury site footer */
.footer{position:relative;overflow:hidden;padding:0;background:#ffffff;color:var(--ink);border-top:1px solid var(--line)}
.footer::before{display:none}
.footer .shell{position:relative;z-index:1}
.footer-top{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;padding:92px 0 72px;border-bottom:1px solid var(--line)}
.footer-brand .logo{display:inline-block;grid-column:auto;font-size:29px;margin-bottom:24px;color:var(--ink)}
.footer-brand p{max-width:460px;margin:0;font:400 clamp(26px,3vw,42px)/1.12 'Cormorant Garamond',serif;color:var(--muted)}
.footer-project{justify-self:end;text-align:right}.footer-project small,.footer-title{display:block;margin-bottom:18px;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--burg)}
.footer-project a{display:inline-flex;align-items:center;gap:24px;font:400 clamp(25px,2.6vw,38px)/1 'Cormorant Garamond',serif;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:9px;transition:.3s}
.footer-project a:hover{color:var(--burg);border-color:var(--burg)}.footer-project a span{font:300 20px Manrope,sans-serif}
.footer-columns{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:6vw;padding:62px 0 70px}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-col a,.footer-col p{margin:0;font-size:11px;line-height:1.8;letter-spacing:.035em;color:var(--muted);text-decoration:none;transition:color .25s}.footer-col a:hover{color:var(--ink)}
.footer-contact a:first-of-type{font:400 23px/1.2 'Cormorant Garamond',serif;color:var(--ink);margin-bottom:6px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:24px 0 30px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.footer-bottom div{display:flex;gap:24px}.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom a:hover{color:var(--ink)}
@media(max-width:800px){.footer-top{grid-template-columns:1fr;padding:72px 0 55px}.footer-project{justify-self:start;text-align:left}.footer-columns{grid-template-columns:1fr 1fr;gap:45px}.footer-contact{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.footer-columns{grid-template-columns:1fr}.footer-contact{grid-column:auto}.footer-bottom div{flex-wrap:wrap}.footer-brand p{font-size:29px}}

/* Permanent two-tier editorial header */
body>main{padding-top:116px}
.nav,.nav.light,.nav.scrolled{height:116px;padding:0;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:none;box-shadow:0 2px 18px rgba(23,20,18,.035)}
.nav::after{content:'';position:absolute;left:0;right:0;top:69px;height:1px;background:var(--line);pointer-events:none}
.nav-inner{height:116px;display:grid;grid-template-columns:1fr auto auto 1fr;grid-template-rows:70px 46px;column-gap:34px;row-gap:0;align-items:center}
.nav-inner>.logo{grid-column:1/-1;grid-row:1;justify-self:center;font-size:25px;letter-spacing:.34em}
.nav-left{grid-column:2;grid-row:2;justify-self:end}
.nav-right{grid-column:3;grid-row:2;justify-self:start}
.nav-left,.nav-right{gap:clamp(30px,3vw,52px)}
.nav-left a,.nav-right a{font-size:9px;letter-spacing:.2em;color:var(--ink)}

/* Navigation Utility Elements (Cartier Style) */
.nav-utility {
  grid-row: 1;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.25s ease;
  white-space: nowrap;
}

.nav-utility-left {
  grid-column: 1;
  justify-self: start;
  padding-left: 2px;
}

.nav-utility-right {
  grid-column: 4;
  justify-self: end;
  padding-right: 2px;
  color: var(--ink);
  font-weight: 600;
}

.nav-utility-right span {
  transition: transform 0.25s ease;
  display: inline-block;
}

.nav-utility-right:hover {
  color: var(--burg);
}

.nav-utility-right:hover span {
  transform: translateX(3px);
}

@media (max-width: 980px) {
  .nav-utility {
    display: none !important;
  }
}
.links>a.active::after,.cap-trigger.active::after{bottom:-14px;background:var(--burg)}
.cap-dropdown{top:calc(100% + 18px)}
.cap-menu::after{height:20px}
.hero{min-height:calc(100svh - 116px)}
.hero:after{background:linear-gradient(90deg,rgba(35,20,21,.82) 0%,rgba(53,26,31,.54) 42%,rgba(58,33,34,.12) 72%,rgba(25,20,18,.02) 100%)}
.page-hero{padding:92px 0 105px}
.inner-hero{padding:72px 0 100px}
@media(max-width:980px){body>main{padding-top:76px}.nav,.nav.light,.nav.scrolled{height:76px}.nav::after{display:none}.nav-inner{height:76px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:76px}.nav-inner>.logo{grid-column:2;grid-row:1;font-size:21px}.nav-inner>.menu{grid-column:3;grid-row:1;display:block}.hero{min-height:calc(100svh - 76px)}.page-hero{padding:76px 0 80px}.inner-hero{padding:70px 0 85px}}
@media(max-width:560px){.hero-copy{padding-top:110px}.hero:after{background:linear-gradient(90deg,rgba(35,20,21,.78),rgba(53,26,31,.32))}.nav-inner>.logo{font-size:19px;letter-spacing:.25em}}

/* Image-led capabilities mega menu */
/* Legacy .cap-dropdown overrides removed to unify dropdown size */
.cap-drop-tabs{display:flex;justify-content:center;align-items:center;gap:0;height:54px;border-bottom:1px solid var(--line)}
.cap-drop-tabs a{position:relative;padding:0 18px;border-right:1px solid var(--line);font-size:8px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;opacity:.62;white-space:nowrap}
.cap-drop-tabs a:last-child{border-right:0}.cap-drop-tabs a:hover,.cap-drop-tabs a.active{opacity:1;color:var(--ink)}
.cap-drop-tabs a.active::after{content:'';position:absolute;left:18px;right:18px;bottom:-18px;height:2px;background:var(--burg)}
.cap-drop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;border:0;padding:28px 0 24px}
.cap-drop-grid a,.cap-drop-grid a:first-child,.cap-drop-grid a:last-child{display:block;min-height:0;padding:0;border:0;background:none;color:var(--ink);text-align:center;text-decoration:none}
.cap-drop-grid a:hover,.cap-drop-grid a:focus{background:none;color:var(--burg)}
.cap-thumb{display:block;width:100%;aspect-ratio:1.25/1;margin-bottom:15px;background-image:url('houri-services-menu.png');background-repeat:no-repeat;background-size:500% 100%;background-color:var(--ivory);transition:transform .45s ease,filter .35s ease;transform-origin:center}
.cap-drop-grid a:hover .cap-thumb{transform:translateY(-3px);filter:saturate(1.08)}
.cap-thumb-1{background-position:0 50%}.cap-thumb-2{background-position:25% 50%}.cap-thumb-3{background-position:50% 50%}.cap-thumb-4{background-position:75% 50%}.cap-thumb-5{background-position:100% 50%}
.cap-card-title{display:block;font:500 13px/1.25 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.cap-drop-grid small{display:block;margin-top:6px;font:400 8px/1.4 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.cap-view-all{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:18px;border-top:1px solid var(--line);font-size:8px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.cap-view-all span{font-size:14px;color:var(--burg)}
@media(max-width:1100px) and (min-width:981px){.cap-dropdown{width:calc(100vw - 40px);padding-left:25px;padding-right:25px}.cap-drop-grid{gap:14px}.cap-drop-tabs a{padding-left:13px;padding-right:13px}}

/* Team navigation mega menu */
.team-menu{position:relative;display:flex;align-items:center}
.team-menu::after{content:'';position:absolute;top:100%;left:-30px;width:calc(100% + 60px);height:20px}
.team-trigger{position:relative}
.team-trigger.active::after{content:'';position:absolute;left:0;right:.19em;bottom:-14px;height:1px;background:var(--burg)}
.team-dropdown{position:fixed;z-index:30;top:116px;left:50%;width:min(980px,calc(100vw - 64px));padding:30px 36px 34px;background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 22px 45px rgba(23,20,18,.1);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,10px);transition:opacity .28s ease,transform .35s ease,visibility .28s}
.team-menu:hover .team-dropdown,.team-menu:focus-within .team-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.team-drop-head{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.team-drop-head>div{display:flex;flex-direction:column;gap:6px}.team-drop-head span{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--burg)}.team-drop-head strong{font:400 27px/1 'Cormorant Garamond',serif}
.team-drop-head>a{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink)}.team-drop-head b{font-size:14px;color:var(--burg)}
.team-drop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px}
.team-drop-grid a{display:block;text-align:left;text-decoration:none;color:var(--ink);opacity:1}.team-drop-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 24%;margin-bottom:13px;transition:transform .45s ease}.team-drop-grid a:last-child img{object-position:center center}.team-drop-grid a:hover img{transform:translateY(-3px)}
.team-drop-grid span{display:block;font:400 20px/1 'Cormorant Garamond',serif}.team-drop-grid small{display:block;margin-top:6px;font-size:7px;letter-spacing:.15em;text-transform:uppercase;color:var(--burg)}
@media(max-width:980px){.team-menu{display:none}}

/* Dedicated team page */
.team-page-hero {
  padding: 100px 0 112px;
  background: var(--ivory);
}

.team-divider {
  width: 42px;
  height: 1px;
  background: var(--burg);
  margin: 28px 0;
}

.team-page-hero .display {
  font-size: clamp(64px, 8vw, 122px);
  margin-bottom: 34px;
}

.team-page-hero p {
  max-width: 660px;
  color: var(--muted);
}

/* Desktop overrides for full-bleed silk background layout matching mockup */
@media (min-width: 851px) {
  .team-page-hero {
    padding: 210px 0 190px !important;
    background-image: url('team-silk.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }
  .team-page-hero .shell > * {
    max-width: 580px !important;
  }
}
.team-profile{scroll-margin-top:116px}.team-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:9vw;align-items:center}.team-profile-copy{max-width:620px}.profile-number{display:block;margin-bottom:52px;font:italic 48px/1 'Cormorant Garamond',serif;color:rgba(109,23,40,.42)}.team-profile h2{font:400 clamp(58px,6vw,92px)/.88 'Cormorant Garamond',serif;letter-spacing:-.03em;margin:20px 0 26px}.profile-lead{font:400 clamp(25px,2.5vw,38px)/1.15 'Cormorant Garamond',serif;margin:0 0 28px;max-width:540px}.team-profile-image{position:relative}.team-profile-image::before{content:'';position:absolute;left:-14px;bottom:-14px;width:70%;height:70%;border-left:1px solid var(--burg);border-bottom:1px solid var(--burg);pointer-events:none}.team-profile-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 24%}.team-profile:last-child .team-profile-image img{object-position:center center}.profile-expertise{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.profile-expertise span{padding:8px 12px;border:1px solid var(--line);font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:850px){.team-page-hero{padding:75px 0 85px}.team-profile-grid{grid-template-columns:1fr;gap:55px}.team-profile-copy{max-width:none}.team-profile-image{width:min(520px,100%);justify-self:end}.profile-number{margin-bottom:30px}.team-profile{scroll-margin-top:76px}}

/* Signature logo hover motion */
.nav-inner>.logo{position:relative;display:inline-block;transform-origin:center;transition:letter-spacing .65s cubic-bezier(.2,.75,.2,1),transform .65s cubic-bezier(.2,.75,.2,1),text-shadow .45s ease}
.nav-inner>.logo i{display:inline-block;transform-origin:50% 70%}
.nav-inner>.logo::after{content:'';position:absolute;left:50%;bottom:-10px;width:0;height:6px;opacity:0;transform:translateX(-50%);background:radial-gradient(8px 5px at 50% -1px,transparent 62%,var(--burg) 66%,var(--burg) 76%,transparent 80%) 0 0/16px 7px repeat-x;transition:width .55s ease,opacity .35s ease}
.nav-inner>.logo:hover,.nav-inner>.logo:focus-visible{letter-spacing:.39em;transform:translateY(-2px);text-shadow:0 9px 22px rgba(109,23,40,.14);outline:0}
.nav-inner>.logo:hover i,.nav-inner>.logo:focus-visible i{animation:houri-word-wave 1.15s cubic-bezier(.25,.8,.25,1) both}
.nav-inner>.logo:hover::after,.nav-inner>.logo:focus-visible::after{width:72%;opacity:.82;animation:houri-line-wave .9s linear infinite}
@keyframes houri-word-wave{0%{transform:translateY(0) skewX(0)}28%{transform:translateY(-4px) skewX(-5deg)}56%{transform:translateY(2px) skewX(3deg)}78%{transform:translateY(-1px) skewX(-1deg)}100%{transform:translateY(0) skewX(0)}}
@keyframes houri-line-wave{to{background-position:16px 0}}
@media(prefers-reduced-motion:reduce){.nav-inner>.logo,.nav-inner>.logo i,.nav-inner>.logo::after{animation:none!important;transition:none!important}.nav-inner>.logo:hover,.nav-inner>.logo:focus-visible{transform:none}}

/* Stronger navigation interaction */
.nav-left a,.nav-right a,.cap-trigger,.team-trigger{transition:color .25s ease,opacity .25s ease,font-weight .2s ease}
.nav-left a:hover,.nav-right a:hover,.cap-trigger:hover,.team-trigger:hover,.nav-left a:focus-visible,.nav-right a:focus-visible{font-weight:600;opacity:1;color:var(--ink);outline:0}
.home-trigger::after,.about-trigger::after,.cap-trigger::after,.team-trigger::after,.journal-trigger::after,.port-trigger::after,.contact-trigger::after{content:'';position:absolute;left:0;right:.19em;bottom:-14px;height:2px;background:var(--burg);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
.home-trigger:hover::after,.about-trigger:hover::after,.cap-trigger:hover::after,.team-trigger:hover::after,.journal-trigger:hover::after,.port-trigger:hover::after,.contact-trigger:hover::after,.home-trigger:focus-visible::after,.about-trigger:focus-visible::after,.cap-trigger:focus-visible::after,.team-trigger:focus-visible::after,.journal-trigger:focus-visible::after,.port-trigger:focus-visible::after,.contact-trigger:focus-visible::after,.home-trigger.active::after,.about-trigger.active::after,.cap-trigger.active::after,.team-trigger.active::after,.journal-trigger.active::after,.port-trigger.active::after,.contact-trigger.active::after{transform:scaleX(1)}
.cap-drop-grid a{overflow:hidden}.cap-thumb{transition:background-size .65s cubic-bezier(.2,.75,.2,1),filter .35s ease,transform .45s ease}.cap-drop-grid a:hover .cap-thumb{background-size:535% 107%;transform:none;filter:saturate(1.08)}
.team-drop-grid a{overflow:hidden}.team-drop-grid img{transition:transform .65s cubic-bezier(.2,.75,.2,1)}.team-drop-grid a:hover img{transform:scale(1.075)}

/* Editorial home capabilities */
.home-capabilities{background:#f0e8dc}.home-cap-head{display:grid;grid-template-columns:1.15fr .7fr;gap:8vw;align-items:end;margin-bottom:65px}.home-cap-head .heading{margin-bottom:0}.home-cap-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.home-cap-card{position:relative;grid-column:span 2;min-height:390px;overflow:hidden;background:var(--ink);color:white;text-decoration:none}.home-cap-card.home-cap-wide{grid-column:span 3;min-height:465px}.home-cap-image,.home-cap-shade{position:absolute;inset:0}.home-cap-image{background-image:url('houri-services-menu.png');background-repeat:no-repeat;background-size:500% 100%;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s ease}.home-cap-1{background-position:0 50%}.home-cap-2{background-position:25% 50%}.home-cap-3{background-position:50% 50%}.home-cap-4{background-position:75% 50%}.home-cap-5{background-position:100% 50%}.home-cap-shade{background:linear-gradient(180deg,rgba(23,20,18,.02) 22%,rgba(23,20,18,.84) 100%);transition:background .45s ease}.home-cap-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:27px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 20px}.home-cap-copy small{grid-column:1/-1;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#e5bbc2}.home-cap-copy strong{font:400 clamp(27px,3vw,43px)/.95 'Cormorant Garamond',serif}.home-cap-copy em{grid-column:1;max-width:290px;font:400 11px/1.5 Manrope,sans-serif;color:rgba(255,255,255,.66)}.home-cap-copy b{grid-column:2;grid-row:2/4;font:300 20px Manrope,sans-serif;transition:transform .35s ease,color .35s ease}.home-cap-card:hover .home-cap-image{transform:scale(1.055);filter:saturate(1.08)}.home-cap-card:hover .home-cap-shade{background:linear-gradient(180deg,rgba(109,23,40,.04),rgba(23,20,18,.9))}.home-cap-card:hover .home-cap-copy b{transform:translateX(7px);color:#e5bbc2}
@media(max-width:900px){.home-cap-head{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.home-cap-grid{grid-template-columns:1fr 1fr}.home-cap-card,.home-cap-card.home-cap-wide{grid-column:auto;min-height:420px}.home-cap-card:last-child{grid-column:1/-1}}
@media(max-width:580px){.home-cap-grid{grid-template-columns:1fr}.home-cap-card,.home-cap-card.home-cap-wide,.home-cap-card:last-child{grid-column:auto;min-height:410px}.home-cap-copy{left:23px;right:23px;bottom:23px}}

/* Remove dropdown arrows per client note */
.cap-trigger::before,.cap-menu:hover .cap-trigger::before,.cap-menu:focus-within .cap-trigger::before{display:none}
.cap-view-all span{display:none}
.team-drop-head b{display:none}
.team-drop-head{justify-content:flex-end}
.team-drop-head>div{display:none}
.team-view-all{display:inline-flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:color .28s ease}
.team-view-all svg{width:18px;height:18px;fill:currentColor}
.team-view-all:hover,.team-view-all:focus-visible{color:var(--burg);outline:0}

/* Place team dropdown action below portraits, not as a top strip */
.team-dropdown{display:flex;flex-direction:column}
.team-drop-grid{order:1;padding-top:0}
.team-drop-head{order:2;justify-content:center;padding:24px 0 0;margin-top:26px;border-top:1px solid var(--line);border-bottom:0}

/* Minimal team dropdown: icon + landing link only */
.team-dropdown{width:320px;min-height:0;padding:28px 34px;left:auto;right:50%;transform:translate(50%,10px)}
.team-menu:hover .team-dropdown,.team-menu:focus-within .team-dropdown{transform:translate(50%,0)}
.team-drop-grid{display:none}
.team-drop-head{order:1;margin:0;padding:0;border:0;justify-content:center}
.team-view-all{gap:14px;font-size:9px;color:var(--ink)}
.team-view-all svg{width:22px;height:22px}

/* Use final capability artworks across cards, menus and inner pages */
.inner-portrait{object-fit:contain;background:transparent!important}
.cap-thumb,.home-cap-image{background-size:contain!important;background-position:center!important;background-color:transparent!important}
.cap-thumb-1,.home-cap-1{background-image:url('cap-creative-direction.png')!important}
.cap-thumb-2,.home-cap-2{background-image:url('cap-brand-strategy.png')!important}
.cap-thumb-3,.home-cap-3{background-image:url('cap-website-design.png')!important}
.cap-thumb-4,.home-cap-4{background-image:url('cap-digital-experience.png')!important}
.cap-thumb-5,.home-cap-5{background-image:url('cap-strategic-consulting.png')!important}
.cap-drop-grid a:hover .cap-thumb{background-size:108%!important}

/* Hide numbered labels on home capability cards */
.home-cap-copy small{display:none}

/* Water-fill logo hover inside text */
.nav-inner>.logo::after{display:none}
.nav-inner>.logo,.nav-inner>.logo i{transition:filter .35s ease,text-shadow .35s ease,letter-spacing .55s cubic-bezier(.2,.75,.2,1)}
.nav-inner>.logo:hover,.nav-inner>.logo:focus-visible{letter-spacing:.37em;transform:none;text-shadow:none;background:linear-gradient(105deg,var(--ink) 0%,var(--ink) 25%,#9f6d72 38%,var(--burg) 50%,#d8b2b8 58%,var(--ink) 72%,var(--ink) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:houri-water-fill 1.8s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(109,23,40,.08));outline:0}
.nav-inner>.logo:hover i,.nav-inner>.logo:focus-visible i{animation:none;color:transparent;-webkit-text-fill-color:transparent}
@keyframes houri-water-fill{0%{background-position:120% 50%}50%{background-position:0 50%}100%{background-position:-120% 50%}}

/* Minimal dropdowns for standard menu pages */
.page-menu{position:relative;display:flex;align-items:center}
.page-menu::after{content:'';position:absolute;top:100%;left:-30px;width:calc(100% + 60px);height:20px}
.page-dropdown{position:fixed;z-index:30;top:116px;left:auto;width:330px;min-height:0;padding:28px 34px;background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 22px 45px rgba(23,20,18,.1);opacity:0;visibility:hidden;pointer-events:none;transform:translate(50%,10px);transition:opacity .28s ease,transform .35s ease,visibility .28s}
.nav-left .page-dropdown{right:50%}.nav-right .page-dropdown{right:50%}
.page-menu:hover .page-dropdown,.page-menu:focus-within .page-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(50%,0)}
.page-view-link{display:inline-flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:color .28s ease}
.page-view-link svg{width:22px;height:22px;fill:currentColor}
.page-view-link:hover,.page-view-link:focus-visible{color:var(--burg);outline:0}
@media(max-width:980px){.page-menu{display:none}}

/* Remove numbering from capabilities listing */
.cap-row span:first-child{display:none}
.cap-row{grid-template-columns:1fr 1fr}
@media(max-width:850px){.cap-row{grid-template-columns:1fr}.cap-row p{grid-column:auto}}

/* Cleaner portrait treatment for team mega menu */
.team-dropdown{width:min(1120px,calc(100vw - 80px));padding:34px 42px 40px}
.team-drop-grid{gap:24px;padding-top:30px}
.team-drop-grid a{overflow:visible}
.team-drop-grid img{aspect-ratio:4/5;object-fit:cover;object-position:center 16%;background:#f3dfc6;margin-bottom:16px;box-shadow:0 1px 0 rgba(23,20,18,.08);transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .35s ease}
.team-drop-grid a:nth-child(3) img{object-position:center 10%}
.team-drop-grid a:nth-child(4) img{object-position:center 12%}
.team-drop-grid a:hover img{transform:scale(1.035);filter:saturate(1.04)}
.team-drop-grid span{font-size:23px;letter-spacing:.16em}

/* Remove profile numbering on team page */
.profile-number{display:none}

/* Light editorial footer */
.footer{padding:0;background:#ffffff;color:var(--ink);border-top:1px solid var(--line)}
.footer::before{display:none}
.footer .shell{width:min(1460px,calc(100% - 96px))}
.footer-editorial{display:grid;grid-template-columns:1.25fr .85fr 1.05fr .85fr;gap:clamp(34px,5vw,86px);padding:78px 0 82px;border-top:1px solid rgba(23,20,18,.1)}
.footer-mark .logo{display:inline-block;margin-bottom:28px;color:var(--ink);font-size:26px}
.footer-mark p{max-width:430px;margin:0 0 28px;font:400 clamp(24px,2.6vw,38px)/1.12 'Cormorant Garamond',serif;color:var(--ink)}
.footer-mail{font-size:11px;letter-spacing:.08em}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer-heading{margin-bottom:12px;font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.footer-column a,.footer-mail,.footer-legal a{position:relative;display:inline-block;width:max-content;max-width:100%;font-size:11px;line-height:1.45;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:color .28s ease}
.footer-animate::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .34s cubic-bezier(.2,.75,.2,1)}
.footer-animate:hover,.footer-animate:focus-visible{color:#77716a;outline:0}
.footer-animate:hover::after,.footer-animate:focus-visible::after{transform:scaleX(1)}
.footer-socials{display:grid;grid-template-columns:repeat(3,38px);gap:14px;margin:2px 0 22px}
.footer-socials a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(23,20,18,.22);border-radius:50%;font-size:10px;font-weight:600;letter-spacing:.08em;text-decoration:none;color:var(--ink);transition:color .28s ease,border-color .28s ease,transform .28s ease}
.footer-socials svg{width:18px;height:18px;display:block;fill:currentColor}
.footer-socials a:hover,.footer-socials a:focus-visible{color:var(--burg);border-color:var(--burg);transform:translateY(-2px);outline:0}
.footer-small{margin:0;font-size:12px;line-height:1.75;color:#77716a}
.footer-legal{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px 0 32px;border-top:1px solid rgba(23,20,18,.1);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#77716a}
.footer-legal div{display:flex;gap:28px;flex-wrap:wrap}
.footer-legal a{font-size:10px;color:var(--ink)}
@media(max-width:980px){.footer .shell{width:min(100% - 44px,1460px)}.footer-editorial{grid-template-columns:1fr 1fr;gap:48px}.footer-mark{grid-column:1/-1}.footer-legal{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.footer-editorial{grid-template-columns:1fr;padding:58px 0 62px}.footer-mark{grid-column:auto}.footer-socials{grid-template-columns:repeat(4,38px)}}

/* Softer, slower dropdown hover motion */
.cap-dropdown,.team-dropdown,.page-dropdown{transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),visibility .75s ease;will-change:opacity,transform}
.cap-dropdown{transform:translate(-50%,4px)}
.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown{transform:translate(-50%,0)}
.team-dropdown,.page-dropdown{transform:translate(50%,4px)}
.team-menu:hover .team-dropdown,.team-menu:focus-within .team-dropdown,.page-menu:hover .page-dropdown,.page-menu:focus-within .page-dropdown{transform:translate(50%,0)}
.cap-thumb{transition:background-size 1.25s cubic-bezier(.16,1,.3,1),filter .75s ease!important}
.cap-drop-grid a:hover .cap-thumb{background-size:103%!important;filter:saturate(1.04)}

/* Smooth in-place dropdown reveal, no jump */
.cap-dropdown,.team-dropdown,.page-dropdown{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  clip-path:inset(0 0 100% 0);
  transition:
    opacity .85s cubic-bezier(.19,1,.22,1),
    clip-path 1.05s cubic-bezier(.19,1,.22,1),
    visibility 0s linear .85s!important;
}
.cap-dropdown{transform:translate(-50%,0)!important}
.team-dropdown,.page-dropdown{transform:translate(50%,0)!important}
.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown,
.team-menu:hover .team-dropdown,.team-menu:focus-within .team-dropdown,
.page-menu:hover .page-dropdown,.page-menu:focus-within .page-dropdown{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  clip-path:inset(0 0 0 0);
  transition:
    opacity .65s cubic-bezier(.19,1,.22,1),
    clip-path .95s cubic-bezier(.19,1,.22,1),
    visibility 0s linear 0s!important;
}

/* Final dropdown behavior: smooth fade only, no forced movement */
.cap-dropdown,.team-dropdown,.page-dropdown{
  clip-path:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform-origin:top center!important;
  transition:
    opacity .55s cubic-bezier(.22,.61,.36,1),
    transform .55s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .55s!important;
}
.cap-dropdown{transform:translate(-50%,0) scale(.992)!important}
.team-dropdown,.page-dropdown{transform:translate(50%,0) scale(.992)!important}
.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown,
.team-menu:hover .team-dropdown,.team-menu:focus-within .team-dropdown,
.page-menu:hover .page-dropdown,.page-menu:focus-within .page-dropdown{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:
    opacity .55s cubic-bezier(.22,.61,.36,1),
    transform .55s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0s!important;
}
.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown{transform:translate(-50%,0) scale(1)!important}
.team-menu:hover .team-dropdown,.team-menu:focus-within .team-dropdown,
.page-menu:hover .page-dropdown,.page-menu:focus-within .page-dropdown{transform:translate(50%,0) scale(1)!important}

/* True smooth dropdown open: expand downward instead of popping */
.cap-dropdown{
  max-height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  padding-top:0!important;
  padding-bottom:0!important;
  transform:translate(-50%,0)!important;
  transition:
    max-height 1.05s cubic-bezier(.19,1,.22,1),
    opacity .75s ease,
    padding-top .75s ease,
    padding-bottom .75s ease,
    visibility 0s linear 1.05s!important;
}
.cap-menu:hover .cap-dropdown,.cap-menu:focus-within .cap-dropdown{
  max-height:520px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  padding-top:0!important;
  padding-bottom:26px!important;
  transform:translate(-50%,0)!important;
  transition:
    max-height 1.05s cubic-bezier(.19,1,.22,1),
    opacity .75s ease,
    padding-top .75s ease,
    padding-bottom .75s ease,
    visibility 0s linear 0s!important;
}

/* Smooth capability image hover inside dropdown */
.cap-drop-grid a{
  overflow:hidden!important;
}
.cap-thumb{
  background-size:contain!important;
  transform:scale(1)!important;
  transform-origin:center center!important;
  transition:
    transform 1.15s cubic-bezier(.19,1,.22,1),
    filter .9s ease!important;
}
.cap-drop-grid a:hover .cap-thumb,
.cap-drop-grid a:focus .cap-thumb{
  background-size:contain!important;
  transform:scale(1.035)!important;
  filter:saturate(1.04) contrast(1.015)!important;
}

/* Nav underline only on hover, thicker maroon */
.home-trigger.active::after,.about-trigger.active::after,.cap-trigger.active::after,.team-trigger.active::after,.journal-trigger.active::after,.port-trigger.active::after,.contact-trigger.active::after{transform:scaleX(0)!important}
.home-trigger:hover::after,.about-trigger:hover::after,.cap-trigger:hover::after,.team-trigger:hover::after,.journal-trigger:hover::after,.port-trigger:hover::after,.contact-trigger:hover::after,
.home-trigger:focus-visible::after,.about-trigger:focus-visible::after,.cap-trigger:focus-visible::after,.team-trigger:focus-visible::after,.journal-trigger:focus-visible::after,.port-trigger:focus-visible::after,.contact-trigger:focus-visible::after{
  height:3px!important;
  background:var(--burg)!important;
  transform:scaleX(1)!important;
}

/* Remove decorative numbering across service/capability pages */
.lead-number,.process-step small,.profile-number,.cap-row span:first-child{display:none!important}
.lead-grid{grid-template-columns:1fr!important}
.inner-kicker{font-size:0!important;gap:0!important}
.inner-kicker::before{display:none!important}
.inner-kicker::after{content:'Capability';font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--burg)}

/* Clean encoded mobile menu icon */
.menu{
  position:relative!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  font-size:0!important;
  line-height:0!important;
  overflow:hidden!important;
}
.menu::before,.menu::after{
  content:''!important;
  position:absolute;
  left:9px;
  right:9px;
  height:1.5px;
  background:var(--ink);
  transition:transform .3s ease,top .3s ease;
}
.menu::before{top:14px}
.menu::after{top:23px}
body.lock .menu::before{top:19px;transform:rotate(45deg)}
body.lock .menu::after{top:19px;transform:rotate(-45deg)}

/* Rebranded Studio Page Styling */

/* Decorative red line above each profile eyebrow */
.team-profile-copy::before {
  content: '';
  display: block;
  width: 50px;
  height: 1px;
  background: var(--burg);
  margin-bottom: 24px;
}

/* Hidayah's prominent profile styling */
.team-profile.prominent .team-profile-copy {
  background: var(--ivory);
  padding: 48px;
  border-left: 1px solid var(--line);
  box-shadow: 0 12px 28px rgba(23, 20, 18, 0.03);
}

@media (max-width: 850px) {
  .team-profile.prominent .team-profile-copy {
    padding: 32px 24px;
  }
}

/* Center-aligned editorial closing section */
.team-closing {
  padding: 120px 0 160px;
  background: var(--paper);
}

.team-closing .shell {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.closing-initial {
  font: italic 500 80px/1 'Cormorant Garamond', serif;
  color: var(--burg);
  margin-bottom: 28px;
  letter-spacing: normal;
}

.closing-heading {
  font: 400 clamp(36px, 4.5vw, 62px)/1.15 'Cormorant Garamond', serif;
  margin: 0 0 32px;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.closing-heading em {
  font-weight: 400;
  color: var(--burg);
  font-style: italic;
}

.closing-text {
  max-width: 580px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

@media (max-width: 850px) {
  .team-closing {
    padding: 80px 0 100px;
  }
}

/* Footer newsletter subscription row */
.footer-newsletter-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 0 90px !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--line) !important;
  text-align: center;
}
.newsletter-brand h3 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.25em;
  color: var(--ink);
  text-transform: uppercase;
  margin: 0 0 30px;
  font-family: Manrope, sans-serif;
}
.newsletter-form {
  width: 100%;
  max-width: 580px;
}
.newsletter-input-wrap {
  display: flex;
  align-items: center;
  gap: 0;
}
.newsletter-input-wrap input {
  flex: 1;
  border: none;
  border-bottom: 1.5px solid #000000;
  background: transparent;
  padding: 12px 16px 12px 0;
  font-size: 13px;
  color: var(--ink);
  height: 44px;
  outline: 0;
  font-family: inherit;
}
.newsletter-input-wrap input::placeholder {
  color: #a59d95;
  font-style: italic;
}
.newsletter-input-wrap button {
  background: #000000;
  color: #ffffff;
  border: none;
  padding: 0 32px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.newsletter-input-wrap button:hover {
  background: var(--burg);
}

@media (max-width: 800px) {
  .footer-newsletter-row {
    padding: 60px 0 70px !important;
  }
}

/* Centered Home Intro section (Hero -> 180px -> Intro -> 200px -> Video) */
.home-intro {
  padding: 240px 0 !important;
  text-align: center;
}

/* Centered Home Beyond section (Video -> 200px -> Beyond -> 180px -> CTA) */
.home-beyond {
  padding: 240px 0 !important;
  text-align: center;
}

.home-intro .shell, .home-beyond .shell {
  max-width: 840px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-intro .heading, .home-beyond .heading {
  font: 400 clamp(48px, 6.2vw, 88px)/1.05 'Cormorant Garamond', serif;
  margin: 0 0 38px;
  letter-spacing: -0.02em;
  text-align: center;
}

.home-intro .copy, .home-beyond .copy {
  max-width: 580px;
  margin: 0 auto;
  text-align: center;
}

.home-intro .copy p, .home-beyond .copy p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
  margin-bottom: 24px;
}

.home-intro .copy p:last-child, .home-beyond .copy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 850px) {
  .home-intro {
    padding: 100px 0 110px !important;
  }
  .home-beyond {
    padding: 110px 0 100px !important;
  }
}

/* Home brand video section (full bleed showcase) */
.home-video-section {
  width: 100%;
  background: var(--paper);
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.video-wrapper {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: var(--paper);
}

.video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Elegant Scroll Cue inside Hero */
.scroll-cue {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 10;
  color: rgba(255, 255, 255, 0.45);
  pointer-events: none;
  animation: scroll-cue-fade 1.5s ease-in-out infinite alternate;
}

.scroll-cue span {
  font-size: 8px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-family: inherit;
}

.scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  position: relative;
  overflow: hidden;
}

.scroll-line::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 15px;
  background: #fff;
  animation: scroll-cue-line 2s cubic-bezier(.15,.41,.69,.94) infinite;
}

@keyframes scroll-cue-fade {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}

@keyframes scroll-cue-line {
  0% { top: -15px; }
  50% { top: 40px; }
  100% { top: 40px; }
}

/* Understated CTA text link instead of blocky button */
.cta-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--burg);
  font-weight: 600;
  transition: gap 0.3s ease;
}

.cta-link span {
  transition: transform 0.3s ease;
  display: inline-block;
}

.cta-link:hover {
  gap: 18px;
  color: var(--ink);
}

.cta-link:hover span {
  transform: translateX(4px);
}

/* About Page Custom Layout Styles */

/* About Hero Grid Section */
.about-hero-section {
  padding: 180px 0 100px;
  background: var(--ivory);
}

.about-hero-section .grid2 {
  align-items: center;
}

/* Typography styles for the hero text */
.about-hero-section h1.display em {
  font-style: normal !important;
  color: var(--burg) !important;
}

.about-hero-image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  box-shadow: none !important; /* No shadow to blend smoothly */
  border-radius: 0 !important;
}

.about-intro-image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  box-shadow: 0 20px 45px rgba(23, 20, 18, 0.05);
}

/* Desktop overrides for full-bleed background layout matching mockups */
@media (min-width: 851px) {
  .about-hero-section {
    background-image: linear-gradient(90deg, rgba(245, 240, 231, 0.94) 0%, rgba(245, 240, 231, 0.78) 42%, rgba(245, 240, 231, 0.08) 80%), url('about-sculpture.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }
  .team-page-hero {
    background-image: linear-gradient(90deg, rgba(245, 240, 231, 0.94) 0%, rgba(245, 240, 231, 0.78) 42%, rgba(245, 240, 231, 0.08) 80%), url('studio-hero.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }
  .journal-hero {
    background-image: linear-gradient(90deg, rgba(245, 240, 231, 0.94) 0%, rgba(245, 240, 231, 0.78) 42%, rgba(245, 240, 231, 0.08) 80%), url('journal-hero.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }
  .port-hero {
    background-image: linear-gradient(90deg, rgba(245, 240, 231, 0.94) 0%, rgba(245, 240, 231, 0.78) 42%, rgba(245, 240, 231, 0.08) 80%), url('portfolio-hero.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }
  .contact-hero {
    background-image: linear-gradient(90deg, rgba(245, 240, 231, 0.94) 0%, rgba(245, 240, 231, 0.78) 42%, rgba(245, 240, 231, 0.08) 80%), url('contact-hero.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }
  .cap-hero {
    background-image: linear-gradient(90deg, rgba(245, 240, 231, 0.94) 0%, rgba(245, 240, 231, 0.78) 42%, rgba(245, 240, 231, 0.08) 80%), url('capabilities-hero.png') !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;
  }

  .about-hero-image,
  .team-hero-image,
  .journal-hero-image,
  .port-hero-image,
  .contact-hero-image,
  .cap-hero-image {
    display: none !important;
  }

  .about-hero-section .grid2,
  .team-page-hero .grid2,
  .journal-hero .grid2,
  .port-hero .grid2,
  .contact-hero .grid2,
  .cap-hero .grid2 {
    display: block !important;
    width: 100% !important;
  }

  .about-hero-section .grid2 > div,
  .team-page-hero .grid2 > div,
  .journal-hero .grid2 > div,
  .port-hero .grid2 > div,
  .contact-hero .grid2 > div,
  .cap-hero .grid2 > div {
    max-width: 540px !important;
    margin-left: 0 !important;
    text-align: left !important;
  }
}

.about-intro-section .grid2 {
  align-items: center;
}

/* Typography override for introduction section text */
.about-intro-section h2.heading em {
  font-style: normal !important;
  color: var(--burg) !important;
}

.about-intro-image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  box-shadow: none !important; /* Remove shadow to blend flatly */
  border-radius: 0 !important;
}

/* Desktop overrides for full-bleed introduction layout matching mockup */
@media (min-width: 851px) {
  .about-intro-section {
    padding: 160px 0 !important;
    background-image: url('about-oyster.png') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
  }
  .about-intro-section .about-intro-image {
    display: none !important; /* Hide inline image, let background display */
  }
  .about-intro-section .grid2 {
    display: block !important;
  }
  .about-intro-section .grid2 > div {
    max-width: 550px !important; /* Limit text column width */
    margin-left: auto !important; /* Align text block cleanly to the right side */
    margin-right: 0 !important;
    text-align: left !important;
  }
}

/* About Our Approach Grid (Split Image + Steps) */
.about-mission-heading {
  font: 400 clamp(28px, 3.2vw, 42px)/1.12 'Cormorant Garamond', serif;
  margin: 20px 0 0;
  color: var(--ink);
  letter-spacing: -0.015em;
}

.about-philosophy-heading {
  font: 400 clamp(26px, 2.8vw, 36px)/1.2 'Cormorant Garamond', serif;
  margin: 20px 0 20px;
  color: var(--ink);
  letter-spacing: -0.01em;
}

.about-approach-container {
  margin-top: 100px;
}

.about-approach-container .eyebrow {
  margin-bottom: 24px;
  display: block;
}

.about-steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 80px 48px;
  background: linear-gradient(90deg, rgba(251, 248, 241, 0.72) 0%, rgba(251, 248, 241, 0.96) 50%, #fbf8f1 100%), url('portrait_editorial.png') no-repeat left center;
  background-size: cover;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-top: 24px;
}

.about-steps .step {
  flex: 1;
}

.about-steps .step-num {
  display: block;
  font: italic 32px/1 'Cormorant Garamond', serif;
  color: var(--burg);
  opacity: 0.5;
  margin-bottom: 12px;
}

.about-steps h3 {
  font: 400 20px/1.2 'Cormorant Garamond', serif;
  margin: 0 0 10px;
  color: var(--ink);
}

.about-steps p {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

.step-arrow {
  font-size: 16px;
  color: var(--burg);
  opacity: 0.6;
  padding-top: 36px;
  user-select: none;
}

/* Center-aligned bottom closing statement */
.about-closing-statement {
  text-align: center;
  margin-top: 100px;
  padding: 40px 0 0;
  border-top: 1px solid var(--line);
}

.about-closing-statement p {
  font: 400 clamp(28px, 3.2vw, 44px)/1.2 'Cormorant Garamond', serif;
  color: var(--ink);
  margin: 0;
}

.about-closing-statement p em {
  font-style: italic;
  color: var(--burg);
}

@media (max-width: 980px) {
  .about-steps {
    flex-direction: column;
    gap: 28px;
    padding: 48px 24px;
    background: #fbf8f1 !important; /* Fallback to solid background on smaller mobile screens */
  }
  .step-arrow {
    display: none;
  }
}

.cap-dropdown {
  width: 100vw !important;
  padding: 40px 0 !important;
}

.custom-dropdown a {
  opacity: 1 !important;
}

/* Cartier Dropdown Styles */
.cartier-dropdown-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(1200px, calc(100% - 96px));
  margin: 0 auto;
}

.cartier-cards-row {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 34px;
  width: 100%;
}

.single-item-dropdown .cartier-cards-row {
  gap: 0;
}

.cartier-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: var(--ink);
  width: 170px;
  transition: opacity 0.3s ease;
}

.single-item-dropdown .cartier-card {
  width: 220px;
}

.cartier-card:hover {
  opacity: 0.9;
}

.cartier-card-img {
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 12px;
  background: transparent;
}

.cartier-card-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.cartier-card:hover .cartier-card-img img {
  transform: scale(1.04);
}

.cartier-card-title {
  font: 500 11px/1.2 'Montserrat', sans-serif;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  margin-top: 6px;
}

.cartier-desc-row {
  max-width: 440px;
  margin: 18px auto 0;
  text-align: center;
}

.cartier-desc-row p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

.cartier-footer-row {
  margin-top: 24px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.cartier-viewall {
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--burg);
  text-decoration: none;
  border-bottom: 1px solid var(--burg);
  padding-bottom: 2px;
  transition: opacity 0.25s ease;
}

.cartier-viewall:hover {
  opacity: 0.7;
}

.cap-drop-simplified {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 28px;
  align-items: center;
}

.cap-drop-preview {
  background: transparent !important;
}

.cap-drop-preview img {
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: contain;
  display: block;
  background: transparent !important;
  box-shadow: none !important;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.cap-menu:hover .cap-drop-preview img,
.cap-trigger:hover ~ .cap-dropdown .cap-drop-preview img,
.cap-dropdown:hover .cap-drop-preview img {
  transform: scale(1.08) !important;
}

.cap-drop-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.cap-drop-eyebrow {
  font-size: 8px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--burg);
  font-weight: 600;
  margin-bottom: 10px;
}

.cap-drop-desc {
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
  margin: 0 0 20px;
}

.cap-discover-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  font-weight: 600;
  transition: gap 0.25s ease, color 0.25s ease;
}

.cap-discover-link span {
  transition: transform 0.25s ease;
  display: inline-block;
}

.cap-discover-link:hover {
  gap: 12px;
  color: var(--burg);
}

.cap-discover-link:hover span {
  transform: translateX(3px);
}

@media (max-width: 980px) {
  .cap-dropdown {
    display: none !important; /* Capabilities dropdown is hidden on mobile/tablet since main nav link goes straight to capabilities page */
  }
}

/* Capabilities List Page Custom Styling */
.cap-profile {
  padding: 100px 0;
  background: var(--paper); /* Light beige background */
}

.cap-profile.alt {
  background: var(--ivory) !important; /* Alternating warm ivory background */
}

.cap-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  align-items: center;
}

.cap-profile.alt .cap-profile-grid {
  grid-template-columns: 1fr 1fr;
}

.cap-profile-copy {
  max-width: 540px;
}

.cap-num {
  display: block;
  font: italic 24px/1 'Cormorant Garamond', serif;
  color: var(--burg);
  opacity: 0.65;
  margin-bottom: 18px;
}

.cap-profile h2 {
  font: 400 clamp(38px, 4.5vw, 68px)/1.05 'Cormorant Garamond', serif;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.cap-lead {
  font-size: 15px;
  line-height: 1.75;
  color: var(--muted);
  margin: 0 0 32px;
}

.cap-profile-image {
  display: flex;
  justify-content: center;
  align-items: center;
}

.cap-profile-image img {
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  object-fit: contain;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  /* Removed bounding box aspect-ratio and box-shadow to let transparent PNGs float naturally */
}

.cap-profile:hover .cap-profile-image img {
  transform: scale(1.08) !important;
}

.cap-discover-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  font-weight: 600;
  border-bottom: 1px solid var(--line);
  padding-bottom: 4px;
  transition: gap 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.cap-discover-btn span {
  transition: transform 0.25s ease;
  display: inline-block;
}

.cap-discover-btn:hover {
  gap: 14px;
  color: var(--burg);
  border-color: var(--burg);
}

.cap-discover-btn:hover span {
  transform: translateX(4px);
}

/* Closing statement spacing */
.cap-closing {
  padding: 140px 0 160px;
  text-align: center;
  background: var(--paper);
}

.cap-closing .closing-heading {
  font: 400 clamp(38px, 4.8vw, 64px)/1.15 'Cormorant Garamond', serif;
  margin-bottom: 28px;
  letter-spacing: -0.01em;
}

@media (max-width: 850px) {
  .cap-profile {
    padding: 60px 0;
  }
  
  .cap-profile-grid {
    display: flex;
    flex-direction: column-reverse; /* For odd rows: displays image on top, copy underneath */
    gap: 30px;
  }

  .cap-profile.alt .cap-profile-grid {
    display: flex;
    flex-direction: column; /* For even rows: displays image on top, copy underneath */
    gap: 30px;
  }

  .cap-profile-image img {
    max-width: 320px;
  }

  .cap-closing {
    padding: 90px 0 110px;
  }
}

/* Portfolio List Page Layout and Interaction Styles */
.port-main {
  background: var(--paper);
  padding: 80px 0 120px;
}

/* Tab Filter Bar */
.port-filter-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 50px;
}

.port-tabs {
  display: flex;
  gap: 28px;
}

.port-tab {
  background: none;
  border: none;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  cursor: pointer;
  padding: 6px 0;
  position: relative;
  transition: color 0.3s ease;
}

.port-tab::after {
  content: '';
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--burg);
  transition: width 0.3s ease;
}

.port-tab:hover, .port-tab.active {
  color: var(--ink);
}

.port-tab.active::after {
  width: 100%;
}

.port-featured-link {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--burg);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.25s ease;
}

.port-featured-link span {
  transition: transform 0.25s ease;
}

.port-featured-link:hover {
  gap: 10px;
}

.port-featured-link:hover span {
  transform: translateX(3px);
}

/* Portfolio 3-Column Grid */
.port-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 30px;
}

.port-card {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.port-card a {
  text-decoration: none;
  display: block;
}

.port-img-wrap {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--ivory);
  box-shadow: 0 10px 30px rgba(23, 20, 18, 0.04);
  margin-bottom: 22px;
}

.port-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

.port-card:hover .port-img-wrap img {
  transform: scale(1.05);
}

.port-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.port-category {
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--burg);
  font-weight: 600;
  margin-bottom: 8px;
}

.port-copy h3 {
  font: 400 clamp(20px, 2.2vw, 28px)/1.2 'Cormorant Garamond', serif;
  margin: 0 0 12px;
  color: var(--ink);
  letter-spacing: -0.01em;
}

.port-link {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.25s ease, color 0.25s ease;
}

.port-link span {
  transition: transform 0.25s ease;
  display: inline-block;
}

.port-card:hover .port-link {
  color: var(--ink);
  gap: 10px;
}

.port-card:hover .port-link span {
  transform: translateX(3px);
}

/* Portfolio bottom quote banner */
.port-closing {
  padding: 130px 0 150px;
  text-align: center;
  background: #ffffff;
}

.port-closing h2 {
  font: 400 clamp(36px, 4.5vw, 60px)/1.15 'Cormorant Garamond', serif;
  margin: 18px 0 24px;
  letter-spacing: -0.01em;
}

.closing-desc {
  max-width: 580px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.8;
  color: var(--muted);
}

@media (max-width: 1024px) {
  .port-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 24px;
  }
}

@media (max-width: 768px) {
  .port-filter-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .port-tabs {
    flex-wrap: wrap;
    gap: 16px 20px;
  }
  .port-tab::after {
    display: none; /* Hide bottom line bar on mobile wrap */
  }
  .port-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .port-closing {
    padding: 80px 0 100px;
  }
}

/* Unified Custom Dropdowns Layout for all Menu Items */
.custom-dropdown {
  position: fixed !important;
  z-index: 30;
  top: 116px !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding: 40px 0 !important;
  background: #ffffff !important;
  color: var(--ink);
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: 0 20px 45px rgba(23, 20, 18, 0.06) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px) !important;
  transition: opacity 0.6s cubic-bezier(.16,1,.3,1), transform 0.6s cubic-bezier(.16,1,.3,1), visibility 0.6s ease;
  will-change: opacity, transform;
}

/* Hover trigger state for all menus */
.home-menu:hover .custom-dropdown, .home-menu:focus-within .custom-dropdown,
.about-menu:hover .custom-dropdown, .about-menu:focus-within .custom-dropdown,
.cap-menu:hover .custom-dropdown, .cap-menu:focus-within .custom-dropdown,
.team-menu:hover .custom-dropdown, .team-menu:focus-within .custom-dropdown,
.port-menu:hover .custom-dropdown, .port-menu:focus-within .custom-dropdown,
.journal-menu:hover .custom-dropdown, .journal-menu:focus-within .custom-dropdown,
.contact-menu:hover .custom-dropdown, .contact-menu:focus-within .custom-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) !important;
}

.custom-drop-simplified {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 28px;
  align-items: center;
}

.custom-drop-preview {
  background: transparent !important;
}

.custom-drop-preview img {
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: contain;
  display: block;
  background: transparent !important;
  box-shadow: none !important;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Slow hover zoom on the image inside each menu */
.home-menu:hover .custom-drop-preview img,
.about-menu:hover .custom-drop-preview img,
.cap-menu:hover .custom-drop-preview img,
.team-menu:hover .custom-drop-preview img,
.port-menu:hover .custom-drop-preview img,
.journal-menu:hover .custom-drop-preview img,
.contact-menu:hover .custom-drop-preview img {
  transform: scale(1.08) !important;
}

.custom-drop-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.custom-drop-eyebrow {
  font-size: 8px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--burg);
  font-weight: 600;
  margin-bottom: 10px;
}

.custom-drop-desc {
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
  margin: 0 0 20px;
}

.custom-discover-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  font-weight: 600;
  transition: gap 0.25s ease, color 0.25s ease;
}

.custom-discover-link span {
  transition: transform 0.25s ease;
  display: inline-block;
}

.custom-discover-link:hover {
  gap: 12px;
  color: var(--burg);
}

.custom-discover-link:hover span {
  transform: translateX(3px);
}

/* Specific wrappers styling matching default nav layout */
.home-menu, .about-menu, .cap-menu, .team-menu, .port-menu, .journal-menu, .contact-menu {
  position: relative;
  display: flex;
  align-items: center;
}

.home-menu::after, .about-menu::after, .cap-menu::after, .team-menu::after, .port-menu::after, .journal-menu::after, .contact-menu::after {
  content: '';
  position: absolute;
  top: 100%;
  left: -30px;
  width: calc(100% + 60px);
  height: 34px;
}

.nav.light .custom-dropdown {
  background: #ffffff;
}

@media (max-width: 980px) {
  .custom-dropdown {
    display: none !important;
  }
}

/* Journal List Page Custom Styling */

/* Journal Hero */
.journal-hero {
  padding: 180px 0 100px;
  background: var(--ivory);
}
.journal-hero-image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  box-shadow: 0 20px 45px rgba(23, 20, 18, 0.05);
}

/* Featured Article Section */
.featured-perspective {
  padding: 120px 0;
  background: #ffffff;
}
.featured-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 8vw;
  align-items: center;
}
.featured-image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  box-shadow: 0 15px 35px rgba(23, 20, 18, 0.05);
}
.featured-content {
  max-width: 480px;
}
.featured-content h2 {
  font: 400 clamp(32px, 3.8vw, 56px)/1.1 'Cormorant Garamond', serif;
  margin: 18px 0 20px;
  letter-spacing: -0.01em;
}
.featured-content h2 em {
  color: var(--burg);
}
.featured-content p.desc {
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
  margin-bottom: 30px;
}
.author-block {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 36px;
}
.author-avatar img {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  display: block;
  box-shadow: 0 4px 10px rgba(23, 20, 18, 0.06);
}
.author-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.author-meta small {
  font-size: 8px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--burg);
  font-weight: 600;
}
.author-meta strong {
  font-size: 13px;
  color: var(--ink);
  font-weight: 500;
}
.author-meta span {
  font-size: 11px;
  color: var(--muted);
}
.read-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  font-weight: 600;
  border-bottom: 1px solid var(--line);
  padding-bottom: 4px;
  transition: gap 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.read-link span {
  transition: transform 0.25s ease;
  display: inline-block;
}
.read-link:hover {
  gap: 16px;
  color: var(--burg);
  border-color: var(--burg);
}
.read-link:hover span {
  transform: translateX(4px);
}

/* Latest Perspectives Section */
.latest-perspectives {
  padding: 100px 0 120px;
  background: var(--paper);
}
.latest-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
}
.latest-header h2 {
  font: 400 24px/1 'Cormorant Garamond', serif;
  letter-spacing: -0.01em;
}
.latest-view-all {
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--burg);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.25s ease;
}
.latest-view-all span {
  transition: transform 0.25s ease;
  display: inline-block;
}
.latest-view-all:hover {
  gap: 10px;
}
.latest-view-all:hover span {
  transform: translateX(3px);
}
.perspective-list {
  display: flex;
  flex-direction: column;
}
.perspective-item {
  display: grid;
  grid-template-columns: 180px 1.4fr 1fr;
  gap: 40px;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.perspective-item:last-child {
  border-bottom: none;
}
.perspective-thumb img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
  box-shadow: 0 6px 18px rgba(23, 20, 18, 0.03);
}
.perspective-info h3 {
  font: 400 clamp(20px, 2vw, 24px)/1.2 'Cormorant Garamond', serif;
  margin: 0 0 8px;
}
.perspective-info h3 a {
  text-decoration: none;
  color: var(--ink);
  transition: color 0.25s ease;
}
.perspective-info h3 a:hover {
  color: var(--burg);
}
.perspective-info p {
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
  margin: 0;
}
.perspective-author {
  display: flex;
  flex-direction: column;
  text-align: right;
  line-height: 1.5;
}
.perspective-author small {
  font-size: 8px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
}
.perspective-author strong {
  font-size: 13px;
  color: var(--ink);
  font-weight: 500;
}
.perspective-author span {
  font-size: 11px;
  color: var(--muted);
}

/* Stay Inspired Newsletter Banner */
.journal-newsletter {
  padding: 100px 0;
  background: var(--ivory);
}
.newsletter-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 8vw;
  align-items: center;
}
.newsletter-content h2 {
  font: 400 clamp(32px, 3.8vw, 48px)/1.1 'Cormorant Garamond', serif;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.newsletter-content p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
  margin: 0;
}
.newsletter-form-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.newsletter-form-wrap {
  display: flex;
  gap: 16px;
  width: 100%;
}
.newsletter-form-wrap input {
  flex: 1;
  padding: 16px 20px;
  background: #ffffff;
  border: 1px solid var(--line);
  font-family: inherit;
  font-size: 13px;
  color: var(--ink);
  transition: border-color 0.3s ease;
}
.newsletter-form-wrap input:focus {
  outline: none;
  border-color: var(--burg);
}
.newsletter-btn {
  background: var(--burg);
  color: #ffffff;
  border: none;
  padding: 16px 36px;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}
.newsletter-btn:hover {
  background: var(--ink);
}
.newsletter-note {
  font-size: 11px;
  color: var(--muted);
  margin: 0;
}

/* Article Detail Page Custom Styles */
.article-detail {
  background: var(--paper);
}
.article-header {
  padding: 170px 0 60px;
  text-align: center;
  background: var(--ivory);
}
.article-header .eyebrow {
  margin-bottom: 20px;
}
.article-header h1.display {
  font: 400 clamp(44px, 5.5vw, 84px)/1.05 'Cormorant Garamond', serif;
  margin: 0 0 24px;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.article-header h1.display em {
  color: var(--burg);
}
.article-meta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.article-meta .dot {
  font-size: 14px;
  color: var(--line);
}
.article-hero-image img {
  width: 100%;
  height: min(62vw, 680px);
  object-fit: cover;
  display: block;
}
.article-body {
  padding: 100px 0 140px;
  background: #ffffff;
}
.max-width-800 {
  max-width: 720px;
  margin: 0 auto;
}
.article-body p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--ink);
  margin-bottom: 28px;
}
.signature-block {
  margin-top: 60px;
  padding-top: 36px;
  border-top: 1px solid var(--line);
}
.signature-block .signature {
  font: italic 26px/1 'Cormorant Garamond', serif;
  color: var(--burg);
  margin-bottom: 8px;
}
.signature-block .role {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}

@media (max-width: 980px) {
  .featured-grid, .newsletter-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .featured-content, .newsletter-content {
    max-width: 100%;
  }
  .perspective-item {
    grid-template-columns: 120px 1fr;
    gap: 24px;
  }
  .perspective-author {
    grid-column: 2;
    text-align: left;
    margin-top: 10px;
  }
}
@media (max-width: 600px) {
  .perspective-item {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .perspective-author {
    grid-column: 1;
    margin-top: 0;
  }
  .newsletter-form-wrap {
    flex-direction: column;
    gap: 12px;
  }
  .newsletter-btn {
    width: 100%;
  }
}

/* Contact page links styling */
.contact-details {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}
.contact-link {
  font-size: 14px;
  color: var(--ink);
  text-decoration: none;
  transition: color 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.contact-link:hover {
  color: var(--burg);
}
.contact-link span {
  transition: transform 0.25s ease;
  display: inline-block;
}
.contact-link:hover span {
  transform: translateX(4px);
}
.footer-whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.footer-whatsapp-link span {
  transition: transform 0.25s ease;
  display: inline-block;
}
.footer-whatsapp-link:hover span {
  transform: translateX(3px);
}

/* ==========================================================================
   CARTIER-STYLE HEADER LAYOUT OVERRIDES (LARGE LOGO & GENEROUS SPACING)
   ========================================================================== */

@media (min-width: 981px) {
  /* 1. Set navigation header height and grid templates */
  body>main {
    padding-top: 174px !important;
  }

  .nav, .nav.light, .nav.scrolled {
    height: 174px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
  }

  .nav-inner {
    height: 174px !important;
    grid-template-rows: 124px 50px !important;
    align-items: center !important;
    column-gap: 48px !important;
  }

  .nav-inner>.menu {
    display: none !important;
  }

  /* 2. Divider line between logo and navigation links removed */
  .nav::after {
    display: none !important;
  }

  /* 3. Scaled up logo with generous vertical padding */
  .nav-inner>.logo {
    height: 124px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding-bottom: 16px !important;
  }

  .brand-logo-img {
    height: 72px !important;
    width: auto !important;
    transition: transform 0.3s ease !important;
  }

  .brand-logo-img:hover {
    transform: scale(1.015) !important;
  }

  .nav-left {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
  }

  .nav-right {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }

  /* 4. Elegant Cartier-style navigation links font & spacing rules */
  .nav-left,
  .nav-right {
    gap: clamp(28px, 2.6vw, 44px) !important;
  }

  .nav-left a, 
  .nav-right a, 
  .cap-trigger, 
  .team-trigger,
  .journal-trigger,
  .port-trigger,
  .contact-trigger {
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.24em !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    color: var(--ink) !important;
  }

  .nav-left a:hover, 
  .nav-right a:hover, 
  .cap-trigger:hover, 
  .team-trigger:hover,
  .journal-trigger:hover,
  .port-trigger:hover,
  .contact-trigger:hover {
    font-weight: 600 !important;
    color: var(--ink) !important;
  }

  /* 5. Precise red hover underlines positioning */
  .home-trigger::after,
  .about-trigger::after,
  .cap-trigger::after,
  .team-trigger::after,
  .journal-trigger::after,
  .port-trigger::after,
  .contact-trigger::after {
    bottom: -20px !important;
  }

  /* 6. Unified Dropdown height & positioning for all menu dropdowns */
  .custom-dropdown,
  .cap-dropdown {
    top: 174px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 290px !important;
    min-height: 290px !important;
    max-height: 290px !important;
    padding: 28px 0 32px 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border-top: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: 0 20px 45px rgba(23, 20, 18, 0.06) !important;
    transform: translateY(10px) !important;
  }

  .home-menu:hover .custom-dropdown, .home-menu:focus-within .custom-dropdown,
  .about-menu:hover .custom-dropdown, .about-menu:focus-within .custom-dropdown,
  .cap-menu:hover .custom-dropdown, .cap-menu:focus-within .custom-dropdown,
  .team-menu:hover .custom-dropdown, .team-menu:focus-within .custom-dropdown,
  .port-menu:hover .custom-dropdown, .port-menu:focus-within .custom-dropdown,
  .journal-menu:hover .custom-dropdown, .journal-menu:focus-within .custom-dropdown,
  .contact-menu:hover .custom-dropdown, .contact-menu:focus-within .custom-dropdown {
    transform: translateY(0) !important;
  }

  .cartier-dropdown-inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 auto !important;
    width: min(1200px, calc(100% - 96px)) !important;
  }

  .cartier-card-img {
    height: 95px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
  }

  .cartier-card-img img {
    height: 95px !important;
    width: 95px !important;
    max-height: 95px !important;
    max-width: 95px !important;
    object-fit: contain !important;
  }

  .cartier-card-title {
    margin-top: 0 !important;
  }

  .cartier-desc-row {
    min-height: 38px !important;
    max-width: 520px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 18px auto 0 !important;
    text-align: center !important;
  }

  .cartier-footer-row {
    margin-top: 22px !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Single Screen View Sections Layout Across All Pages */
  .hero,
  .page-hero,
  .inner-hero,
  .about-hero-section,
  .team-page-hero,
  .journal-hero,
  .article-hero,
  .hl-page-hero {
    /* Smooth fluid layout */
  }

  /* Single Screen Hero Sections */
  .hero,
  .page-hero,
  .inner-hero,
  .about-hero-section,
  .team-page-hero,
  .journal-hero,
  .article-hero,
  .hl-page-hero {
    min-height: calc(100vh - 174px) !important;
    height: calc(100vh - 174px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Standardized .shell alignment inside hero headers */
  .page-hero > .shell,
  .about-hero-section > .shell,
  .team-page-hero > .shell,
  .journal-hero > .shell,
  .port-hero > .shell,
  .contact-hero > .shell,
  .cap-hero > .shell {
    width: min(1280px, calc(100% - 96px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  .hero {
    height: calc(100vh - 174px) !important;
    max-height: calc(100vh - 174px) !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .hero-copy {
    padding: 0 !important;
    margin-bottom: 40px !important;
  }

  .scroll-cue {
    bottom: 20px !important;
  }

  /* Single Screen Content Sections Across All Pages */
  .home-intro,
  .home-beyond,
  main > .section,
  main > .section.alt,
  main > .section.dark,
  .team-profile,
  .featured-perspective,
  .hl-section-dark,
  .hl-section-light,
  .hl-section-dark2,
  .hl-section-burg {
    min-height: calc(100vh - 174px) !important;
    padding: 60px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .home-intro,
  .home-beyond {
    height: calc(100vh - 174px) !important;
    max-height: calc(100vh - 174px) !important;
    padding: 0 !important;
  }

  .home-video-section,
  .home-video-section .video-wrapper {
    height: calc(100vh - 174px) !important;
    min-height: calc(100vh - 174px) !important;
    max-height: calc(100vh - 174px) !important;
  }

  /* Single Screen Footer Layout */
  .footer,
  .hl-footer {
    height: calc(100vh - 174px) !important;
    min-height: calc(100vh - 174px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-bottom: 50px !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   PREMIUM SMOOTH SCROLL REVEAL ANIMATIONS SYSTEM (STAGGERED & MASK REVEALS)
   ========================================================================== */

/* 1. Base reveal transition with custom Apple/Cartier easing (ease-out-expo) */
.reveal {
  opacity: 0 !important;
  transform: translateY(34px) !important;
  transition: opacity 1.3s cubic-bezier(0.16, 1, 0.3, 1), transform 1.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform, opacity;
}

.reveal.on {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* 2. Scale reveal variant */
.reveal.reveal-scale {
  transform: scale(0.96) translateY(24px) !important;
}
.reveal.reveal-scale.on {
  transform: scale(1) translateY(0) !important;
}

/* 3. Left-sliding reveal variant */
.reveal.reveal-left {
  transform: translateX(-34px) translateY(0) !important;
}
.reveal.reveal-left.on {
  transform: translateX(0) !important;
}

/* 4. Right-sliding reveal variant */
.reveal.reveal-right {
  transform: translateX(34px) translateY(0) !important;
}
.reveal.reveal-right.on {
  transform: translateX(0) !important;
}

/* 5. Luxury Wiping Mask reveal variant (ideal for large showcase images/videos) */
.reveal.reveal-mask {
  opacity: 1 !important; /* Managed purely by clip-path */
  transform: none !important;
  clip-path: inset(0 0 100% 0) !important;
  transition: clip-path 1.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.reveal.reveal-mask.on {
  clip-path: inset(0 0 0 0) !important;
}

/* 6. Stagger delay utilities */
.reveal-delay-1 { transition-delay: 0.12s !important; }
.reveal-delay-2 { transition-delay: 0.24s !important; }
.reveal-delay-3 { transition-delay: 0.36s !important; }
.reveal-delay-4 { transition-delay: 0.48s !important; }
.reveal-delay-5 { transition-delay: 0.6s !important; }

/* 7. Global Smooth Hover Transitions for interactive elements */
a, button, .cta-link, .button, .text-link, .home-cap-card, .service-block, .process-step, .cap-view-all, .brand-logo-img {
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* ==========================================================================
   CARTIER-STYLE FOOTER OVERRIDES
   ========================================================================== */

/* Footer Container Styling */
.footer {
  position: relative !important;
  background: #ffffff !important;
  color: #000000 !important;
  border-top: 1px solid var(--line) !important;
  padding: 0 0 50px 0 !important; /* Make room for the 50px tall absolute red bottom strip */
}

/* Newsletter Title */
.newsletter-brand h3 {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  margin: 0 0 24px !important;
}

/* Newsletter Form Input Wrap */
.newsletter-input-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 580px !important;
  margin: 0 auto !important;
}

/* Input line styling */
.newsletter-input-wrap input {
  flex: 1 !important;
  border: none !important;
  border-bottom: 1.5px solid #dcdcdc !important;
  background: transparent !important;
  padding: 12px 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  height: 40px !important;
  outline: 0 !important;
  border-radius: 0 !important;
  transition: border-color 0.4s ease !important;
}
.newsletter-input-wrap input:focus {
  border-bottom: 1.5px solid #000000 !important;
}
.newsletter-input-wrap input::placeholder {
  color: #999999 !important;
  font-style: normal !important;
  letter-spacing: 0.18em !important;
}

/* Subscribe button styling */
.newsletter-input-wrap button {
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0 36px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.4s ease !important;
}
.newsletter-input-wrap button:hover {
  background: #8a151b !important; /* Cartier red on hover */
}

/* Columns grid layout */
.footer-columns {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 40px !important;
  padding: 80px 0 60px !important;
  border-bottom: none !important;
}

/* Headings inside footer columns */
.footer-title {
  display: block !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  margin-bottom: 24px !important;
}

/* Links inside footer columns */
.footer-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
.footer-col a {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #333333 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
.footer-col a:hover {
  color: #8a151b !important; /* Cartier red */
}

/* Privacy & Terms bottom row */
.footer-bottom-links {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 32px !important;
  padding: 0 0 60px 0 !important;
}
.footer-bottom-links a {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #333333 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}
.footer-bottom-links a:hover {
  color: #8a151b !important;
}

/* Absolute Cartier Red bottom location & copyright strip */
.footer-red-strip {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 50px !important;
  background: #8a151b !important; /* Cartier signature burgundy red */
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 48px !important;
  color: #ffffff !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}
.footer-red-strip a {
  color: #ffffff !important;
  text-decoration: underline !important;
  transition: opacity 0.3s ease !important;
}
.footer-red-strip a:hover {
  opacity: 0.8 !important;
}

/* Responsive Footer columns stack on mobile */
@media (max-width: 800px) {
  .footer-columns {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding: 60px 0 40px !important;
    text-align: center !important;
  }
  .footer-col {
    align-items: center !important;
  }
  .footer-red-strip {
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 70px !important;
    padding: 10px 20px !important;
    text-align: center !important;
  }
  .footer {
    padding: 0 0 70px 0 !important; /* Match mobile height of red strip */
  }
}

/* ==========================================================================
   VIDEO SOUND TOGGLE BUTTON STYLING
   ========================================================================== */
.video-sound-btn {
  position: absolute !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 10 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  background: rgba(23, 20, 18, 0.4) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
  padding: 0 !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.video-sound-btn:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  transform: scale(1.08) !important;
}

.video-sound-btn svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}

/* Toggle icon display based on mute state class */
.video-sound-btn .sound-on-icon {
  display: none !important;
}
.video-sound-btn.unmuted .sound-on-icon {
  display: block !important;
}
.video-sound-btn.unmuted .sound-off-icon {
  display: none !important;
}

/* Alternate team profile layout on desktop */
@media (min-width: 851px) {
  /* Bilal & Ahsan (profiles with .alt class): image on left, copy on right */
  .team-profile.alt .team-profile-grid {
    grid-template-columns: minmax(360px,.78fr) minmax(0,1fr) !important;
  }
  .team-profile.alt .team-profile-copy {
    order: 2 !important;
  }
  .team-profile.alt .team-profile-image {
    order: 1 !important;
  }
  
  /* Shift accent corner borders to the bottom-right for left-aligned portraits */
  .team-profile.alt .team-profile-image::before {
    left: auto !important;
    right: -14px !important;
    border-left: none !important;
    border-right: 1px solid var(--burg) !important;
  }
}

/* ==========================================================================
   NAVIGATION HOVER UNDERLINE ANIMATION & VISIBILITY OVERRIDES
   ========================================================================== */

/* 1. grows from left to right & remains on top of dropdowns */
.home-trigger::after,
.about-trigger::after,
.cap-trigger::after,
.team-trigger::after,
.journal-trigger::after,
.port-trigger::after,
.contact-trigger::after {
  transform-origin: left !important;
  z-index: 99999 !important; /* Stack above the dropdown top border */
}

/* Ensure the trigger container has positioning context for z-index stacking */
.home-trigger,
.about-trigger,
.cap-trigger,
.team-trigger,
.journal-trigger,
.port-trigger,
.contact-trigger {
  position: relative !important;
  z-index: 9999 !important;
}

/* 2. Keep the red bar active when the dropdown or the menu wrapper is hovered */
.home-menu:hover .home-trigger::after,
.about-menu:hover .about-trigger::after,
.cap-menu:hover .cap-trigger::after,
.team-menu:hover .team-trigger::after,
.journal-menu:hover .journal-trigger::after,
.port-menu:hover .port-trigger::after,
.contact-menu:hover .contact-trigger::after {
  transform: scaleX(1) !important;
}

/* ==========================================================================
   CENTERED INNER HERO LAYOUT (CARTIER STYLE)
   ========================================================================== */

/* Center grid content and arrange image above text */
.inner-hero {
  padding-top: 15px !important;
}

.inner-hero-grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0 !important;
}

/* Position text block below image */
.inner-hero-grid > div.reveal {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

/* Style and center the main artwork */
.inner-portrait {
  order: 1 !important;
  max-width: 680px !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  margin: 0 auto 52px !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Center kicker/eyebrow and remove horizontal line prefix */
.inner-kicker {
  justify-content: center !important;
  font-size: 8px !important;
  letter-spacing: .24em !important;
  font-weight: 500 !important;
}
.inner-kicker::before {
  display: none !important;
}

/* Center and scale heading */
.inner-title {
  text-align: center !important;
  margin: 20px 0 28px !important;
  font-size: clamp(48px, 6.5vw, 98px) !important;
  line-height: 0.96 !important;
}

/* Center and size description copy */
.inner-summary {
  text-align: center !important;
  margin: 0 auto 38px !important;
  max-width: 620px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Center the call-to-action button */
.inner-hero-grid .button {
  margin: 0 auto !important;
  display: inline-block !important;
}

/* ==========================================================================
   CARTIER-STYLE LUXURY CONCIERGE FLOATING WIDGET
   ========================================================================== */

.houri-concierge-container {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 999999 !important;
  font-family: 'Manrope', sans-serif !important;
}

/* 1. Floating Red Chat Bubble Trigger Button */
.houri-concierge-trigger {
  position: relative !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: #8a151b !important; /* Signature Cartier Burgundy Red */
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 28px rgba(138, 21, 27, 0.35) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important;
  outline: none !important;
  padding: 0 !important;
}

.houri-concierge-trigger:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 14px 34px rgba(138, 21, 27, 0.48) !important;
}

.houri-concierge-trigger.active {
  transform: scale(0.94) !important;
}

/* Speech bubble pointer tail at bottom left of circle */
.concierge-bubble-tail {
  position: absolute !important;
  bottom: 1px !important;
  left: 2px !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 10px 0 0 12px !important;
  border-color: transparent transparent transparent #8a151b !important;
  transform: rotate(-15deg) !important;
}

.concierge-icon-inner {
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
}

.concierge-h-logo {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  object-fit: contain !important;
}

/* 2. Concierge Popup Modal Window (Cartier Styling) */
.houri-concierge-popup {
  position: absolute !important;
  bottom: 74px !important;
  right: 0 !important;
  width: 360px !important;
  max-width: calc(100vw - 32px) !important;
  background: #fbf9f5 !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 50px rgba(23, 20, 18, 0.16) !important;
  border: 1px solid rgba(23, 20, 18, 0.08) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(16px) scale(0.98) !important;
  transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s !important;
  overflow: hidden !important;
}

.houri-concierge-popup.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

/* Modal Header */
.concierge-popup-header {
  padding: 20px 24px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  border-bottom: 1px solid rgba(23, 20, 18, 0.06) !important;
  background: #ffffff !important;
}

.concierge-brand-logo {
  height: 38px !important;
  width: auto !important;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.concierge-close-btn {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #756e66 !important;
  padding: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.25s ease !important;
}

.concierge-close-btn:hover {
  color: var(--burg) !important;
}

/* Modal Body */
.concierge-popup-body {
  padding: 22px 24px 28px !important;
  max-height: 520px !important;
  overflow-y: auto !important;
}

.concierge-notice {
  font-size: 11px !important;
  line-height: 1.55 !important;
  color: #756e66 !important;
  margin: 0 0 14px !important;
}

.concierge-notice a {
  color: #171412 !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}

.concierge-welcome {
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: #171412 !important;
  margin: 0 0 20px !important;
  font-weight: 500 !important;
}

/* Action Buttons Stack (Cartier Pill Style) */
.concierge-options-list {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
}

.concierge-option-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 11px 22px 11px 18px !important;
  background: #e6e2da !important; /* Cartier pill background color */
  color: #171412 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  border-radius: 24px !important;
  transition: background 0.25s ease, transform 0.25s ease, color 0.25s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.concierge-option-btn:hover {
  background: #8a151b !important;
  color: #ffffff !important;
  transform: translateX(-3px) !important;
}

.concierge-opt-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0.8 !important;
}

.concierge-option-btn:hover .concierge-opt-icon {
  opacity: 1 !important;
}

@media (max-width: 560px) {
  .houri-concierge-container {
    bottom: 18px !important;
    right: 18px !important;
  }
  .houri-concierge-popup {
    bottom: 68px !important;
    right: 0 !important;
    width: calc(100vw - 36px) !important;
  }
}


