:root{
  --navy:#042A5A;--deep-navy:#021A38;--red:#DD1A24;--gold:#E2B158;--gold-dark:#8C6E37;
  --off-white:#F7F5F1;--warm:#FCFBF8;--white:#FFFFFF;--charcoal:#17191D;--gray:#62666D;--muted:#8A8D92;
  --border:#E5E1D8;--border-strong:#C7C4BE;--container:1280px;--header-h:78px;--section:132px;
  --ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--white)}body{margin:0;font-family:'Inter',Arial,sans-serif;color:var(--charcoal);background:var(--white);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--gold);color:var(--deep-navy)}
h1,h2,h3,h4,h5,h6{margin:0;font-family:'Manrope',Arial,sans-serif;color:var(--navy);line-height:.98;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,6.15vw,5.55rem);font-weight:700}h2{font-size:clamp(2.65rem,4.7vw,4.25rem);font-weight:650}h3{font-size:clamp(1.5rem,2.25vw,2.2rem);font-weight:650}p{margin:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;padding:12px 16px;background:var(--navy);color:#fff}.skip-link:focus{top:16px}.container{width:min(calc(100% - 80px),var(--container));margin-inline:auto}.section{padding-block:var(--section);position:relative}.section--compact{padding-block:88px}.section--large{padding-block:156px}.section--warm{background:var(--off-white)}.section--subtle{background:var(--warm)}.section--navy{background:var(--navy);color:#fff}.section--deep{background:var(--deep-navy);color:#fff}.section--navy h1,.section--navy h2,.section--navy h3,.section--deep h1,.section--deep h2,.section--deep h3{color:#fff}
.grid{display:grid;gap:24px}.grid-12{grid-template-columns:repeat(12,minmax(0,1fr))}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-12{grid-column:span 12}.stack{display:flex;flex-direction:column;gap:24px}.stack--sm{display:flex;flex-direction:column;gap:12px}.stack--lg{display:flex;flex-direction:column;gap:40px}.stack--xl{display:flex;flex-direction:column;gap:64px}.row{display:flex;align-items:center;gap:24px}.row--between{justify-content:space-between}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 11px/1.35 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.eyebrow::before{content:'';width:22px;height:1px;background:currentColor}.eyebrow--gold{color:var(--gold)}.eyebrow--gold-dark{color:var(--gold-dark)}.lead{font-size:clamp(1.02rem,1.35vw,1.22rem);line-height:1.65;color:var(--gray)}.copy{color:var(--gray);max-width:760px}.small{font-size:13px;color:var(--gray)}.muted{color:var(--gray)}.section-index{font:600 12px/1 'Manrope',sans-serif;color:var(--gold-dark);letter-spacing:.08em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:14px 22px;border:1px solid var(--navy);border-radius:0;font-size:14px;font-weight:700;line-height:1.2;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.button i{font-style:normal;transition:transform .25s var(--ease-out)}.button:hover i{transform:translateX(5px)}.button--primary{background:var(--navy);color:#fff}.button--primary:hover{background:var(--red);border-color:var(--red)}.button--secondary,.button--ghost{background:transparent;color:var(--navy)}.button--secondary:hover,.button--ghost:hover{background:var(--navy);color:#fff}.button--light{background:#fff;border-color:#fff;color:var(--navy)}.button--light:hover{background:var(--red);border-color:var(--red);color:#fff}.button--outline-light{background:transparent;border-color:rgba(255,255,255,.65);color:#fff}.button--outline-light:hover{background:#fff;color:var(--navy)}.text-link{display:inline-flex;align-items:center;gap:10px;width:max-content;color:var(--navy);font-weight:650;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link .arrow{transition:transform .25s var(--ease-out)}.text-link:hover{color:var(--red)}.text-link:hover .arrow{transform:translateX(5px)}.section--navy .text-link,.section--deep .text-link{color:#fff}
.divider{border-top:1px solid var(--border)}.meta-strip{background:var(--off-white);border-block:1px solid var(--border)}.meta-strip__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.meta-strip__item{padding:28px 24px;border-right:1px solid var(--border)}.meta-strip__item:last-child{border-right:0}.meta-strip__label{font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark)}.meta-strip__value{margin-top:8px;font-weight:650;color:var(--navy)}
.media{position:relative;overflow:hidden;background:#eeeae2}.media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out);will-change:transform}.project-card:hover .media img,a.media:hover img{transform:scale(1.025)}.media--4x3{aspect-ratio:4/3}.media--3x2{aspect-ratio:3/2}.media--16x9{aspect-ratio:16/9}.media--4x5{aspect-ratio:4/5}.media--technical{background:var(--warm);border:1px solid var(--border)}.media--technical img{object-fit:contain}.media-caption{margin-top:10px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--gray);text-transform:none}.media-caption strong{font:700 10px/1.4 'Manrope',sans-serif;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.08em}
/* header */
.site-header{position:sticky;top:0;z-index:500;height:var(--header-h);background:rgba(255,255,255,.94);border-bottom:1px solid rgba(229,225,216,.9);backdrop-filter:blur(18px);transition:height .35s var(--ease-out),box-shadow .35s var(--ease-out),background .35s}.site-header.is-scrolled{height:68px;box-shadow:0 10px 30px rgba(2,26,56,.06);background:rgba(255,255,255,.98)}.header-progress{position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--gold);z-index:4}.site-header__inner{height:100%;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:32px}.site-logo{display:inline-flex;align-items:center}.site-logo img{width:96px;height:58px;object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:center;gap:25px;font-size:13px;font-weight:600}.nav-link{position:relative;padding:28px 0 25px;color:var(--charcoal);transition:color .2s}.nav-link::after{content:'';position:absolute;left:0;right:100%;bottom:19px;height:1px;background:var(--red);transition:right .28s var(--ease-out)}.nav-link:hover,.nav-link[aria-current=page]{color:var(--navy)}.nav-link:hover::after,.nav-link[aria-current=page]::after{right:0}.nav-group{position:relative}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown{position:absolute;top:58px;left:-40px;width:360px;padding:18px;background:#fff;border:1px solid var(--border);box-shadow:0 25px 60px rgba(2,26,56,.09);opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s var(--ease-out)}.nav-dropdown__eyebrow{display:block;padding:6px 10px 12px;font:700 10px/1.3 'Manrope',sans-serif;letter-spacing:.12em;color:var(--gold-dark)}.nav-dropdown a{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:11px 10px;border-top:1px solid var(--border);font-size:13px}.nav-dropdown a span{font-size:10px;color:var(--gold-dark)}.nav-dropdown a b{font-weight:500;transition:transform .2s}.nav-dropdown a:hover{color:var(--red)}.nav-dropdown a:hover b{transform:translateX(4px)}.header-cta{min-height:46px;padding:10px 17px;font-size:12px;gap:18px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;color:var(--navy);padding:10px}.menu-toggle span{display:block;width:24px;height:1.5px;background:currentColor;margin:7px auto;transition:transform .3s var(--ease-out),opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.mobile-panel{display:none}
/* hero */
.hero{padding:58px 0 72px}.hero--motion{min-height:calc(100svh - var(--header-h));display:flex;align-items:center}.hero-motion-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}.hero__copy{display:flex;flex-direction:column;justify-content:center;gap:26px}.hero__copy h1{max-width:870px}.hero-spark{display:inline-block;color:var(--gold);font-size:.55em;vertical-align:top;margin-left:.08em;transform:translateY(.15em)}.hero-lead{max-width:680px}.hero__actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:4px}.hero__visual{position:relative}.hero__visual .media{min-height:610px;height:74vh;max-height:760px}.hero-visual-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;padding-top:12px;font-size:11px;color:var(--gray);border-top:1px solid var(--border);margin-top:12px}.hero-visual-meta span:first-child{font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.1em;color:var(--gold-dark)}.hero-visual-meta span:last-child{grid-column:2}.hero-visual-meta strong{font-size:11px;color:var(--navy)}.hero-note{display:grid;grid-template-columns:44px 1fr;gap:14px;max-width:490px;margin-top:14px;padding-top:16px;border-top:1px solid var(--border)}.hero-note span{font:700 11px/1.4 'Manrope',sans-serif;color:var(--gold-dark)}.hero-note p{font-size:12px;color:var(--gray)}
/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--border);background:var(--off-white);padding:15px 0}.marquee__track{display:flex;width:max-content;animation:ar-marquee 34s linear infinite}.marquee__group{display:flex;align-items:center;flex-shrink:0}.marquee__group span{display:inline-flex;align-items:center;gap:30px;padding-right:30px;font:650 12px/1 'Manrope',sans-serif;letter-spacing:.08em;color:var(--navy);white-space:nowrap}.marquee__group b{font-size:13px;color:var(--gold);font-weight:400}@keyframes ar-marquee{to{transform:translateX(-50%)}}
/* editorial sections */
.intro-editorial__grid{display:grid;grid-template-columns:3fr 9fr;gap:64px}.sticky-label{display:flex;flex-direction:column;gap:18px;align-items:flex-start;position:sticky;top:110px;align-self:start}.intro-editorial__content h2{max-width:950px}.intro-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:54px;padding-top:28px;border-top:1px solid var(--border)}.intro-copy-grid p{font-size:17px;color:var(--gray);max-width:500px}.intro-copy-grid>div{display:flex;flex-direction:column;gap:26px}
.services-editorial__grid{display:grid;grid-template-columns:5fr 7fr;gap:72px}.services-editorial__intro{position:sticky;top:112px;align-self:start}.services-editorial__intro h2{font-size:clamp(2.6rem,4vw,3.8rem);margin:18px 0 22px}.services-editorial__media{width:78%;margin-top:44px}.service-motion-list{border-top:1px solid var(--border)}.service-motion-row{display:grid;grid-template-columns:48px minmax(180px,1.15fr) minmax(220px,1.5fr) 30px;gap:22px;align-items:center;padding:26px 0;border-bottom:1px solid var(--border);transition:padding .35s var(--ease-out),color .25s,background .25s}.service-motion-row:hover{padding-left:12px;padding-right:12px;background:#fff}.service-motion-row__num{font:700 10px/1 'Manrope',sans-serif;color:var(--gold-dark);letter-spacing:.08em}.service-motion-row__title{font:650 clamp(1.4rem,2.4vw,2rem)/1 'Manrope',sans-serif;color:var(--navy);letter-spacing:-.03em}.service-motion-row__desc{font-size:13px;color:var(--gray);line-height:1.55}.service-motion-row__arrow{font-size:20px;color:var(--navy);transition:transform .3s var(--ease-out),color .2s}.service-motion-row:hover .service-motion-row__arrow{transform:translate(4px,-4px);color:var(--red)}.service-list-note{padding:22px 0;color:var(--gray);font-size:13px}
.motion-section-head{display:grid;grid-template-columns:2.5fr 6.5fr 3fr;gap:36px;align-items:start;margin-bottom:62px}.motion-section-head>div{display:flex;flex-direction:column;gap:16px}.motion-section-head h2{max-width:760px}.motion-section-head>p{color:var(--gray);font-size:14px;line-height:1.65}.motion-section-head>.text-link{justify-self:end}.motion-section-head--light h2{color:#fff}.motion-section-head--light>p{color:#cbd5e2}
/* project cards */
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:76px 24px}.project-grid--motion .project-card:nth-child(even){padding-top:70px}.project-card{display:block}.project-card h3{font-size:clamp(1.45rem,2.2vw,2rem);margin:14px 0 7px;letter-spacing:-.035em}.project-card__status{margin-top:15px;font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}.project-card__meta{font-size:13px;color:var(--gray)}.project-card__link{margin-top:12px}.project-card[hidden]{display:none!important}.filter-bar{display:flex;gap:32px;overflow:auto;border-bottom:1px solid var(--border);scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-button{white-space:nowrap;border:0;background:transparent;padding:0 0 16px;font-size:13px;color:var(--gray);border-bottom:2px solid transparent}.filter-button:hover,.filter-button.is-active{color:var(--navy);border-color:var(--red)}
/* principles */
.principles-motion__list{border-top:1px solid rgba(255,255,255,.2)}.principle-motion-row{display:grid;grid-template-columns:80px 4fr 5fr;gap:32px;align-items:center;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.2)}.principle-motion-row>span{font:600 11px/1 'Manrope',sans-serif;color:var(--gold);letter-spacing:.08em}.principle-motion-row h3{font-size:clamp(1.7rem,2.8vw,2.65rem);color:#fff}.principle-motion-row p{color:#cbd5e2;max-width:560px;font-size:14px}.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.principle{padding:30px;border-bottom:1px solid rgba(255,255,255,.18)}.principle:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}.principle h3{margin:10px 0;font-size:24px}.principle p{color:#dce1e8;font-size:14px}
/* process */
.process-motion__list{border-top:1px solid var(--border)}.process-motion-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);transition:padding .3s var(--ease-out),background .2s}.process-motion-row>span{font:600 11px/1 'Manrope',sans-serif;color:var(--gold-dark)}.process-motion-row strong{font:650 clamp(1.45rem,2.6vw,2.45rem)/1.05 'Manrope',sans-serif;color:var(--navy);letter-spacing:-.035em}.process-motion-row i{font-style:normal;font-size:20px;color:var(--navy);transition:transform .25s}.process-motion-row:hover{padding-left:14px;padding-right:14px;background:var(--warm)}.process-motion-row:hover i{transform:translateX(5px)}.process-mini{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:16px}.process-mini__item{padding-right:12px;border-right:1px solid var(--border)}.process-mini__item strong{display:block;font:700 10px/1.4 'Manrope',sans-serif;color:var(--gold-dark)}.process-mini__item span{display:block;margin-top:8px;font-size:13px;color:var(--navy);font-weight:650;line-height:1.35}
.interior-motion__grid{display:grid;grid-template-columns:4fr 8fr;gap:72px;align-items:start}.interior-motion__grid>div:first-child{position:sticky;top:112px}.interior-motion__grid h2{margin:18px 0 24px}.interior-motion__grid .text-link{margin-top:28px}.interior-motion__media{position:relative;padding-right:12%}.interior-motion__secondary{position:absolute;width:37%;right:0;bottom:-80px;border:10px solid var(--off-white)}
/* standard internal page components */
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted);margin-bottom:24px}.breadcrumb a:hover{color:var(--red)}.section-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start;margin-bottom:56px}.section-head--single{grid-template-columns:1fr;max-width:900px}.section-head__title{display:flex;flex-direction:column;gap:18px}.editorial-list{border-top:1px solid var(--border)}.editorial-row{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid var(--border);transition:padding .25s var(--ease-out)}.editorial-row__num{font:700 10px/1 'Manrope',sans-serif;color:var(--gold-dark);letter-spacing:.08em}.editorial-row__title{font:650 clamp(1.3rem,2.35vw,2rem)/1 'Manrope',sans-serif;color:var(--navy);letter-spacing:-.03em}.editorial-row:hover{padding-left:10px}.editorial-row:hover .editorial-row__title{color:var(--red)}
.approach-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--border)}.approach-item{padding:26px 20px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.approach-item:last-child{border-right:0}.approach-item__num{color:var(--gold-dark);font:700 10px/1 'Manrope',sans-serif}.approach-item h3{font-size:19px;line-height:1.1;margin:10px 0 8px}.approach-item p{font-size:13px;color:var(--gray)}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.scope-item{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 24px 24px 0;border-bottom:1px solid var(--border)}.scope-item:nth-child(odd){border-right:1px solid var(--border);padding-right:34px}.scope-item:nth-child(even){padding-left:34px}.scope-item__num{color:var(--gold-dark);font:700 10px/1.4 'Manrope',sans-serif}.scope-item h3{font-size:20px;margin-bottom:8px}.scope-item p{font-size:13px;color:var(--gray)}.note-strip{padding:24px 26px;border:1px solid var(--border);background:var(--warm);color:var(--gray);font-size:13px}.connected-links{border-top:1px solid var(--border)}.connected-link{display:grid;grid-template-columns:1fr 2fr auto;gap:24px;padding:20px 0;border-bottom:1px solid var(--border);align-items:center}.connected-link strong{color:var(--navy)}.connected-link span{color:var(--gray);font-size:13px}.connected-link:hover strong{color:var(--red)}
.journey{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:0;margin-top:42px}.journey__item{padding:20px 16px;border-right:1px solid var(--border)}.journey__item:last-child{border-right:0}.journey__phase{font:700 9px/1.2 'Manrope',sans-serif;letter-spacing:.1em;color:var(--gold-dark)}.journey__item strong{display:block;margin-top:8px;color:var(--navy);font-size:13px;line-height:1.3}.stage{display:grid;grid-template-columns:3fr 6fr 3fr;gap:48px;align-items:start}.stage__num{font:700 11px/1 'Manrope',sans-serif;letter-spacing:.08em;color:var(--gold-dark)}.stage__content h2{margin:8px 0 18px}.stage__content p{color:var(--gray)}.phase-transition{background:var(--navy);color:#fff;padding:56px 0}.phase-transition .container{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center}.phase-transition h2{color:#fff;text-transform:uppercase}.phase-transition p{color:#dce1e8}.pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22)}.pathway{padding:30px 30px 16px 0;border-right:1px solid rgba(255,255,255,.22)}.pathway:last-child{border-right:0;padding-left:30px}.pathway:nth-child(2){padding-left:30px}.pathway h3{color:#fff;font-size:21px;margin:10px 0}.pathway p{color:#dce1e8;font-size:13px}
.faq{max-width:1040px;margin-inline:auto;border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border)}.faq summary{list-style:none;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--navy);font:650 clamp(1.05rem,1.5vw,1.25rem)/1.25 'Manrope',sans-serif;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:26px;font-weight:400;color:var(--navy);transition:transform .2s}.faq details[open] summary::after{transform:rotate(45deg)}.faq__answer{padding:0 70px 26px 0;color:var(--gray);font-size:14px}
.article-card h3{margin:12px 0 8px;font-size:clamp(1.35rem,2vw,1.9rem)}.article-card p{color:var(--gray);font-size:13px}.article-category{font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);margin-top:14px}.article-body{max-width:790px;margin-inline:auto}.article-body h2{margin-top:56px;margin-bottom:20px;font-size:38px}.article-body h3{margin-top:36px;margin-bottom:12px;font-size:26px}.article-body p{margin:0 0 20px;color:#36383c;line-height:1.8}.article-body ul,.article-body ol{color:#36383c;line-height:1.78}
/* contact */
.contact-layout{display:grid;grid-template-columns:7fr 5fr;gap:76px;align-items:start}.form-group-title{margin:40px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--border);font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.11em;color:var(--gold-dark);text-transform:uppercase}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:13px;font-weight:650;color:var(--charcoal)}.field input,.field select,.field textarea{width:100%;min-height:56px;border:0;border-bottom:1px solid var(--border-strong);border-radius:0;background:transparent;padding:14px 2px;color:var(--charcoal);outline:none;transition:border-color .2s}.field textarea{min-height:160px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy)}.field-help{font-size:11px;color:var(--muted)}.form-error{display:none;padding:13px 15px;background:#fff3f2;border:1px solid #e8b5b0;color:#8f1f17;margin-bottom:18px;font-size:13px}.form-error.is-visible{display:block}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-aside{position:sticky;top:100px}.contact-list{border-top:1px solid var(--border)}.contact-item{padding:18px 0;border-bottom:1px solid var(--border)}.contact-item strong{display:block;color:var(--gold-dark);font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase}.contact-item span{display:block;margin-top:6px;color:var(--navy)}
/* prefooter/footer */
.prefooter{background:var(--navy);color:#fff;padding:92px 0}.prefooter h2{color:#fff;font-size:clamp(2.8rem,5vw,4.8rem)}.prefooter p{color:#dce1e8}.site-footer{background:var(--deep-navy);color:#dce1e8;padding:52px 0 26px;overflow:hidden}.footer-kicker{display:flex;justify-content:space-between;gap:20px;padding-bottom:28px;margin-bottom:44px;border-bottom:1px solid rgba(255,255,255,.14);font:700 10px/1 'Manrope',sans-serif;letter-spacing:.13em;color:var(--gold)}.footer-grid{display:grid;grid-template-columns:4fr 2fr 3fr 3fr;gap:48px}.footer-brand img{width:94px;height:70px;object-fit:contain;filter:brightness(0) invert(1)}.footer-brand p{margin-top:18px;font-size:13px;color:#cbd4df;max-width:310px}.footer-title{font:700 10px/1.4 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:16px}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:13px}.footer-links a{display:flex;justify-content:space-between;gap:10px}.footer-links a span{opacity:.45;transition:transform .2s,opacity .2s}.footer-links a:hover{color:var(--gold)}.footer-links a:hover span{transform:translateX(4px);opacity:1}.footer-contact{font-size:13px;line-height:1.75}.footer-contact div{margin-bottom:10px}.footer-contact strong{display:block;font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.footer-wordmark{font:700 clamp(6rem,17vw,15rem)/.72 'Manrope',sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.055);white-space:nowrap;margin-top:72px;transform:translateX(-.04em)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#99a8ba}.footer-legal{display:flex;gap:18px}
.not-found{min-height:70vh;display:grid;place-items:center;text-align:center}
/* motion */
.motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.motion-reveal.is-visible{opacity:1;transform:none}.motion-reveal[data-delay='1']{transition-delay:.08s}.motion-reveal[data-delay='2']{transition-delay:.16s}.motion-reveal[data-delay='3']{transition-delay:.24s}.hero--motion .hero__copy>*{opacity:0;transform:translateY(24px);animation:hero-in .85s var(--ease-out) forwards}.hero--motion .hero__copy>*:nth-child(1){animation-delay:.04s}.hero--motion .hero__copy>*:nth-child(2){animation-delay:.12s}.hero--motion .hero__copy>*:nth-child(3){animation-delay:.2s}.hero--motion .hero__copy>*:nth-child(4){animation-delay:.28s}.hero--motion .hero__copy>*:nth-child(5){animation-delay:.36s}.hero--motion .hero__visual{opacity:0;transform:translateY(18px) scale(.985);animation:hero-media-in 1s .18s var(--ease-out) forwards}@keyframes hero-in{to{opacity:1;transform:none}}@keyframes hero-media-in{to{opacity:1;transform:none}}
@media(max-width:1100px){:root{--header-h:72px;--section:108px}.container{width:min(calc(100% - 64px),var(--container))}.site-header__inner{grid-template-columns:150px 1fr auto}.main-nav,.header-cta{display:none}.menu-toggle{display:block;justify-self:end}.site-logo img{width:84px;height:52px}.mobile-panel{position:fixed;inset:var(--header-h) 0 0;background:var(--white);padding:26px 0 38px;overflow:auto;z-index:490;opacity:0;visibility:hidden;transform:translateY(-12px);display:block;transition:opacity .35s var(--ease-out),visibility .35s,transform .35s var(--ease-out)}.mobile-panel.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu-label{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--border);font:700 9px/1 'Manrope',sans-serif;letter-spacing:.12em;color:var(--gold-dark)}.mobile-nav{display:flex;flex-direction:column}.mobile-nav>a,.mobile-nav>details{border-bottom:1px solid var(--border)}.mobile-nav>a,.mobile-nav summary{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:18px 0;color:var(--navy);list-style:none}.mobile-nav span{font:700 9px/1 'Manrope',sans-serif;color:var(--gold-dark)}.mobile-nav strong{font:650 25px/1 'Manrope',sans-serif;letter-spacing:-.03em}.mobile-nav b{font-weight:500}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-subnav{display:flex;flex-direction:column;padding:2px 0 16px 50px}.mobile-subnav a{padding:8px 0;color:var(--gray);font-size:14px}.mobile-subnav b{float:right}.mobile-panel__cta{width:100%;margin-top:26px}.hero-motion-grid{grid-template-columns:6fr 5fr;gap:38px}.hero__visual .media{min-height:540px}.services-editorial__grid{grid-template-columns:4fr 7fr;gap:48px}.service-motion-row{grid-template-columns:42px 1fr 28px}.service-motion-row__desc{display:none}.motion-section-head{grid-template-columns:2fr 7fr 3fr}.process-mini{grid-template-columns:repeat(3,1fr);gap:28px 0}.journey{grid-template-columns:repeat(5,1fr);row-gap:18px}.approach-grid{grid-template-columns:repeat(3,1fr)}.approach-item:nth-child(3n){border-right:0}.contact-layout{grid-template-columns:1fr}.contact-aside{position:static}.footer-grid{grid-template-columns:2fr 1fr 1.5fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:767px){:root{--section:78px;--header-h:68px}body{font-size:15px}.container{width:calc(100% - 40px)}h1{font-size:clamp(3rem,14vw,4.25rem)}h2{font-size:clamp(2.35rem,11vw,3.35rem)}.section--compact{padding-block:64px}.section--large{padding-block:88px}.grid-12{grid-template-columns:1fr}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-12{grid-column:auto}.hero{padding:38px 0 48px}.hero--motion{min-height:auto}.hero-motion-grid{grid-template-columns:1fr;gap:44px}.hero__copy{gap:21px}.hero__visual .media{height:auto;min-height:auto;aspect-ratio:4/5}.hero-visual-meta{grid-template-columns:1fr}.hero-visual-meta span:last-child{grid-column:auto}.hero-note{margin-top:6px}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .button{width:100%}.marquee{padding:13px 0}.marquee__group span{font-size:11px}.intro-editorial__grid{grid-template-columns:1fr;gap:30px}.sticky-label{position:static;flex-direction:row;justify-content:space-between}.intro-copy-grid{grid-template-columns:1fr;gap:24px;margin-top:36px}.intro-copy-grid p{font-size:15px}.services-editorial__grid{grid-template-columns:1fr}.services-editorial__intro{position:static}.services-editorial__media{width:100%;margin-top:32px}.service-motion-row{grid-template-columns:38px 1fr 24px;padding:22px 0}.service-motion-row__title{font-size:1.55rem}.motion-section-head{grid-template-columns:1fr;gap:20px;margin-bottom:42px}.motion-section-head>div{flex-direction:row;justify-content:space-between}.motion-section-head>.text-link{justify-self:start}.project-grid{grid-template-columns:1fr;gap:58px}.project-grid--motion .project-card:nth-child(even){padding-top:0}.project-card{grid-column:auto!important}.principle-motion-row{grid-template-columns:50px 1fr;gap:18px;padding:26px 0}.principle-motion-row p{grid-column:2}.process-motion-row{grid-template-columns:50px 1fr auto;gap:14px;padding:19px 0}.process-motion-row strong{font-size:1.35rem}.interior-motion__grid{grid-template-columns:1fr;gap:42px}.interior-motion__grid>div:first-child{position:static}.interior-motion__media{padding-right:0;padding-bottom:75px}.interior-motion__secondary{width:45%;right:0;bottom:0;border-width:6px}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.meta-strip__grid{grid-template-columns:1fr}.meta-strip__item{border-right:0;border-bottom:1px solid var(--border);padding:18px 20px}.editorial-row{grid-template-columns:46px 1fr auto;gap:12px}.principles{grid-template-columns:1fr}.principle,.principle:nth-child(odd){border-right:0}.process-mini{grid-template-columns:1fr;gap:0}.process-mini__item{padding:15px 0;border-right:0;border-bottom:1px solid var(--border)}.approach-grid{grid-template-columns:1fr}.approach-item,.approach-item:nth-child(3n){border-right:0}.scope-grid{grid-template-columns:1fr}.scope-item,.scope-item:nth-child(odd),.scope-item:nth-child(even){border-right:0;padding:20px 0}.connected-link{grid-template-columns:1fr auto}.connected-link span{grid-column:1/-1}.journey{grid-template-columns:1fr;gap:0}.journey__item{border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:58px 1fr;align-items:start}.stage{grid-template-columns:1fr;gap:18px}.phase-transition .container{grid-template-columns:1fr;gap:16px}.pathway-grid{grid-template-columns:1fr}.pathway,.pathway:nth-child(2),.pathway:last-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding:22px 0}.form-row{grid-template-columns:1fr;gap:0}.footer-kicker{flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-wordmark{margin-top:50px}.footer-bottom{flex-direction:column}.footer-legal{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee__track{animation:none}*,*::before,*::after{transition:none!important;animation:none!important}.motion-reveal{opacity:1!important;transform:none!important}}


/* =========================================================
   ARAYA PRODUCTION UI 4.0
   Consolidated production overrides
   Typography follows the approved Elementor system:
   Desktop H1 56 / H2 46 / H3 28 / body 17
   Tablet  H1 48 / H2 38 / H3 24 / body 16
   Mobile  H1 40 / H2 32 / H3 22 / body 16
   ========================================================= */

:root{
  --fs-h1:56px;
  --fs-h2:46px;
  --fs-h3:28px;
  --fs-body:17px;
  --section:120px;
  --araya-content-width:1280px;
  --araya-side-space:40px;
  --araya-header-top:96px;
  --araya-header-scroll:90px;
  --araya-ease:cubic-bezier(.16,1,.3,1);
}

body{
  font-size:var(--fs-body);
  line-height:1.68;
}

h1{
  font-size:var(--fs-h1);
  line-height:1.04;
  letter-spacing:-.035em;
}
h2{
  font-size:var(--fs-h2);
  line-height:1.08;
  letter-spacing:-.032em;
}
h3{
  font-size:var(--fs-h3);
  line-height:1.18;
  letter-spacing:-.025em;
}
p{line-height:1.7}

.section--large{padding-block:144px}
.section--compact{padding-block:82px}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}

img{height:auto}

/* Smooth but restrained interaction */
a,
button,
.button,
.nav-link,
.project-card,
.article-card,
.service-motion-row,
.principle-motion-row,
.process-motion-row,
.editorial-row,
.connected-link,
.contact-item{
  transition:
    color .36s var(--araya-ease),
    background-color .36s var(--araya-ease),
    border-color .36s var(--araya-ease),
    opacity .36s var(--araya-ease),
    transform .36s var(--araya-ease),
    box-shadow .36s var(--araya-ease);
}
.project-card .media img,
.article-card .media img{
  transition:transform .7s var(--araya-ease);
}
.project-card:hover .media img,
.article-card:hover .media img{transform:scale(1.022)}
.project-card:hover{transform:translateY(-3px)}
.text-link .arrow,.footer-links a span{transition:transform .32s var(--araya-ease),opacity .32s var(--araya-ease)}
.text-link:hover .arrow,.footer-links a:hover span{transform:translateX(5px)}

/* Shared desktop grid */
.site-header__inner,
.container.hero-full__inner{
  width:min(var(--araya-content-width),calc(100% - (var(--araya-side-space) * 2)));
  max-width:var(--araya-content-width);
  margin-inline:auto;
}

/* Header */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  height:var(--araya-header-top);
  background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:none;
  backdrop-filter:none;
  transition:
    height .38s var(--araya-ease),
    background-color .38s var(--araya-ease),
    border-color .38s var(--araya-ease),
    box-shadow .38s var(--araya-ease);
}
.site-header__inner{
  height:100%;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:30px;
  padding-block:12px;
}
.site-logo{
  display:flex;
  align-items:center;
  height:100%;
  line-height:0;
}
.site-logo img{
  display:block;
  width:auto;
  height:auto;
  max-height:60px;
  object-fit:contain;
  transition:filter .35s var(--araya-ease),max-height .35s var(--araya-ease),opacity .35s var(--araya-ease);
}
.main-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  height:100%;
  font-size:13px;
  font-weight:600;
}
.nav-link{
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
  padding:0;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:9px;
  height:2px;
  background:var(--red);
  transition:right .3s var(--araya-ease);
}
.nav-link:hover::after,.nav-link[aria-current=page]::after{right:0}
.header-cta{
  min-height:48px;
  padding:11px 18px;
  font-size:12px;
  gap:18px;
}

/* Transparent state only for hero pages on desktop */
.site-header--overlay:not(.is-scrolled){
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.site-header--overlay:not(.is-scrolled) .site-logo img{filter:brightness(0) invert(1)}
.site-header--overlay:not(.is-scrolled) .nav-link{color:#fff}
.site-header--overlay:not(.is-scrolled) .header-cta{
  color:#fff;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.62);
}
.site-header--overlay:not(.is-scrolled) .header-cta:hover{
  color:var(--navy);
  background:#fff;
  border-color:#fff;
}

/* Scrolled desktop state */
.site-header.is-scrolled{
  height:var(--araya-header-scroll);
  background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:0 8px 28px rgba(2,26,56,.08);
}
.site-header.is-scrolled .site-logo img{
  filter:none;
  max-height:54px;
}
.site-header.is-scrolled .nav-link{color:var(--navy)}
.site-header.is-scrolled .nav-link:hover,
.site-header.is-scrolled .nav-link[aria-current=page]{color:var(--red)}
.site-header.is-scrolled .header-cta{
  color:#fff;
  background:var(--navy);
  border-color:var(--navy);
}
.site-header.is-scrolled .header-cta:hover{
  color:#fff;
  background:var(--red);
  border-color:var(--red);
}
.header-progress{height:2px;background:var(--gold)}
.menu-toggle{display:none}

/* Full image hero */
.hero-full{
  position:relative;
  min-height:82svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--deep-navy);
  color:#fff;
}
.hero-full__media{position:absolute;inset:0}
.hero-full__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-full__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(2,26,56,.91) 0%,
      rgba(2,26,56,.78) 28%,
      rgba(2,26,56,.52) 53%,
      rgba(2,26,56,.20) 82%,
      rgba(2,26,56,.10) 100%);
}
.hero-full__overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(2,26,56,.28),transparent 45%);
}
.container.hero-full__inner{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  box-sizing:border-box;
  padding-top:calc(var(--araya-header-top) + 86px);
  padding-bottom:82px;
}
@supports (height:100dvh){
  .container.hero-full__inner{min-height:100dvh}
}
.hero-full__content{
  width:min(650px,53vw);
  max-width:650px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.hero-full h1{
  max-width:650px;
  color:#fff;
  font-size:var(--fs-h1);
  line-height:1.04;
}
.hero-full__lead{
  max-width:590px;
  color:rgba(255,255,255,.88);
  font-size:18px;
  line-height:1.68;
}
.hero-full__eyebrow{color:var(--gold)}
.hero-full .breadcrumb{color:rgba(255,255,255,.72)}
.hero-full .breadcrumb a{color:rgba(255,255,255,.82)}
.hero-full .breadcrumb a:hover{color:#fff}
.hero-full__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.button--hero-primary{background:#fff;border-color:#fff;color:var(--navy)}
.button--hero-primary:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
.button--hero-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.58);color:#fff}
.button--hero-secondary:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-2px)}
.hero-full__meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:8px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.28);
}
.hero-full__meta span{
  display:block;
  margin-bottom:5px;
  font:700 10px/1.4 'Manrope',sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--gold);
}
.hero-full__meta strong{font-size:13px;line-height:1.5;color:#fff}
.hero-full__visual-label{
  position:absolute;
  right:40px;
  bottom:28px;
  z-index:3;
  font:700 10px/1.4 'Manrope',sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
}

/* Services mega menu */
.nav-group{
  position:static;
  height:100%;
  display:flex;
  align-items:center;
}
.nav-mega{
  position:fixed;
  top:var(--araya-header-top);
  left:0;
  width:100%;
  z-index:980;
  background:#fff;
  color:var(--charcoal);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  box-shadow:0 24px 58px rgba(2,26,56,.12);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-10px);
  transition:opacity .25s var(--araya-ease),transform .25s var(--araya-ease),visibility .25s;
}
.site-header.is-scrolled .nav-mega{top:var(--araya-header-scroll)}
.nav-group:hover .nav-mega,.nav-group:focus-within .nav-mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.nav-mega__inner{
  display:grid;
  grid-template-columns:1.05fr 2fr 1fr;
  gap:40px;
  padding-block:34px;
  align-items:stretch;
}
.nav-mega__intro{
  padding-right:32px;
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.nav-mega__heading{
  margin:0;
  font:650 28px/1.12 'Manrope',sans-serif;
  letter-spacing:-.025em;
  color:var(--navy);
}
.nav-mega__intro p:not(.nav-mega__heading){
  font-size:14px;
  line-height:1.65;
  color:var(--gray);
  max-width:330px;
}
.nav-mega__services{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.nav-mega__service{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--border);
}
.nav-mega__service:hover{padding-left:5px;color:var(--red)}
.nav-mega__index{font:700 10px/1 'Manrope',sans-serif;color:var(--gold-dark)}
.nav-mega__service-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.nav-mega__service-copy strong{font:650 14px/1.3 'Manrope',sans-serif;color:var(--navy)}
.nav-mega__service-copy small{font-size:11px;line-height:1.4;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-mega__visual{
  position:relative;
  min-height:250px;
  overflow:hidden;
  background:var(--navy);
  color:#fff;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  gap:6px;
}
.nav-mega__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.74}
.nav-mega__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,26,56,.84),rgba(2,26,56,.03) 68%)}
.nav-mega__visual span,.nav-mega__visual strong,.nav-mega__visual b{position:relative;z-index:2}
.nav-mega__visual span{font:700 10px/1.3 'Manrope',sans-serif;letter-spacing:.12em;color:var(--gold)}
.nav-mega__visual strong{font:650 19px/1.18 'Manrope',sans-serif}
.nav-mega__visual b{position:absolute;right:20px;bottom:20px}

/* Full-screen tablet/mobile navigation */
.mobile-panel{
  display:block;
  position:fixed;
  inset:0;
  z-index:1300;
  background:#fff;
  color:var(--charcoal);
  overflow:auto;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-10px);
  transition:opacity .3s var(--araya-ease),transform .3s var(--araya-ease),visibility .3s;
}
.mobile-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.mobile-panel__top{
  height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--border);
}
.mobile-panel__logo img{width:108px;height:auto}
.mobile-panel__close{
  width:48px;
  height:48px;
  border:0;
  background:transparent;
  color:var(--navy);
  position:relative;
}
.mobile-panel__close span{position:absolute;left:11px;top:23px;width:26px;height:1.5px;background:currentColor}
.mobile-panel__close span:first-child{transform:rotate(45deg)}
.mobile-panel__close span:last-child{transform:rotate(-45deg)}
.mobile-panel__body{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);
  gap:52px;
  padding-top:34px;
  padding-bottom:46px;
}
.mobile-nav{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.mobile-nav>a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid var(--border);
  color:var(--navy);
}
.mobile-nav>a strong{font:600 24px/1.15 'Manrope',sans-serif;letter-spacing:-.025em}
.mobile-nav>a b{font-size:24px;font-weight:400}
.mobile-nav>a:hover,.mobile-nav>a[aria-current=page]{color:var(--red);padding-left:5px}
.mobile-panel__aside{
  border-left:1px solid var(--border);
  padding-left:46px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
}
.mobile-panel__kicker{font:700 10px/1.4 'Manrope',sans-serif;letter-spacing:.15em;color:var(--gold-dark)}
.mobile-panel__aside p{max-width:330px;color:var(--gray);line-height:1.65}
.mobile-panel__cta{width:100%;max-width:330px}
.mobile-panel__project{width:100%;max-width:330px;display:flex;flex-direction:column;gap:10px;color:var(--navy)}
.mobile-panel__project img{width:100%;aspect-ratio:16/8.8;object-fit:cover}
.mobile-panel__project span{font:700 10px/1.5 'Manrope',sans-serif;letter-spacing:.14em;color:var(--gray)}
.mobile-panel__social{display:flex;gap:18px;font-size:13px;font-weight:600;color:var(--navy)}

/* Contact enhancements */
.contact-social{display:flex;flex-direction:column;margin-top:18px;border-top:1px solid var(--border)}
.contact-social a{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid var(--border);
  font-size:14px;
}
.contact-social a span{color:var(--gray)}
.contact-social a:hover{color:var(--red)}
.form-label{font-size:14px}
.form-help{font-size:12px}

/* Readability */
.article-card p{font-size:15px;line-height:1.7}
.footer-bottom{font-size:12px}

/* Footer */
.site-footer{
  position:relative;
  overflow:hidden;
  background:var(--deep-navy);
  color:#dce1e8;
  padding:0;
}
.footer-sketch{
  position:absolute;
  left:50%;
  bottom:8px;
  width:min(1450px,95vw);
  height:260px;
  transform:translateX(-50%);
  background:url("../images/footer-architectural-sketch.svg") center bottom/contain no-repeat;
  opacity:.09;
  pointer-events:none;
}
.footer-kicker,.footer-grid,.footer-bottom{position:relative;z-index:2}
.footer-kicker{
  margin:0 auto;
  padding-top:34px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.footer-grid{
  padding-top:30px;
  padding-bottom:38px;
  row-gap:28px;
}
.footer-brand img{
  display:block;
  width:78px;
  height:auto;
  margin-bottom:18px;
  filter:brightness(0) invert(1);
  opacity:.94;
}
.footer-bottom{
  margin-top:0;
  padding-top:18px;
  padding-bottom:20px;
}
.footer-contact>div{margin-bottom:12px}
.footer-social{display:flex;gap:18px;margin-top:16px}
.footer-social a{font-size:13px;color:#fff}
.footer-social a:hover{color:var(--gold)}

/* Floating actions */
.floating-whatsapp,.back-to-top{
  position:fixed;
  bottom:24px;
  z-index:900;
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  box-shadow:0 12px 32px rgba(2,26,56,.16);
}
.floating-whatsapp{
  right:24px;
  background:#25D366;
  color:#fff;
  box-shadow:0 12px 32px rgba(37,211,102,.27);
}
.floating-whatsapp svg{width:25px;height:25px}
.floating-whatsapp:hover{background:#1EBE5D;transform:translateY(-3px) scale(1.03)}
.back-to-top{
  left:24px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.96);
  color:var(--navy);
  font-size:20px;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-3px)}

/* Contrast safety: never use light gold as small text on white */
.section:not(.section--navy):not(.section--deep) .eyebrow--gold{color:var(--gold-dark)}

/* Tablet */
@media(max-width:1179px){
  :root{
    --fs-h1:48px;
    --fs-h2:38px;
    --fs-h3:24px;
    --fs-body:16px;
    --section:96px;
    --araya-side-space:28px;
    --araya-header-top:82px;
    --araya-header-scroll:82px;
  }
  body{font-size:var(--fs-body)}
  .container{width:min(calc(100% - 56px),var(--container))}
  .site-header,
  .site-header--overlay:not(.is-scrolled),
  .site-header.is-scrolled{
    height:82px;
    background:#fff;
    border-bottom:1px solid var(--border);
    box-shadow:0 7px 22px rgba(2,26,56,.05);
  }
  .site-header__inner{
    width:calc(100% - 56px);
    grid-template-columns:1fr auto;
    gap:20px;
    padding-block:8px;
  }
  .site-logo img,
  .site-header--overlay:not(.is-scrolled) .site-logo img,
  .site-header.is-scrolled .site-logo img{
    width:auto;
    max-height:58px;
    filter:none;
  }
  .main-nav,.header-cta{display:none}
  .menu-toggle{
    display:block;
    justify-self:end;
    width:48px;
    height:48px;
    border:0;
    background:transparent;
    color:var(--navy);
    padding:9px;
  }
  .menu-toggle span{display:block;width:27px;height:2px;background:currentColor;margin:5px auto}
  .menu-toggle span:nth-child(2){width:21px;margin-left:auto}
  .menu-toggle[aria-expanded=true]{opacity:0;pointer-events:none}

  .container.hero-full__inner{
    width:calc(100% - 56px);
    padding-top:calc(82px + 72px);
    padding-bottom:64px;
  }
  .hero-full{min-height:80svh}
  .hero-full__content{width:min(620px,66vw)}
  .hero-full h1{font-size:var(--fs-h1)}
  .hero-full__lead{font-size:17px}
}

/* Mobile */
@media(max-width:767px){
  :root{
    --fs-h1:40px;
    --fs-h2:32px;
    --fs-h3:22px;
    --fs-body:16px;
    --section:72px;
    --araya-side-space:20px;
  }
  body{font-size:16px}
  .container{width:calc(100% - 40px)}
  .section--compact{padding-block:60px}
  .section--large{padding-block:82px}

  .site-header,
  .site-header--overlay:not(.is-scrolled),
  .site-header.is-scrolled{height:74px}
  .site-header__inner{width:calc(100% - 40px);padding-block:7px}
  .site-logo img,
  .site-header--overlay:not(.is-scrolled) .site-logo img,
  .site-header.is-scrolled .site-logo img{max-height:54px}

  .mobile-panel__top{width:calc(100% - 40px);height:82px}
  .mobile-panel__logo img{width:104px}
  .mobile-panel__body{
    width:calc(100% - 40px);
    display:block;
    padding-top:12px;
    padding-bottom:34px;
  }
  .mobile-nav>a{padding:17px 0}
  .mobile-nav>a strong{font-size:20px}
  .mobile-panel__aside{
    border-left:0;
    border-top:1px solid var(--border);
    padding:24px 0 0;
    margin-top:20px;
    gap:17px;
  }
  .mobile-panel__project{display:none}
  .mobile-panel__cta{max-width:none}
  .mobile-panel__social{padding-top:2px}

  .hero-full{min-height:82svh}
  .container.hero-full__inner{
    width:calc(100% - 40px);
    padding-top:calc(74px + 64px);
    padding-bottom:54px;
  }
  .hero-full__content{width:100%;max-width:none;gap:17px}
  .hero-full h1{font-size:var(--fs-h1);max-width:none}
  .hero-full__lead{font-size:16px;line-height:1.65}
  .hero-full__meta{grid-template-columns:1fr;gap:10px}
  .hero-full__actions{flex-direction:column}
  .hero-full__actions .button{width:100%}
  .hero-full__visual-label{right:20px;bottom:16px}

  .footer-kicker{padding-top:30px;padding-bottom:18px}
  .footer-grid{padding-top:26px;padding-bottom:30px}
  .footer-bottom{padding-top:16px;padding-bottom:18px}
  .footer-sketch{height:210px;width:150%;opacity:.065}

  .floating-whatsapp,.back-to-top{bottom:16px;width:50px;height:50px}
  .floating-whatsapp{right:16px}
  .back-to-top{left:16px}
}

@media(prefers-reduced-motion:reduce){
  .site-header,
  .nav-mega,
  .mobile-panel,
  .mobile-nav>a,
  .project-card .media img,
  .article-card .media img{transition:none!important}
}


/* =========================================================
   ARAYA UI 4.1
   FULL-VIEWPORT HERO
   Every primary hero occupies at least one full viewport.
   100vh is the baseline; dvh is used where supported so
   mobile browser chrome does not leave an unwanted gap.
   ========================================================= */

.hero-full,
.hero--motion {
  min-height: 100vh;
}

/* Modern mobile browsers: use the truly visible viewport while
   retaining 100vh above as a fallback for older browsers. */
@supports (height: 100dvh) {
  .hero-full,
  .hero--motion {
    min-height: 100dvh;
  }
}

/* Keep full-screen behavior at every responsive breakpoint.
   Use min-height rather than a fixed height so long project
   metadata/copy can grow without being clipped. */
@media (max-width: 1179px) {
  .hero-full,
  .hero--motion {
    min-height: 100vh;
  }

  @supports (height: 100dvh) {
    .hero-full,
    .hero--motion {
      min-height: 100dvh;
    }
  }
}

@media (max-width: 767px) {
  .hero-full,
  .hero--motion {
    min-height: 100vh;
  }

  @supports (height: 100dvh) {
    .hero-full,
    .hero--motion {
      min-height: 100dvh;
    }
  }

  /* Vertically balance shorter mobile hero content while
     preserving room below the fixed header. */
  .hero-full {
    align-items: flex-end;
  }

  .container.hero-full__inner {
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
    box-sizing: border-box;
  }

  @supports (height: 100dvh) {
    .container.hero-full__inner {
      min-height: 100dvh;
    }
  }
}


/* =========================================================
   ARAYA PROCESS JOURNEY v4.2
   Serpentine / snake workflow inspired by the supplied
   reference, adapted to the Araya brand system.
   ========================================================= */

.project-journey-section {
  overflow: hidden;
}

.project-journey-head {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr);
  gap: 48px;
  align-items: end;
  margin-bottom: 58px;
}

.project-journey-head h2 {
  margin: 14px 0 0;
  max-width: 900px;
}

.project-journey-head > p {
  margin: 0;
  max-width: 430px;
  color: var(--gray);
  font-size: 16px;
  line-height: 1.7;
}

.journey-snake {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(150px, auto));
  column-gap: 88px;
  row-gap: 48px;
  min-height: 560px;
  padding: 10px 28px 6px;
}

.journey-snake__path {
  position: absolute;
  inset: 18px 1.5% 4px 1.5%;
  width: 97%;
  height: calc(100% - 22px);
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}

.journey-snake__path path {
  fill: none;
  stroke: rgba(4, 42, 90, .48);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.journey-step {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  text-align: center;
}

.journey-step.p1 { grid-column: 1; grid-row: 1; }
.journey-step.p2 { grid-column: 2; grid-row: 1; }
.journey-step.p3 { grid-column: 3; grid-row: 1; }
.journey-step.p4 { grid-column: 3; grid-row: 2; }
.journey-step.p5 { grid-column: 2; grid-row: 2; }
.journey-step.p6 { grid-column: 1; grid-row: 2; }
.journey-step.p7 { grid-column: 1; grid-row: 3; }
.journey-step.p8 { grid-column: 2; grid-row: 3; }
.journey-step.p9 { grid-column: 3; grid-row: 3; }

.journey-step__node {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--off-white);
  border: 3px solid var(--gold);
  box-shadow:
    0 0 0 7px rgba(226, 177, 88, .12),
    0 8px 24px rgba(4, 42, 90, .08);
  color: var(--navy);
  transition:
    transform .4s var(--ease-araya),
    box-shadow .4s var(--ease-araya),
    background-color .4s var(--ease-araya),
    color .4s var(--ease-araya);
}

.journey-step.is-realize .journey-step__node {
  border-color: var(--red);
  box-shadow:
    0 0 0 7px rgba(221, 26, 36, .10),
    0 8px 24px rgba(4, 42, 90, .08);
}

.journey-step__node span {
  font: 700 19px/1 "Manrope", sans-serif;
  letter-spacing: -.02em;
}

.journey-step__copy {
  width: min(220px, 100%);
  margin-top: 18px;
}

.journey-step__phase {
  display: block;
  margin-bottom: 7px;
  font: 700 10px/1.2 "Manrope", sans-serif;
  letter-spacing: .14em;
  color: #8C6E37;
}

.journey-step.is-realize .journey-step__phase {
  color: var(--red);
}

.journey-step h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.journey-step:hover .journey-step__node {
  transform: translateY(-5px) scale(1.045);
  background: var(--navy);
  color: #fff;
  box-shadow:
    0 0 0 8px rgba(4, 42, 90, .08),
    0 16px 34px rgba(4, 42, 90, .16);
}

.journey-step.is-realize:hover .journey-step__node {
  background: var(--red);
  box-shadow:
    0 0 0 8px rgba(221, 26, 36, .08),
    0 16px 34px rgba(4, 42, 90, .16);
}

.journey-snake__start,
.journey-snake__end {
  position: absolute;
  z-index: 3;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 7px rgba(226, 177, 88, .14);
  pointer-events: none;
}

.journey-snake__start {
  top: 74px;
  left: 17px;
  transform: translate(-50%, -50%);
}

.journey-snake__end {
  right: 17px;
  bottom: 34px;
  transform: translate(50%, 50%);
}

.journey-snake__legend {
  display: flex;
  justify-content: flex-end;
  gap: 28px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  color: var(--gray);
  font: 700 10px/1.2 "Manrope", sans-serif;
  letter-spacing: .12em;
}

.journey-snake__legend span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.journey-snake__legend i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--gold);
}

.journey-snake__legend i.is-realize {
  background: var(--red);
}

@media (max-width: 1024px) {
  .project-journey-head {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 46px;
  }

  .journey-snake {
    column-gap: 48px;
    min-height: 520px;
    padding-inline: 18px;
  }

  .journey-step__node {
    width: 66px;
    height: 66px;
  }

  .journey-step h3 {
    font-size: 16px;
  }

  .journey-step__copy {
    width: min(180px, 100%);
  }
}

@media (max-width: 767px) {
  .project-journey-head {
    margin-bottom: 34px;
  }

  .journey-snake {
    display: block;
    min-height: 0;
    padding: 0;
  }

  .journey-snake__path,
  .journey-snake__start,
  .journey-snake__end,
  .journey-snake__legend {
    display: none;
  }

  .journey-step {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    text-align: left;
    padding: 0 0 30px;
  }

  .journey-step::before {
    content: "";
    position: absolute;
    left: 30px;
    top: 58px;
    bottom: -2px;
    width: 1px;
    background: rgba(4, 42, 90, .28);
  }

  .journey-step:last-of-type::before {
    display: none;
  }

  .journey-step__node {
    width: 60px;
    height: 60px;
    box-shadow:
      0 0 0 5px rgba(226, 177, 88, .10),
      0 7px 18px rgba(4, 42, 90, .07);
  }

  .journey-step.is-realize .journey-step__node {
    box-shadow:
      0 0 0 5px rgba(221, 26, 36, .08),
      0 7px 18px rgba(4, 42, 90, .07);
  }

  .journey-step__copy {
    width: auto;
    margin-top: 5px;
  }

  .journey-step h3 {
    font-size: 18px;
  }

  .journey-step__phase {
    margin-bottom: 6px;
  }
}


/* =========================================================
   ARAYA PROCESS JOURNEY v4.2.1
   Desktop line alignment fix:
   the connector now passes through the vertical center
   of the circular step nodes.
   ========================================================= */

@media (min-width: 768px) {
  .journey-snake__path {
    inset: 10px 1.5% 0 1.5%;
    width: 97%;
    height: calc(100% - 10px);
  }

  .journey-snake__start {
    top: 47px;
    left: 17px;
    transform: translate(-50%, -50%);
  }

  .journey-snake__end {
    right: 17px;
    bottom: 42px;
    transform: translate(50%, 50%);
  }

  /* Nodes remain above the connector line so the line appears
     to enter/exit exactly through the middle without covering text. */
  .journey-step__node {
    position: relative;
    z-index: 3;
  }

  .journey-snake__path {
    z-index: 1;
  }
}


/* =========================================================
   ARAYA PROCESS JOURNEY v4.2.2
   FINAL DESKTOP CONNECTOR GEOMETRY
   The steps and connector share the SAME percentage
   coordinates, so rows 01–03, 04–06 and 07–09 always
   cross the exact vertical center of every circular node.
   ========================================================= */

@media (min-width: 768px) {
  .journey-snake {
    position: relative;
    display: block;
    min-height: 620px;
    padding: 0;
  }

  .journey-snake__path {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: visible;
    pointer-events: none;
  }

  .journey-snake__path path {
    fill: none;
    stroke: rgba(4, 42, 90, .48);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .journey-step {
    position: absolute;
    z-index: 2;
    width: 230px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transform: translate(-50%, -37px);
  }

  /* Exact shared coordinates with SVG path:
     X = 15% / 50% / 85%
     Y = 12% / 50% / 88% */
  .journey-step.p1 { left: 15%; top: 12%; }
  .journey-step.p2 { left: 50%; top: 12%; }
  .journey-step.p3 { left: 85%; top: 12%; }

  .journey-step.p4 { left: 85%; top: 50%; }
  .journey-step.p5 { left: 50%; top: 50%; }
  .journey-step.p6 { left: 15%; top: 50%; }

  .journey-step.p7 { left: 15%; top: 88%; }
  .journey-step.p8 { left: 50%; top: 88%; }
  .journey-step.p9 { left: 85%; top: 88%; }

  .journey-step__node {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
  }

  .journey-step__copy {
    position: relative;
    z-index: 4;
    width: 220px;
    margin-top: 18px;
  }

  /* Start/end dots use the same Y coordinates as the path. */
  .journey-snake__start,
  .journey-snake__end {
    position: absolute;
    z-index: 3;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 7px rgba(226, 177, 88, .14);
    pointer-events: none;
  }

  .journey-snake__start {
    left: 2%;
    top: 12%;
    transform: translate(-50%, -50%);
  }

  .journey-snake__end {
    left: 98%;
    top: 88%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .journey-snake {
    min-height: 580px;
  }

  .journey-step {
    width: 190px;
    transform: translate(-50%, -33px);
  }

  .journey-step__copy {
    width: 180px;
  }
}

/* Keep the existing clean vertical mobile timeline. */
@media (max-width: 767px) {
  .journey-step {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: auto;
    transform: none;
  }
}

/* CONTACT PAGE — spacing after heading divider */

.contact-aside .contact-list {
  margin-top: 0;
  border-top: 1px solid var(--border);
  padding-top: 18px;
}
/* Hero sketch mobile text readability */
@media(max-width:767px){
  .hero-full__overlay{
    background:linear-gradient(180deg,rgba(2,26,56,.94) 0%,rgba(2,26,56,.85) 60%,rgba(2,26,56,.52) 100%)!important;
  }
}

/* Responsive Picture Support in Hero Full */
.hero-full__media picture,
.hero-full__picture{
  display:block;
  width:100%;
  height:100%;
}
@media(max-width:767px){
  .hero-full__overlay{
    background:linear-gradient(180deg,rgba(2,26,56,.92) 0%,rgba(2,26,56,.80) 55%,rgba(2,26,56,.45) 100%)!important;
  }
}
@media(min-width:768px) and (max-width:1024px){
  .hero-full__overlay{
    background:linear-gradient(180deg,rgba(2,26,56,.88) 0%,rgba(2,26,56,.70) 50%,rgba(2,26,56,.30) 100%)!important;
  }
}


/* PageSpeed/accessibility hardening: merged logo fix and stronger warm-section contrast */
@media (max-width:1179px){.site-logo img,.site-header:not(.is-scrolled) .site-logo img,.site-header.is-scrolled .site-logo img,.mobile-panel__logo img{width:86px!important;height:58px!important;max-width:86px!important;max-height:58px!important;object-fit:contain}}
@media (max-width:767px){.site-logo img,.site-header:not(.is-scrolled) .site-logo img,.site-header.is-scrolled .site-logo img,.mobile-panel__logo img{width:82px!important;height:54px!important;max-width:82px!important;max-height:54px!important}}
.section--warm.interior-motion strong,.section--warm.interior-motion .eyebrow,.section--warm.interior-motion .eyebrow--gold-dark{color:#042A5A!important}.section--warm.interior-motion p{color:#263445}

/* Final PageSpeed/a11y tune: section index contrast on dark sections */
.section--navy .section-index,.section--deep .section-index{color:#f0ddb0}
