:root{--ivory:#f7f5f0;--paper:#eeece5;--white:#fff;--ink:#282d28;--muted:#676a62;--red:#a32620;--red-dark:#811a16;--line:#d9d9cf;--forest:#283a30;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--display:clamp(3.5rem,6.4vw,6.5rem);--h2:clamp(2.6rem,4vw,4.15rem);--space:clamp(4.5rem,7vw,7.5rem);--container:1320px;--duration:250ms;--radius:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}button,select,input,textarea{border-radius:var(--radius)}button{color:inherit}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.04em}h1{font-size:var(--display);margin-bottom:28px}h2{font-size:var(--h2);margin-bottom:26px}h3{font-size:32px}h4{font-size:16px;font-weight:600}p{margin-bottom:22px}em{font-weight:400;color:var(--red)}[hidden]{display:none!important}::selection{background:#a32620;color:white}:focus-visible{outline:2px solid var(--red);outline-offset:5px}.container{width:calc(100% - 112px);max-width:var(--container);margin-inline:auto}.section{padding-block:var(--space)}.eyebrow{font-size:13px;font-weight:650;letter-spacing:.22em;text-transform:uppercase;line-height:1.7;margin-bottom:23px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:21px;height:1px;background:currentColor}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:14px 24px;background:var(--red);color:white;border:1px solid var(--red);font-size:16px;font-weight:550;transition:background var(--duration),border-color var(--duration)}.button:hover{background:var(--red-dark);border-color:var(--red-dark)}.button svg{width:21px}.text-link{display:inline-flex;gap:24px;align-items:center;font-weight:600;font-size:16px;line-height:1.6;border-bottom:1px solid #999c91;padding:8px 0 10px;transition:color var(--duration)}.text-link svg{width:22px;transition:transform var(--duration)}.text-link:hover{color:var(--red)}.text-link:hover svg{transform:translateX(4px)}.skip-link{position:fixed;top:-80px;left:10px;z-index:100;background:white;padding:14px}.skip-link:focus{top:10px}.site-header{height:106px;padding:12px 4%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ivory);position:relative;z-index:30;border-bottom:1px solid var(--line)}.brand{width:120px;flex-shrink:0}.brand img{width:120px;height:auto;mix-blend-mode:multiply}.site-header nav{display:flex;gap:32px;align-items:center;margin-left:auto;margin-right:32px}.site-header nav>a{font-size:14px;font-weight:550;position:relative;padding:12px 0}.site-header nav>a:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--red);transition:width var(--duration)}.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after{width:100%}.header-cta{min-height:45px;padding:11px 20px;gap:28px}.menu-toggle{display:none;background:none;border:0;padding:12px;width:46px;height:46px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:transform var(--duration)}
.hero{height:660px;min-height:560px;position:relative;isolation:isolate;background:#37382e;color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center 62%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(15,24,19,.7),rgba(15,24,19,.24) 66%,rgba(15,24,19,.08)),linear-gradient(0deg,rgba(10,20,14,.45),transparent 50%)}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:48px;position:relative}.hero .eyebrow{color:#f4eee0;letter-spacing:.23em;font-size:13px;margin-bottom:30px}.hero h1{font-size:clamp(3.5rem,6.3vw,6.6rem);max-width:1050px;line-height:.99;letter-spacing:-.035em;margin-bottom:28px}.hero h1 em{color:#f0e8d9}.hero p:not(.eyebrow){font-size:16px;line-height:1.9;color:#e4e6df}.hero-link{display:inline-flex;align-items:center;gap:18px;align-self:flex-start;font-size:16px;margin-top:6px}.hero-link svg{border:1px solid #b8bdb1;border-radius:50%;height:42px;width:42px;padding:11px;transition:background var(--duration)}.hero-link:hover svg{background:var(--red);border-color:var(--red)}.hero-bottom{position:absolute;bottom:62px;left:0;right:0;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.04em;color:#dfe0d7}.hero-bottom>a{display:flex;gap:20px;align-items:center;letter-spacing:.15em;font-size:12px}.hero-bottom>a span{font-size:18px}.image-caption{position:absolute;right:20px;top:50%;writing-mode:vertical-rl;font-size:12px;letter-spacing:.15em;color:#e0e1d9}.finder-wrap{position:relative;z-index:3;margin-top:-38px}.finder{padding:22px 30px 28px;background:var(--ivory);box-shadow:0 8px 30px #1d241808;border:1px solid var(--line)}.finder-top{display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line);margin-bottom:23px}.finder-top>span{font-family:var(--serif);font-size:22px;letter-spacing:-.02em;padding-bottom:15px}.intent-options{display:flex;gap:24px;margin-left:auto}.intent-options label{position:relative;cursor:pointer}.intent-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.intent-options span{display:block;font-size:14px;padding:6px 5px 15px;border-bottom:2px solid transparent}.intent-options input:checked+span{border-color:var(--red);color:var(--red);font-weight:700}.intent-options input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}.finder-fields{display:grid;grid-template-columns:1.05fr 1.1fr .95fr 70px auto;align-items:center;gap:24px}.finder-fields>label{border-right:1px solid var(--line);padding-right:20px}.finder label>span,.extra-filters label>span{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.15em;font-weight:650;margin-bottom:6px;color:var(--muted)}.finder select{width:100%;font-size:16px;border:0;background:transparent;padding:3px 22px 3px 0;color:var(--ink)}.finder-fields .button{font-size:14px;gap:20px;white-space:nowrap}.more-filters{border:0;background:none;display:flex;align-items:center;flex-direction:column;font-size:12px;gap:2px;min-height:48px;justify-content:center}.more-filters svg{width:20px}.more-filters:hover{color:var(--red)}.extra-filters{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.extra-filters input{background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;padding:6px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:11%}.intro-copy{padding-top:38px}.intro-copy>p{color:var(--muted);font-size:16px;max-width:485px}.intro-copy .statement,.statement{color:var(--ink);font-size:17px;font-weight:500;line-height:1.8}.intro-copy .text-link{margin-top:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line);padding-top:36px}.stats>div{border-right:1px solid var(--line);padding-left:35px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.2;letter-spacing:-.04em;display:block}.stats span{font-size:13px;color:var(--muted);display:block;margin-top:8px}.expertise-section{background:var(--paper)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:285px;color:var(--muted);font-size:16px;margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-image{aspect-ratio:4/4.3;position:relative;overflow:hidden;background:#d9d9ce}.service-image>img{height:100%;width:100%;transition:transform 700ms ease}.service-card:hover .service-image>img{transform:scale(1.035)}.image-index{position:absolute;top:19px;left:20px;color:white;font-size:16px;text-shadow:0 1px 8px black}.round-arrow{position:absolute;right:17px;bottom:17px;width:42px;height:42px;display:grid;place-items:center;background:var(--ivory);border-radius:50%;transition:background var(--duration),color var(--duration)}.round-arrow svg{width:19px}.service-card:hover .round-arrow{background:var(--red);color:white}.service-meta{padding-block:23px 18px;border-bottom:1px solid #cccec2}.service-meta h3{font-size:32px;margin-bottom:9px}.service-meta>span{font-size:13px;color:#585e53}.service-card>p{font-size:14px;line-height:1.8;color:var(--muted);padding-top:15px;margin:0;max-width:330px}.market-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.market-layout>div>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:16px}.city-coordinate{margin-top:48px;font-size:12px;letter-spacing:.08em;color:var(--muted)}.city-coordinate span{display:block;margin-top:5px;font-size:12px;letter-spacing:.25em}.market-list{padding-top:14px}.market-list details{border-bottom:1px solid var(--line)}.market-list details:first-child{border-top:1px solid var(--line)}.market-list summary{display:flex;list-style:none;align-items:center;cursor:pointer;padding:27px 0;gap:18px}.market-list summary::-webkit-details-marker{display:none}.market-index{font-size:12px;color:var(--red)}.market-list h3{font-size:29px;margin:0;line-height:1.15;letter-spacing:-.03em}.expand-icon{width:16px;height:16px;margin-left:auto;position:relative;flex-shrink:0}.expand-icon:before,.expand-icon:after{position:absolute;content:'';background:var(--ink);width:12px;height:1px;top:7px;left:2px}.expand-icon:after{transform:rotate(90deg);transition:transform var(--duration)}details[open] .expand-icon:after{transform:rotate(0)}.market-detail{padding:0 0 28px 34px}.market-detail h4{font-size:14px;margin-bottom:10px}.market-detail p{font-size:14px;color:var(--muted)}.place-tags{display:flex;flex-wrap:wrap;gap:8px}.place-tags>a{border:1px solid var(--line);padding:7px 10px;display:flex;gap:12px;align-items:center;font-size:12px;transition:border-color var(--duration)}.place-tags>a:hover{border-color:var(--red);color:var(--red)}.place-tags svg{width:10px;height:10px}.allied-section{background:var(--paper)}.allied-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.allied-photo{position:relative;aspect-ratio:1/1.08}.allied-photo img{width:100%;height:100%}.allied-photo>span{position:absolute;bottom:24px;left:25px;letter-spacing:.18em;font-size:12px;color:white;text-shadow:0 1px 5px #000}.allied-layout h2{font-size:clamp(2.4rem,3.4vw,3.6rem)}.allied-layout p:not(.eyebrow){font-size:16px;color:var(--muted)}.allied-links{margin-block:30px}.allied-links>a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;gap:15px;font-size:14px}.allied-links>a:last-child{border-bottom:1px solid var(--line)}.allied-links>a:hover{color:var(--red)}.allied-links svg{width:19px}.manifesto{padding-block:95px;display:flex;align-items:center;gap:10%}.manifesto>div{max-width:890px}.manifesto>div>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(2.1rem,3.6vw,3.6rem);line-height:1.2;letter-spacing:-.025em}.manifesto-signature{font-family:var(--serif);font-size:80px;font-style:italic;transform:rotate(-12deg);color:var(--red);opacity:.75}.closing{background:#9d2c23;color:var(--ivory)}.closing-inner{display:flex;align-items:center;justify-content:space-between;padding-block:70px}.closing h2{font-size:clamp(3.5rem,5.3vw,5.5rem);margin-bottom:22px}.closing h2 em{color:#e5c9b8}.closing .eyebrow{font-size:12px;color:#e8c7b8}.closing p:not(.eyebrow){font-size:16px;color:#edd8cb;margin-bottom:0}.large-link{display:flex;flex-direction:column;align-items:center;gap:21px;margin-right:10%;font-size:16px}.large-link>span{display:grid;place-items:center;width:95px;height:95px;border:1px solid #dbb7a9;border-radius:50%;transition:background var(--duration),color var(--duration)}.large-link svg{width:32px;height:32px}.large-link:hover>span{background:var(--ivory);color:var(--red)}.site-footer{padding-top:65px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr;gap:35px;padding-bottom:48px}.footer-brand img{width:127px;height:auto;mix-blend-mode:multiply;margin-bottom:23px}.footer-brand p{font-size:14px;line-height:1.8;margin-bottom:15px}.location-label{font-size:12px;color:var(--muted)}.footer-main h2{font-family:var(--sans);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;margin-block:12px 24px}.footer-main>div>a:not(.text-link){display:block;font-size:13px;color:var(--muted);margin-bottom:11px}.footer-main a:hover{color:var(--red)}.footer-note{padding-left:25px;border-left:1px solid var(--line);align-self:start;margin-top:10px}.footer-note>p{font-family:var(--serif);font-size:27px;line-height:1.2;letter-spacing:-.02em}.footer-note .text-link{font-size:13px;gap:18px}.footer-bottom{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-block:23px;font-size:12px;color:var(--muted)}.footer-bottom>span:first-child{margin-right:auto}.footer-bottom>span:nth-child(2){margin-right:auto}
.inner-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;padding-block:70px 80px;align-items:center;border-bottom:1px solid var(--line)}.inner-hero h1{font-size:clamp(3.1rem,5vw,5.4rem)}.inner-hero p:not(.eyebrow){max-width:500px;font-size:16px;color:var(--muted)}.inner-hero .button{margin-top:10px}.inner-hero-image{height:490px}.inner-hero-image>img{width:100%;height:100%}.editorial-sections{padding-block:30px 70px}.editorial-row{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-block:60px;border-bottom:1px solid var(--line);scroll-margin-top:35px}.editorial-row>.eyebrow{align-self:start;margin-top:10px}.editorial-row h2{font-size:42px;max-width:670px}.editorial-row p:not(.eyebrow){max-width:670px;color:var(--muted);font-size:16px}.editorial-row p.metadata{font-size:13px;color:var(--red)}.professional-note{max-width:850px;font-size:14px;color:var(--muted);padding-top:40px}.team-section,.process-section{background:var(--paper)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 45px;margin-top:45px}.team-grid article{border-top:1px solid var(--line);padding-top:25px}.team-grid h3{font-size:33px;margin-bottom:10px}.team-grid p{color:var(--muted);font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.process-grid>div{border-top:1px solid var(--line);padding-top:20px}.process-grid span{font-size:13px;color:var(--red)}.process-grid h3{margin-block:15px}.process-grid p{font-size:16px;color:var(--muted)}.contact-heading{padding-block:75px 60px;border-bottom:1px solid var(--line)}.contact-heading h1{font-size:clamp(3.2rem,5.5vw,5.5rem)}.contact-heading>p:not(.eyebrow){color:var(--muted);font-size:16px}.contact-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:10%;padding-block:65px 95px}.contact-layout aside{padding-top:8px}.contact-layout aside h2{font-size:37px}.contact-layout aside p{font-size:16px;color:var(--muted)}.contact-details{padding-block:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-block:32px}.contact-details h3{font-size:27px;margin-bottom:15px}.contact-details>span,.contact-details>a{display:block;font-size:14px;color:var(--muted)}.contact-details a:hover{color:var(--red)}.contact-details p{margin-bottom:12px}.nri-note .eyebrow{font-size:12px}.consultation-form{background:var(--paper);padding:38px}.consultation-form>h2{font-size:33px;margin-bottom:12px}.form-caption{font-size:13px;color:var(--muted);margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-grid label{font-size:13px;font-weight:600}.form-grid label>span{color:var(--red)}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #bfc3b5;padding:11px 0;font-size:16px;font-weight:400;color:var(--ink);margin-top:5px}.form-grid textarea{resize:vertical;min-height:90px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#767b70}.form-notice{font-size:13px;color:var(--muted);margin-block:25px 18px}.privacy-note{font-size:12px;color:var(--muted);margin-block:18px 0}.privacy-note a{text-decoration:underline}.form-result{border:1px solid #89957f;padding:20px;margin-top:20px}.form-result p{font-size:16px;margin-bottom:15px}.form-result .text-link{margin-right:18px;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}.form-result .text-link:last-child{margin-right:0}#requirement-summary{padding:14px 16px;border-left:2px solid var(--red);font-size:14px;background:#e4e2d8;margin-bottom:25px;white-space:pre-line}.notes-links{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin-top:45px}.notes-links>a{position:relative;padding:28px 40px 20px 0;border-top:1px solid var(--line)}.notes-links h3{font-size:33px;margin-bottom:15px}.notes-links p{font-size:16px;max-width:400px;color:var(--muted)}.notes-links svg{position:absolute;top:30px;right:0}.notes-links>a:hover h3{color:var(--red)}.publication-note{background:var(--paper);padding:35px;margin-top:40px}.publication-note h3{margin-bottom:15px}.publication-note p{font-size:16px;color:var(--muted)}.privacy-content{max-width:850px}.privacy-content h1{font-size:70px;margin-bottom:55px}.privacy-content h2{font-size:32px;margin-top:35px;margin-bottom:15px}.privacy-content>p{color:var(--muted);font-size:16px}
@media(min-width:1600px){.hero{height:740px}.site-header{padding-inline:max(4%,calc((100vw - 1320px)/2))}}
@media(max-width:1100px){.container{width:calc(100% - 70px)}.site-header{gap:18px}.site-header nav{gap:22px;margin-right:10px}.hero{height:600px}.hero h1{font-size:76px}.finder{padding:18px 22px 23px}.finder-fields{gap:15px;grid-template-columns:1fr 1fr .8fr 45px auto}.finder-fields .button{padding:14px;gap:12px;font-size:13px}.finder-fields>label{padding-right:12px}.intro-grid{gap:7%}.service-meta h3{font-size:27px}.service-grid{gap:20px}.market-layout{gap:7%}.market-list h3{font-size:25px}.footer-main{gap:25px}.footer-note{padding-left:20px}.inner-hero{gap:5%}.inner-hero-image{height:410px}.contact-layout{gap:6%}.consultation-form{padding:28px}}
@media(max-width:800px){:root{--space:65px;--h2:46px}.container{width:calc(100% - 44px)}.site-header{height:88px;padding:9px 22px;gap:16px}.brand,.brand img{width:101px}.site-header .header-cta{margin-left:auto;min-height:42px;padding:10px 15px;font-size:13px;gap:18px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--ivory);padding:20px 26px 28px;margin:0;border-bottom:1px solid var(--line)}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav>a{padding:14px 0;font-size:16px;border-bottom:1px solid var(--line)}.site-header nav>a:after{display:none}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{height:620px;min-height:0}.hero h1{font-size:clamp(52px,8.7vw,74px);line-height:1.02}.hero-content{padding-bottom:50px}.hero .eyebrow{font-size:12px}.hero-bottom{bottom:58px}.hero-bottom>a{display:none}.hero-bottom>span{font-size:12px}.image-caption{display:none}.finder-top>span{font-size:21px}.finder-fields{grid-template-columns:1fr 1fr 55px;gap:20px}.finder-fields>label:nth-child(3){grid-column:1/2;grid-row:2}.finder-fields>.more-filters{grid-column:3;grid-row:1}.finder-fields>.button{grid-column:2/4;grid-row:2;width:100%;font-size:14px}.finder-fields>label:nth-child(2){border:0}.intro-grid{grid-template-columns:1fr;gap:15px}.intro-copy{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.intro-copy .statement{margin-bottom:0}.intro-copy .text-link{justify-self:start;align-self:end}.stats{margin-top:45px}.stats>div{padding-left:18px}.stats strong{font-size:42px}.stats span{font-size:12px;max-width:125px}.section-heading{gap:30px;align-items:start;flex-direction:column;margin-bottom:35px}.section-heading>p{max-width:420px}.service-grid{gap:16px}.service-meta h3{font-size:25px;min-height:52px}.service-meta>span{font-size:12px}.service-card>p{font-size:13px}.service-image{aspect-ratio:3/4.3}.image-index{left:13px;top:12px}.round-arrow{width:34px;height:34px;right:12px;bottom:12px}.market-layout{grid-template-columns:1fr;gap:35px}.market-layout>div>p:not(.eyebrow){max-width:530px}.market-layout h2 br:last-child{display:none}.city-coordinate{display:none}.market-list h3{font-size:30px}.allied-layout{gap:30px}.allied-photo{aspect-ratio:auto;height:480px}.allied-layout h2{font-size:37px}.allied-links>a{font-size:13px}.allied-layout .text-link{font-size:13px}.manifesto{padding-block:65px}.manifesto-signature{display:none}.manifesto>div>p:not(.eyebrow){font-size:37px}.closing-inner{padding-block:60px}.large-link{margin-right:4%}.closing h2{font-size:65px}.footer-main{grid-template-columns:1.2fr 1fr 1.2fr;gap:25px}.footer-note{display:none}.footer-bottom{flex-wrap:wrap;gap:18px}.footer-bottom>span:nth-child(2){display:none}.inner-hero{padding-block:45px;gap:35px}.inner-hero h1{font-size:48px}.inner-hero-image{height:420px}.inner-hero p:not(.eyebrow){font-size:16px}.editorial-row{grid-template-columns:1fr 2fr;gap:5%;padding-block:40px}.editorial-row h2{font-size:35px}.editorial-row>.eyebrow{font-size:12px}.team-grid{gap:22px;grid-template-columns:1fr 1fr}.contact-heading{padding-block:50px 35px}.contact-heading h1{font-size:55px}.contact-layout{grid-template-columns:1fr;gap:30px;padding-block:40px 65px}.contact-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.contact-layout aside>h2{grid-column:1/-1}.contact-details{margin:0;padding-top:0;border-top:0}.nri-note{grid-column:1/-1;margin-top:20px}.nri-note p{max-width:550px}.consultation-form{padding:30px}.notes-links{gap:0 25px}}
@media(max-width:540px){:root{--space:56px;--h2:42px}.container{width:calc(100% - 40px)}.site-header{padding-inline:20px;height:82px;gap:12px}.brand,.brand img{width:91px}.site-header nav{top:82px}.site-header .header-cta{padding:9px 12px;gap:12px;min-height:40px}.header-cta svg{width:18px}.menu-toggle{width:34px;padding:6px}.hero{height:610px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#111e18b8,#111e1850),linear-gradient(0deg,#111e1840,transparent)}.hero-content{padding-bottom:65px}.hero .eyebrow{max-width:250px;line-height:2;font-size:12px;gap:10px;margin-bottom:25px}.hero .eyebrow:before{width:17px;flex-shrink:0}.hero h1{font-size:54px;line-height:1.04;max-width:380px;margin-bottom:23px}.hero h1 br{display:none}.hero h1 em{display:block}.hero p:not(.eyebrow){font-size:16px}.hero-link{font-size:13px;gap:12px}.hero-link svg{width:36px;height:36px;padding:9px}.hero-bottom{bottom:62px}.hero-bottom>span{font-size:12px;letter-spacing:0}.finder-wrap{margin-top:-35px}.finder{padding:17px 17px 20px}.finder-top{flex-wrap:wrap;gap:0;margin-bottom:20px}.finder-top>span{font-size:22px;flex-basis:100%;padding-bottom:8px}.intent-options{margin-left:0;gap:25px}.intent-options span{padding:5px 4px 10px}.finder-fields{grid-template-columns:1fr 1fr;gap:20px 12px}.finder-fields>label{padding-right:8px}.finder-fields>label:nth-child(2){border:0}.finder select{font-size:13px;padding-right:10px}.finder label>span{font-size:12px;letter-spacing:.09em}.finder-fields>.more-filters{grid-row:2;grid-column:2;flex-direction:row;justify-content:flex-start;gap:10px;font-size:13px;min-height:35px;padding-left:0}.finder-fields>.button{grid-column:1/-1;grid-row:3;min-height:46px}.extra-filters{gap:20px}.intro-grid h2{font-size:42px}.intro-copy{display:block}.intro-copy>p{font-size:16px}.intro-copy .statement{font-size:16px;margin-bottom:17px}.stats{grid-template-columns:1fr 1fr;gap:26px 0;padding-top:26px;margin-top:35px}.stats>div{padding-left:22px}.stats>div:nth-child(3){padding-left:0}.stats>div:nth-child(2){border-right:0}.stats strong{font-size:45px}.stats span{font-size:12px;max-width:150px}.section-heading h2{font-size:40px}.section-heading>p{font-size:14px}.service-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:#adae9e transparent}.service-card{flex:0 0 83%;scroll-snap-align:start}.service-image{aspect-ratio:4/4.1}.service-meta h3{font-size:32px;min-height:0}.service-meta>span{font-size:13px}.service-card>p{font-size:14px}.round-arrow{width:40px;height:40px}.market-list summary{gap:13px;padding:23px 0}.market-list h3{font-size:26px}.market-detail{padding-left:25px}.market-layout{gap:25px}.allied-layout{grid-template-columns:1fr;gap:35px}.allied-photo{height:320px}.allied-layout h2{font-size:41px}.allied-links>a{font-size:14px}.allied-layout .text-link{font-size:14px}.manifesto{padding-block:60px}.manifesto>div>p:not(.eyebrow){font-size:34px}.closing-inner{padding-block:48px;gap:20px}.closing h2{font-size:50px}.closing .eyebrow{font-size:12px;letter-spacing:.1em}.closing p:not(.eyebrow){font-size:13px;max-width:220px}.closing p br{display:none}.large-link{margin-right:0;gap:13px;white-space:nowrap;font-size:13px}.large-link>span{width:62px;height:62px}.large-link svg{width:24px;height:24px}.site-footer{padding-top:40px}.footer-main{grid-template-columns:1fr 1fr;gap:25px;padding-bottom:30px}.footer-brand{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:center}.footer-brand img{width:110px;margin-bottom:15px}.footer-brand p{margin-bottom:12px}.location-label{grid-column:1/-1;font-size:12px}.footer-main h2{font-size:12px;margin-bottom:20px}.footer-main>div>a:not(.text-link){font-size:12px;margin-bottom:10px}.footer-bottom{gap:16px;font-size:12px}.footer-bottom>span:first-child{flex-basis:100%}.inner-hero{grid-template-columns:1fr;padding-block:40px;gap:35px}.inner-hero h1{font-size:51px}.inner-hero-image{height:300px}.editorial-sections{padding-block:0 45px}.editorial-row{grid-template-columns:1fr;gap:8px;padding-block:35px}.editorial-row>.eyebrow{margin-bottom:8px}.editorial-row h2{font-size:35px}.editorial-row p:not(.eyebrow){font-size:16px}.team-grid{gap:22px}.team-grid h3{font-size:30px}.team-grid p{font-size:13px}.process-grid{grid-template-columns:1fr 1fr;gap:25px}.process-grid h3{font-size:29px}.process-grid p{font-size:14px}.contact-heading h1{font-size:47px}.contact-heading h1 br{display:none}.contact-heading h1 em{display:block}.contact-layout aside{display:block}.contact-layout aside h2{font-size:35px}.contact-details{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.consultation-form{padding:25px 20px;margin-inline:-5px}.consultation-form>h2{font-size:31px}.form-grid{grid-template-columns:1fr;gap:20px}.form-caption{font-size:12px}.consultation-form .button{width:100%;font-size:14px}.notes-links{grid-template-columns:1fr}.publication-note{padding:25px}.privacy-content h1{font-size:50px}}
@media(max-width:360px){.closing h2{font-size:43px}.closing-inner{gap:12px}.closing-inner>div{min-width:0}.closing .eyebrow{letter-spacing:.04em}.hero h1{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readable typography and image contrast, shared by every Laravel page. */
.service-selector { position: relative; z-index: 3; margin-top: -38px; background: var(--ivory); border: 1px solid var(--line); padding: 32px; display: grid; grid-template-columns: 1fr 1.25fr; gap: 45px; align-items: center; }
.service-selector-intro h2 { font-size: 32px; line-height: 1.2; margin-bottom: 10px; }
.service-selector-intro p { color: var(--muted); font-size: 15px; line-height: 1.6; margin: 0; }
.service-selector-form { min-width: 0; }
.service-selector-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.service-selector-controls { display: flex; gap: 16px; }
.service-selector-controls select { flex: 1; min-width: 0; width: 100%; min-height: 54px; padding: 12px; font-size: 16px; color: var(--ink); background: transparent; border: 1px solid #aeb4a8; }
.service-selector-controls .button { flex-shrink: 0; font-size: 14px; }
@media(max-width: 1000px) { .service-selector { grid-template-columns: 1fr; gap: 24px; } }
@media(max-width: 540px) {
  .service-selector { padding: 24px 20px; }
  .service-selector-intro h2 { font-size: 29px; }
  .service-selector-controls { flex-direction: column; gap: 14px; }
  .service-selector-controls .button { width: 100%; }
}
.allied-services-list .editorial-row { position: relative; }
.allied-services-list .service-word-mask { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: .12em; margin-bottom: -.12em; max-width: 100%; }
.allied-services-list .service-word { display: inline-block; }
.allied-services-list .editorial-row::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 64px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform 280ms ease; pointer-events: none; }
.allied-services-list .editorial-row:focus-within::after { transform: scaleX(1); }
@media (hover: hover) { .allied-services-list .editorial-row:hover::after { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .allied-services-list .editorial-row::after { transition: none; } }
.editorial-row > .eyebrow { transition: color 280ms ease; }
@media (hover: hover) { .editorial-row:hover > .eyebrow { color: var(--red); } }
.closing.closing-redesigned { background: #eeece5; color: var(--ink); border-top: 1px solid var(--line); }
.testimonial-controls { display: flex; justify-content: flex-end; margin: 40px 0 20px; }
.testimonial-slider { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; margin-bottom: 8px; padding: 6px 2px 18px; scrollbar-width: thin; scrollbar-color: #adae9e transparent; }
.testimonial-card { flex: 0 0 min(640px, 86%); min-width: 0; scroll-snap-align: start; margin: 0; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--ivory); }
.testimonial-stars { display: block; color: var(--red); font-size: 15px; letter-spacing: .15em; margin-bottom: 16px; }
.testimonial-card p { font-family: var(--serif); font-size: 21px; line-height: 1.45; color: var(--ink); margin: 0 0 20px; }
.testimonial-card footer { display: flex; flex-direction: column; gap: 2px; }
.testimonial-card cite { font-style: normal; font-weight: 650; font-size: 14px; }
.testimonial-card footer span { font-size: 13px; color: var(--muted); }
@media (max-width: 800px) { .testimonial-card p { font-size: 19px; } }
.closing-redesigned .closing-inner { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(40px, 8vw, 120px); padding-block: 80px; align-items: center; }
.closing-redesigned .closing-message .eyebrow { color: var(--red); font-size: 12px; letter-spacing: .14em; }
.closing-redesigned .closing-message h2 { font-size: clamp(42px, 4.8vw, 72px); line-height: 1.1; margin-bottom: 28px; }
.closing-redesigned .closing-message h2 em { color: var(--red); }
.closing-redesigned .closing-message > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.8; max-width: 500px; margin-bottom: 28px; }
.closing-signoff { display: block; font-size: 13px; font-weight: 600; padding-top: 22px; border-top: 1px solid #c8cbbf; max-width: 500px; color: var(--ink); }
.closing-redesigned .closing-action { background: var(--forest); color: var(--ivory); padding: 38px; border-top: 3px solid var(--red); }
.closing-action-label { display: block; color: #d8c6ad; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 22px; }
.closing-redesigned .closing-action h3 { color: var(--ivory); font-size: 38px; line-height: 1.15; margin-bottom: 18px; }
.closing-redesigned .closing-action > p { color: #e0e7dc; font-size: 16px; line-height: 1.75; margin-bottom: 25px; }
.closing-redesigned .closing-action .button { background: var(--ivory); color: var(--ink); border-color: var(--ivory); width: 100%; min-height: 56px; padding-inline: 22px; font-size: 16px; }
.closing-redesigned .closing-action .button:hover { background: #e2d7c6; border-color: #e2d7c6; }
.closing-action .button svg { transition: transform 200ms; }
.closing-action .button:hover svg { transform: translate(2px, -2px); }
.closing-action-note { display: block; font-size: 12px; line-height: 1.6; color: #c9d5c3; margin-top: 18px; }
@media (max-width: 800px) {
  .closing-redesigned .closing-inner { gap: 32px; grid-template-columns: 1.1fr 1fr; padding-block: 60px; }
  .closing-redesigned .closing-action { padding: 28px; }
  .closing-redesigned .closing-action h3 { font-size: 32px; }
}
@media (max-width: 600px) {
  .closing-redesigned .closing-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 48px; }
  .closing-redesigned .closing-message h2 { font-size: clamp(39px, 10.6vw, 52px); }
  .closing-redesigned .closing-message > p:not(.eyebrow) { font-size: 16px; }
  .closing-redesigned .closing-action { padding: 28px 24px; }
}
.team-grid .team-role { color: var(--red); font-size: 14px; font-weight: 600; line-height: 1.6; margin-bottom: 16px; }
.team-grid .team-bio { color: var(--muted); font-size: 16px; line-height: 1.75; margin-bottom: 0; }
.team-grid { row-gap: 40px; }
@media (max-width: 540px) { .team-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; } }
.market-list details.is-animating { overflow: hidden; }
.market-list summary[aria-expanded="false"] .expand-icon::after { transform: rotate(90deg); }
.market-list summary[aria-expanded="true"] .expand-icon::after { transform: rotate(0); }
:root {
  --muted: #50564e;
  --body-size: 16px;
  --label-size: 13px;
}

/* The Tashi Filter: six clear lenses and a practical conversation guide. */
.filter-section .section-heading { align-items: flex-end; gap: 60px; margin-bottom: 40px; }



body { font-size: var(--body-size); line-height: 1.75; }
h1, h2, h3 { font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
h1 em, h2 em, h3 em { font-style: normal; font-weight: inherit; }
.eyebrow { font-size: var(--label-size); letter-spacing: .13em; font-weight: 700; }
.hero .eyebrow, .closing .eyebrow, .editorial-row > .eyebrow,
.nri-note .eyebrow { font-size: 12px; letter-spacing: .12em; }
.intro-copy > p, .section-heading > p, .service-card > p,
.market-layout > div > p:not(.eyebrow), .market-detail p,
.allied-layout p:not(.eyebrow), .filter-panel p,
.inner-hero p:not(.eyebrow), .editorial-row p:not(.eyebrow),
.contact-heading > p:not(.eyebrow), .contact-layout aside p,
.team-grid p, .process-grid p, .notes-links p, .publication-note p,
.privacy-content > p, .closing p:not(.eyebrow) {
  font-size: var(--body-size);
  line-height: 1.75;
}
.intro-copy .statement { font-size: 18px; color: var(--ink); }
.section-heading > p { max-width: 350px; }
.service-meta > span, .stats span, .market-detail h4 { font-size: 14px; line-height: 1.6; }
.text-link, .filter-panel .text-link, .allied-layout .text-link,
.footer-note .text-link { font-size: 14px; min-height: 44px; }
.button, .site-header .header-cta, .finder-fields .button,
.consultation-form .button { font-size: 14px; font-weight: 700; }
.finder-fields > label, .form-grid > label { min-width: 0; }
.finder label > span, .extra-filters label > span { font-size: 12px; letter-spacing: .06em; }
.finder .intent-options span { font-size: 14px; }
.finder select, .extra-filters input,
.form-grid input, .form-grid select, .form-grid textarea { font-size: 16px; min-height: 44px; }
.form-grid label { font-size: 14px; }
.form-caption, .form-notice, .privacy-note, .professional-note { font-size: 14px; line-height: 1.7; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color: #5f655c; }
.footer-main > div > a:not(.text-link), .footer-brand p, .contact-details > span { font-size: 14px; }
.footer-main h2 { font-size: 13px; }
.contact-details p { color: var(--ink); font-size: 16px; font-weight: 550; margin-bottom: 16px; }
.contact-details > a { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 650; color: var(--ink); margin-bottom: 10px; transition: color var(--duration); }
.contact-details > a:last-child { margin-bottom: 0; }
.contact-details > a:hover { color: var(--red); }
@media (max-width: 540px) { .contact-details > a { font-size: 17px; } }
.footer-bottom, .location-label { font-size: 12px; }
.filter-tabs button span, .filter-number span { color: #c6d2c2; font-size: 12px; }
.filter-section .section-heading > p, .filter-panel p { color: #e0e7dc; }
.place-tags > a { font-size: 13px; min-height: 40px; }

/* Keep a dark layer behind text even over the brightest parts of a photograph. */
.hero-shade {
  background: linear-gradient(90deg, rgba(9, 19, 14, .9) 0%, rgba(9, 19, 14, .75) 50%, rgba(9, 19, 14, .48) 100%),
    linear-gradient(0deg, rgba(9, 19, 14, .65), transparent 55%);
}
.hero h1 { line-height: 1.08; font-weight: 600; }
.hero h1, .hero h1 em, .hero .eyebrow,
.hero p:not(.eyebrow), .hero-bottom, .hero-link { color: #fff; }
.hero h1, .hero-content > p { text-shadow: 0 2px 12px rgba(0, 0, 0, .3); }
.hero p:not(.eyebrow) { font-size: 18px; line-height: 1.75; }
.hero-link { font-size: 15px; font-weight: 600; }
.hero-bottom, .hero-bottom > span, .hero-bottom > a { font-size: 12px; line-height: 1.7; }
.hero-bottom { gap: 25px; }
.image-caption { color: #fff; background: #18261ee6; padding: 10px 14px; font-size: 12px; writing-mode: horizontal-tb; top: 24px; right: 24px; max-width: 250px; line-height: 1.6; letter-spacing: .03em; }
.finder-top > span { font-size: 26px; font-weight: 600; line-height: 1.3; }
.image-index { background: #18261ef2; color: #fff; padding: 7px 12px; font-size: 14px; font-weight: 600; text-shadow: none; z-index: 1; }
.allied-photo::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(9, 19, 14, .88)); pointer-events: none; }
.allied-photo > span { z-index: 1; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.closing p:not(.eyebrow), .closing .eyebrow { color: #fff3e9; }
.closing .large-link { font-size: 15px; font-weight: 600; }

@media (min-width: 801px) and (max-width: 1100px) {
  .site-header nav { gap: 15px; margin-right: 0; }
  .site-header nav > a { font-size: 12px; }
  .site-header .header-cta { gap: 14px; padding-inline: 15px; }
  .finder-fields { grid-template-columns: repeat(3, minmax(0, 1fr)) 55px auto; gap: 15px; }
  .finder-fields .button { font-size: 13px; }
}
@media (max-width: 800px) {
  .hero { height: auto; min-height: 700px; }
  .hero-content { min-height: 700px; padding-block: 65px 140px; }
  .hero h1 { font-size: clamp(48px, 8.5vw, 68px); }
  .hero .eyebrow { max-width: 340px; }
  .hero-bottom { bottom: 60px; }
  .intro-copy .text-link { align-self: start; }
  .section-heading > p { max-width: 100%; }
  .allied-photo > span { left: 18px; right: 18px; }
}
@media (max-width: 540px) {
  .site-header .header-cta { font-size: 12px; min-height: 44px; }
  .hero { min-height: 740px; }
  .hero-content { min-height: 740px; padding-block: 55px 135px; }
  .hero h1 { font-size: clamp(46px, 12.6vw, 60px); }
  .hero p:not(.eyebrow) { font-size: 17px; }
  .hero p:not(.eyebrow) br { display: none; }
  .hero .eyebrow { font-size: 12px; letter-spacing: .09em; line-height: 1.7; }
  .hero-bottom > span { max-width: 330px; }
  .hero-shade { background: linear-gradient(90deg, #09130eeb, #09130ea6), linear-gradient(0deg, #09130e70, transparent); }
  .finder-fields { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .finder-fields > label, .finder-fields > label:nth-child(3),
  .finder-fields > .more-filters, .finder-fields > .button { grid-column: 1; grid-row: auto; }
  .finder-fields > label { border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 8px; }
  .finder-fields > label:nth-child(2) { border-bottom: 1px solid var(--line); }
  .finder-fields > .more-filters { min-height: 44px; }
  .extra-filters { grid-template-columns: minmax(0, 1fr); }
  .stats span { font-size: 13px; }
  .closing-inner { flex-direction: column; align-items: flex-start; gap: 30px; }
  .closing p:not(.eyebrow) { max-width: 100%; }
  .closing .large-link { flex-direction: row; gap: 18px; }
  .closing .eyebrow { font-size: 12px; }
  .closing h2 { font-size: 50px; }
  .footer-brand p, .footer-main > div > a:not(.text-link) { font-size: 14px; }
  .footer-bottom { gap: 16px; }
}

/* Home usability: shared type roles and text palette, after legacy overrides. */
.home-page {
  --type-small: .8125rem;
  --type-label: .875rem;
  --type-body: 1rem;
  --type-lead: 1.125rem;
  --type-title: 2rem;
  --type-heading: clamp(2.25rem, 4vw, 4rem);
  --type-display: clamp(2.875rem, 6.3vw, 6.5rem);
  --type-stat: 3.25rem;
  --type-signature: 5rem;
  --on-dark: #f7f5f0;
  --on-dark-muted: #e0e7dc;
  --accent-light: #d8c6ad;
}
.home-page :is(.eyebrow, .hero .eyebrow, .hero-bottom, .hero-bottom > span, .hero-bottom > a, .image-caption, .image-index, .stats span, .city-coordinate, .city-coordinate span, .market-index, .allied-photo > span, .filter-step, .filter-tabs button span, .filter-introduction > span, .closing-action-label, .closing-action-note, .closing-signoff, .footer-bottom, .location-label) { font-size: var(--type-small); }
.home-page :is(.site-header nav > a, .button, .site-header .header-cta, .text-link, .hero-link, .service-meta > span, .market-detail h4, .place-tags > a, .filter-consideration h4, .footer-main h2, .footer-main > div > a:not(.text-link), .footer-brand p) { font-size: var(--type-label); }
.home-page :is(.intro-copy > p, .section-heading > p, .service-card > p, .market-detail p, .allied-layout p:not(.eyebrow), .filter-question > p:last-child, .filter-consideration li, .filter-footer p, .closing-redesigned .closing-message > p:not(.eyebrow)) { font-size: var(--type-body); }
.home-page :is(.hero p:not(.eyebrow), .intro-copy .statement, .hero-bottom > a span) { font-size: var(--type-lead); }
.home-page :is(.service-meta h3, .market-list h3, .filter-panel h3, .closing-redesigned .closing-action h3, .footer-note > p) { font-size: var(--type-title); }
.home-page :is(h2, .filter-section .section-heading h2, .allied-layout h2, .manifesto > div > p:not(.eyebrow), .closing-redesigned .closing-message h2) { font-size: var(--type-heading); }
.home-page#top .site-footer .footer-main h2 { font-size: var(--type-label); }
.home-page .hero h1 { font-size: var(--type-display); }
.home-page .stats strong { font-size: var(--type-stat); }
.home-page .manifesto-signature { font-size: var(--type-signature); opacity: 1; }
.home-page :is(.service-meta > span, .filter-step span, .filter-consideration li) { color: var(--muted); }
.home-page :is(.hero h1, .hero h1 em, .hero .eyebrow, .hero p:not(.eyebrow), .hero-bottom, .hero-link, .image-caption, .image-index, .allied-photo > span, .filter-footer strong, .filter-tabs button, .closing-action h3) { color: var(--on-dark); }
.home-page :is(.filter-introduction p, .filter-footer p, .filter-tabs button span, .closing-action > p, .closing-action-note) { color: var(--on-dark-muted); }
.home-page :is(.filter-section em, .filter-section .eyebrow, .filter-introduction > span, .closing-action-label) { color: var(--accent-light); }
.home-page .closing-redesigned .closing-message .eyebrow { color: var(--red); }
.home-page .closing-redesigned .closing-message > p:not(.eyebrow) { color: var(--muted); }
.home-page .eyebrow, .home-page .closing-action-label { text-transform: none; letter-spacing: .04em; }
.home-page .hero-bottom { justify-content: flex-start; flex-wrap: wrap; gap: 12px 32px; }
.home-page .hero-bottom > a { order: -1; letter-spacing: .04em; min-height: 44px; }
.home-page .allied-photo > span { letter-spacing: .04em; }

/* The selected tab labels the panel through aria-labelledby. */
.filter-section .filter-panel { align-items: start; row-gap: 0; margin-top: 8px; min-height: 0; }

.market-list { --index-width: 2ch; --index-gap: 18px; }
.market-list summary { display: grid; grid-template-columns: var(--index-width) minmax(0, 1fr) 16px; gap: var(--index-gap); }
.market-index { font-variant-numeric: tabular-nums; font-weight: 700; }
.market-list .expand-icon::before, .market-list .expand-icon::after { height: 2px; }
.market-detail { padding: 0 0 32px calc(var(--index-width) + var(--index-gap)); }
.market-detail h4 { margin-bottom: 16px; }
.market-introduction > p:not(.eyebrow) { margin-bottom: 12px; }
.place-tags { gap: 12px 16px; }
.place-tags > a { min-height: 44px; padding: 10px 14px; }
.allied-layout > div > p:not(.eyebrow) { margin-bottom: 12px; }
.allied-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; margin-block: 12px 36px; }
.allied-links > a { border-top: 0; border-bottom: 1px solid var(--line); min-height: 56px; }
.allied-explore { width: calc((100% - 24px) / 2); max-width: 100%; gap: 12px; padding-inline: 16px; }
.site-footer .footer-main h2 { color: var(--ink); font-weight: 700; text-transform: none; letter-spacing: normal; }
.site-footer .footer-note > .conversation-cta,
.closing-redesigned .closing-action > .conversation-cta,
.site-header > .conversation-cta { display: inline-flex; align-items: center; background: var(--red); border: 1px solid var(--red); color: var(--white); min-height: 44px; padding: 10px 16px; gap: 16px; line-height: 1.5; font-size: 14px; font-weight: 700; width: fit-content; max-width: 100%; margin: 0; }
.site-footer .footer-note > .conversation-cta:hover,
.closing-redesigned .closing-action > .conversation-cta:hover,
.site-header > .conversation-cta:hover { background: var(--red-dark); border-color: var(--red-dark); color: var(--white); }
.closing-action .conversation-cta:focus-visible { outline-color: var(--ivory); }
.closing-action .conversation-cta:hover svg { transform: translateX(2px); }
.home-page .hero-link svg { border: 0; border-radius: 0; padding: 0; width: 24px; height: 24px; }
.home-page .hero-link { min-height: 44px; }
.home-page .hero-link:hover svg { background: transparent; }
@media (min-width: 801px) {
  .home-page .market-layout, .home-page .allied-layout { grid-template-columns: 1fr 1fr; gap: 8%; }
  /* Share the content edge with the market heading and its location tags. */
  .home-page .allied-layout > div:last-child { padding-left: calc(2ch + 18px); }
}
@media (min-width: 801px) and (min-height: 800px) {
  .market-introduction { position: sticky; top: 32px; align-self: start; }
}

@media (max-width: 540px) {
  .allied-links { grid-template-columns: minmax(0, 1fr); }
  .allied-explore { width: 100%; }
  .site-header > .conversation-cta { padding-inline: 8px; gap: 8px; white-space: nowrap; }
  .footer-main, .footer-brand { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-main > div { min-width: 0; }
}

/* A quiet architectural backdrop with the advisory message in the foreground. */
.home-page .hero-editorial {
  margin: 0; height: auto; min-height: 0;
  background: #14231c; overflow: hidden;
}
.hero-editorial .hero-image { object-position: center 58%; filter: saturate(.55) brightness(.65); }
.home-page .hero-editorial .hero-shade {
  background: linear-gradient(90deg, rgba(12,25,18,.96) 0%, rgba(12,25,18,.88) 35%, rgba(12,25,18,.64) 65%, rgba(12,25,18,.42) 100%), linear-gradient(0deg, rgba(12,25,18,.75), transparent 55%);
}
.home-page .hero-editorial .hero-content {
  width: calc(100% - 112px); max-width: var(--container); margin-inline: auto;
  min-height: clamp(640px, 76svh, 780px); height: auto;
  padding: 88px 0 28px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
}
.hero-editorial .hero-heading { width: 100%; }
.home-page .hero-editorial .eyebrow { margin-bottom: 28px; font-size: var(--type-small); letter-spacing: .08em; color: #dfd6c5; }
.home-page .hero-editorial h1 { max-width: 960px; margin: 0; font-size: clamp(56px, 6.6vw, 96px); line-height: 1.08; letter-spacing: -.035em; font-weight: 500; color: var(--ivory); text-shadow: none; }
.home-page .hero-editorial h1 em { font-style: italic; font-weight: 400; color: #dfd6c5; }
.hero-editorial .hero-story { max-width: 540px; margin-top: 28px; }
.home-page .hero-editorial .hero-story p { font-size: var(--type-lead); line-height: 1.8; margin: 0 0 24px; color: #e0e7dc; text-shadow: none; }
.home-page .hero-editorial .hero-link { display: inline-flex; width: fit-content; gap: 24px; margin: 0; padding: 12px 0; min-height: 48px; border-bottom: 1px solid #dfd6c580; font-size: var(--type-label); color: var(--ivory); }
.hero-editorial .hero-link:hover { border-color: var(--ivory); }
.hero-editorial .hero-link svg { transition: transform var(--duration); }
.hero-editorial .hero-link:hover svg { transform: translateX(4px); }
.hero-editorial a:focus-visible { outline-color: var(--ivory); }
.hero-editorial .hero-footer { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding-top: 18px; border-top: 1px solid #f7f5f029; font-size: var(--type-small); color: #dfd6c5; }
.hero-scroll { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; }
.hero-scroll > span { font-size: 22px; }
.hero-services { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.hero-services > a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
.hero-services > a:hover { color: var(--ivory); text-decoration: underline; text-underline-offset: 5px; }
.hero-location { color: #dfd6c5; }
@media (max-width: 1100px) {
  .home-page .hero-editorial .hero-content { width: calc(100% - 70px); }
  .hero-location { display: none; }
}
@media (max-width: 800px) {
  .home-page .hero-editorial .hero-content { width: calc(100% - 44px); min-height: 650px; padding-top: 64px; }
  .home-page .hero-editorial h1 { font-size: clamp(46px, 7.5vw, 64px); }
  .hero-editorial .hero-footer { margin-top: 48px; flex-wrap: wrap; gap: 8px 24px; }
}
@media (max-width: 540px) {
  .home-page .hero-editorial .hero-content { width: calc(100% - 40px); min-height: 640px; padding-block: 54px 20px; }
  .home-page .hero-editorial .eyebrow { max-width: 290px; letter-spacing: .03em; margin-bottom: 26px; }
  .home-page .hero-editorial h1 { font-size: clamp(40px, 10.6vw, 56px); }
  .hero-editorial .hero-image { object-position: 65% center; }
  .hero-editorial .hero-story { margin-top: 24px; }
  .home-page .hero-editorial .hero-story p { font-size: var(--type-body); }
  .home-page .hero-editorial .hero-story p br { display: none; }
  .hero-editorial .hero-footer { margin-top: 40px; flex-direction: column; align-items: flex-start; }
  .hero-services { gap: 8px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-editorial .hero-link svg { transition: none; }
}

/* Quiet feedback shared across pages; never hide content waiting for JavaScript. */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.stats strong .stat-value, .home-page .stats strong .stat-value { display: inline; font: inherit; color: inherit; margin: 0; font-variant-numeric: tabular-nums; }
.button, .text-link, .place-tags > a, .allied-links > a, .service-card, .notes-links > a { transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, transform 200ms ease; }
.button svg, .allied-links svg, .place-tags svg { transition: transform 200ms ease; }
.site-footer a { transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.site-footer .footer-main > div > a:not(.button):hover,
.site-footer .footer-main > div > a:not(.button):focus-visible,
.site-footer .footer-bottom > a:hover,
.site-footer .footer-bottom > a:focus-visible { color: var(--red); text-decoration: underline; text-underline-offset: 5px; }
.form-grid :is(input, select, textarea) { transition: border-color 180ms ease, background-color 180ms ease; }
.form-grid :is(input, select, textarea):focus { border-bottom-color: var(--red); background-color: #ffffff50; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .button:hover { transform: translateY(-2px); }
  .button:active { transform: translateY(0); }
  .service-card:hover, .notes-links > a:hover { transform: translateY(-3px); }
  .allied-links > a:hover svg, .place-tags > a:hover svg { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.whatsapp-float { position: fixed; right: 24px; bottom: max(20px, env(safe-area-inset-bottom)); z-index: 25; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 18px; border: 1px solid #f7f5f060; border-radius: 28px; background: var(--forest); color: white; font-size: 14px; box-shadow: 0 4px 18px #0003; transition: background-color 180ms ease; }
.whatsapp-float:hover { background: var(--red); }
.whatsapp-float svg { width: 24px; height: 24px; }
.site-footer { padding-bottom: 80px; }
.whatsapp-contact { padding-top: 28px; margin-top: 28px; border-top: 1px solid var(--line); }
.whatsapp-contact .eyebrow::before { display: none; }
.whatsapp-contact .button { gap: 12px; }
.contact-reassurance { background: var(--paper); }
.contact-reassurance p:not(.eyebrow) { max-width: 640px; color: var(--muted); }
#consultation-form, #whatsapp-contact { scroll-margin-top: 32px; }
@media (max-width: 540px) {
 .whatsapp-float { right: 16px; padding: 12px; }
 .whatsapp-float > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

.contact-map { border-top: 1px solid var(--line); }
.contact-map > p:not(.eyebrow) { color: var(--muted); max-width: 640px; }
.contact-map iframe { display: block; width: 100%; height: 420px; border: 1px solid var(--line); margin-block: 28px 12px; background: var(--paper); }
.contact-demo-note { margin-top: 16px; font-size: 14px; }
@media (max-width: 540px) { .contact-map iframe { height: 320px; } }

/* The Tashi Filter: an uninterrupted editorial layout. */
#tashi-filter { background: var(--forest); color: var(--ivory); padding-block: clamp(72px, 8vw, 128px); }
#tashi-filter .filter-heading { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 8%; align-items: end; margin-bottom: 64px; }
#tashi-filter .eyebrow { color: #d8c6ad; font-size: 12px; letter-spacing: .14em; margin-bottom: 28px; }
#tashi-filter h2 { font-size: clamp(44px, 5.2vw, 72px); line-height: 1; font-weight: 400; margin: 0; }
#tashi-filter h2 em { color: #d8c6ad; font-weight: 400; }
#tashi-filter .filter-introduction { max-width: 350px; padding-bottom: 4px; }
#tashi-filter .filter-introduction p { font-size: 16px; line-height: 1.85; color: #c6d0c5; margin-bottom: 26px; }
#tashi-filter .filter-introduction > span { font-size: 12px; letter-spacing: .04em; color: #d8c6ad; }
#tashi-filter .filter-tabs { display: flex; justify-content: space-between; gap: 24px; border-bottom: 1px solid #ffffff30; }
#tashi-filter .filter-tabs button { position: relative; display: flex; align-items: baseline; gap: 12px; flex-shrink: 0; padding: 22px 0; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: transparent; color: #b6c2b7; font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; transition: color 250ms, border-color 250ms; }
#tashi-filter .filter-tabs button span { font-size: 11px; color: inherit; letter-spacing: .02em; }
#tashi-filter .filter-tabs button:hover { color: var(--ivory); }
#tashi-filter .filter-tabs button[aria-selected=true] { color: var(--ivory); border-bottom-color: #d8c6ad; }
#tashi-filter .filter-tabs button[aria-selected=true] span { color: #d8c6ad; }
#tashi-filter :is(button, a, [role=tabpanel]):focus-visible { outline: 2px solid #d8c6ad; outline-offset: 5px; }
#tashi-filter .filter-panel { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 8%; align-items: start; padding-block: 64px; min-height: 350px; }
#tashi-filter .filter-panel[hidden] { display: none; }
#tashi-filter .filter-step { font-size: 11px; font-family: var(--sans); letter-spacing: .13em; text-transform: uppercase; color: #d8c6ad; margin: 0 0 24px; }
#tashi-filter h3 { font-size: clamp(36px, 4vw, 56px); line-height: 1.08; font-weight: 400; max-width: 600px; margin-bottom: 24px; }
#tashi-filter .filter-question > p:last-child { color: #c6d0c5; font-size: 17px; line-height: 1.85; max-width: 530px; margin: 0; }
#tashi-filter .filter-consideration { border-left: 1px solid #ffffff30; padding-left: 32px; margin-top: 4px; }
#tashi-filter .filter-consideration h4 { font-family: var(--sans); font-size: 13px; letter-spacing: .02em; font-weight: 600; text-transform: none; margin: 0 0 24px; color: #d8c6ad; }
#tashi-filter ol { list-style: none; margin: 0; padding: 0; }
#tashi-filter li { display: flex; gap: 18px; padding-block: 14px; border-bottom: 1px solid #ffffff15; color: #c6d0c5; font-size: 14px; line-height: 1.7; }
#tashi-filter li:first-child { padding-top: 0; }
#tashi-filter li:last-child { border-bottom: 0; padding-bottom: 0; }
#tashi-filter li > span:first-child { color: #d8c6ad; font-size: 10px; padding-top: 4px; }
#tashi-filter .filter-footer { display: flex; justify-content: space-between; align-items: center; gap: 40px; border-top: 1px solid #ffffff30; padding-top: 36px; }
#tashi-filter .filter-footer p { font-size: 16px; line-height: 1.8; color: #c6d0c5; margin: 0; }
#tashi-filter .filter-footer strong { color: var(--ivory); font-weight: 500; }
#tashi-filter .filter-cta { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-block: 16px; border-bottom: 1px solid #d8c6ad; color: var(--ivory); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; transition: color 250ms; }
#tashi-filter .filter-cta:hover { color: #d8c6ad; }
#tashi-filter .filter-cta svg { width: 22px; height: 22px; flex-shrink: 0; }
@media (max-width: 1000px) {
  #tashi-filter .filter-heading, #tashi-filter .filter-panel { gap: 6%; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  #tashi-filter .filter-tabs { gap: 20px; overflow-x: auto; padding: 5px 5px 0; }
  #tashi-filter .filter-tabs button { font-size: 11px; gap: 8px; }
  #tashi-filter .filter-consideration { padding-left: 24px; }
}
@media (max-width: 700px) {
  #tashi-filter .filter-heading, #tashi-filter .filter-panel { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  #tashi-filter .filter-heading { margin-bottom: 36px; }
  #tashi-filter .filter-introduction { max-width: 440px; }
  #tashi-filter .filter-panel { padding-block: 44px; min-height: 0; }
  #tashi-filter .filter-consideration { border-left: 0; border-top: 1px solid #ffffff30; padding: 28px 0 0; margin: 0; }
  #tashi-filter .filter-footer { flex-direction: column; align-items: stretch; gap: 24px; padding-top: 28px; }
  #tashi-filter .filter-cta { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  #tashi-filter .filter-tabs button, #tashi-filter .filter-cta { transition: none; }
}
/* Mobile navigation and swipeable expertise. */
.site-header nav > .mobile-menu-cta { display: none; }
.expertise-controls { display: none; }
.slider-pagination { display: flex; align-items: center; gap: 14px; }
.slider-pagination button { width: 44px; height: 44px; border: 1px solid var(--line); background: transparent; font-size: 20px; }
.slider-pagination button:disabled { opacity: .35; cursor: default; }
@media (max-width: 800px) {
  .site-header > .conversation-cta { display: none; }
  .site-header nav > .mobile-menu-cta { display: flex; justify-content: space-between; padding: 14px 20px; margin-top: 12px; background: var(--red); color: var(--white); }
  .site-header nav > .mobile-menu-cta::after { content: none; }
  .site-header nav { max-height: calc(100dvh - 106px); overflow-y: auto; }
  #expertise .service-grid { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: 0; padding: 6px 0 18px; scrollbar-width: thin; scrollbar-color: #adae9e transparent; }
  #expertise .service-card { flex: 0 0 86%; min-width: 0; scroll-snap-align: start; }
  #expertise .expertise-controls { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; font-size: 12px; color: var(--muted); }
  #tashi-filter .filter-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 16px; overflow: visible; padding: 0; }
  #tashi-filter .filter-tabs button { min-width: 0; gap: 7px; font-size: 10px; letter-spacing: .025em; padding-block: 18px; }
}
@media (max-width: 360px) {
  #tashi-filter .filter-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.hero video.hero-image { object-fit: cover; }

/* Soft edges and a compact, persistent advisory header. */
:root { --radius: 8px; --radius-panel: 16px; --header-height: 90px; --header-gap: 16px; }
body { padding-top: calc(var(--header-height) + var(--header-gap) * 2); }
html { scroll-padding-top: calc(var(--header-height) + var(--header-gap) * 2 + 20px); }
.button, .place-tags > a, .image-index, .image-caption { border-radius: var(--radius); }
.service-image, .allied-photo, .inner-hero-image { border-radius: var(--radius-panel); overflow: hidden; }
.finder, .service-selector, .consultation-form, .publication-note,
.closing-redesigned .closing-action, .contact-map iframe { border-radius: var(--radius-panel); }
.form-result { border-radius: var(--radius); }
.home-page .hero-editorial { margin-inline: var(--header-gap); border-radius: 20px; }
.site-header {
  position: fixed; inset: var(--header-gap) var(--header-gap) auto;
  height: var(--header-height); padding: 8px 26px; gap: 22px;
  background: rgba(247, 245, 240, .97); border: 1px solid #d9d9cf;
  border-radius: var(--radius-panel); box-shadow: 0 6px 24px #283a300c;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.site-header .brand, .site-header .brand img { width: 106px; }
.header-descriptor { padding-left: 22px; border-left: 1px solid var(--line); font-size: 11px; line-height: 1.8; letter-spacing: .06em; font-weight: 650; }
.header-descriptor > span { display: block; color: var(--muted); font-size: 10px; font-weight: 400; letter-spacing: .03em; }
.site-header nav { gap: 6px; margin-right: 8px; }
.site-header nav > a:not(.mobile-menu-cta) { padding: 10px 12px; border-radius: var(--radius); font-size: 13px; transition: background var(--duration), color var(--duration); }
.site-header nav > a:not(.mobile-menu-cta)::after { content: none; }
.site-header nav > a:not(.mobile-menu-cta):hover,
.site-header nav > a[aria-current] { background: #a326200a; color: var(--red); }
/* One filled-button treatment across navigation, page content and forms. */
.button,
.site-header > .conversation-cta,
.site-header nav > .mobile-menu-cta,
.site-footer .footer-note > .conversation-cta,
.closing-redesigned .closing-action > .button {
  padding: 10px 12px 10px 18px; gap: 20px; border-radius: 10px;
}
.button svg { width: 30px; height: 30px; padding: 6px; border-radius: 6px; background: #ffffff18; }
.menu-toggle { border: 1px solid var(--line); border-radius: var(--radius); }
@media (max-width: 1200px) {
  .header-descriptor { display: none; }
  .site-header { gap: 16px; padding-inline: 20px; }
  .site-header nav { gap: 2px; margin-right: 0; }
  .site-header nav > a:not(.mobile-menu-cta) { padding-inline: 9px; font-size: 12px; }
}
@media (max-width: 800px) {
  :root { --header-height: 76px; --header-gap: 10px; }
  .site-header { padding: 7px 16px; border-radius: 12px; }
  .site-header .brand, .site-header .brand img { width: 92px; }
  .site-header nav {
    top: calc(100% + 8px); left: 0; right: 0; padding: 16px;
    background: var(--ivory); border: 1px solid var(--line); border-radius: 12px;
    box-shadow: 0 12px 28px #283a3014;
    max-height: calc(100dvh - var(--header-height) - var(--header-gap) * 2 - 16px);
  }
  .site-header nav > a:not(.mobile-menu-cta) { padding: 12px; font-size: 14px; }
  .home-page .hero-editorial { border-radius: 14px; }
}

/* Text-led profiles give every team member an equally complete presentation. */
.team-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.team-heading h2 { margin-bottom: 0; }
.team-heading > p { max-width: 360px; margin: 0 0 4px; color: var(--muted); }
.team-section .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.team-grid .team-card { display: flex; flex-direction: column; height: 100%; }
.team-grid .team-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--ivory); }
.team-card-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.team-card-heading > div { min-width: 0; }
.team-monogram { display: grid; place-items: center; flex: 0 0 58px; height: 64px; border: 1px solid #a3262020; border-radius: 12px; background: #a3262007; color: var(--red); font-family: var(--serif); font-size: 36px; line-height: 1; }
.team-grid .team-role { margin: 0 0 8px; font-size: 12px; line-height: 1.6; font-weight: 650; }
.team-grid h3 { margin: 0; font-size: clamp(27px, 2.5vw, 34px); line-height: 1.15; }
.team-grid .team-bio { font-size: 15px; line-height: 1.8; }
.team-profile { margin-top: auto; padding-top: 22px; border-top: 1px solid var(--line); }
.team-profile summary { display: flex; align-items: center; gap: 16px; min-height: 48px; padding-top: 12px; list-style: none; cursor: pointer; font-size: 13px; font-weight: 650; color: var(--red); }
.team-profile summary::-webkit-details-marker { display: none; }
.team-profile > p { margin: 14px 0 0; font-size: 14px; line-height: 1.8; color: var(--muted); }
@media (max-width: 800px) {
  .team-heading { display: block; }
  .team-heading > p { max-width: 540px; margin-top: 24px; }
  .team-grid .team-card { padding: 24px; }
  .team-card-heading { gap: 14px; }
  .team-monogram { flex-basis: 44px; height: 52px; font-size: 30px; }
}
@media (max-width: 600px) {
  .team-section .team-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 30px; }
  .team-grid .team-card { padding: 24px 20px; }
}

/* NRI advisory: a six-step journey, readable in sequence at every size. */
.nri-process-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.nri-process-heading h2 { margin-bottom: 0; }
.nri-process-heading > p { max-width: 350px; margin: 0 0 4px; color: var(--muted); }
.nri-process-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; list-style: none; padding: 0; margin: 48px 0 28px; }
.nri-process-step { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--ivory); }
.nri-step-marker > span:first-child { transition: background-color 280ms ease, color 280ms ease; }
.nri-process-step h3 { transition: color 280ms ease; }
@media (hover: hover) {
  .nri-process-step:hover .nri-step-marker > span:first-child { background: var(--red); color: var(--ivory); }
  .nri-process-step:hover h3 { color: var(--red); }
}
.nri-step-marker { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; color: var(--red); }
.nri-step-marker > span:first-child { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: #a326200b; border: 1px solid #a3262026; font-size: 13px; font-weight: 650; }
.nri-step-marker .nri-step-line { flex: 1; height: 1px; background: var(--line); }
.nri-step-marker svg { width: 18px; height: 18px; }
.nri-process-step h3 { margin: 0 0 12px; font-size: 35px; }
.nri-step-subtitle { margin-bottom: 10px; font-size: 13px; font-weight: 700; color: var(--red); }
.nri-step-description { margin: 0; font-size: 15px; line-height: 1.8; color: var(--muted); }
.nri-process-invitation { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 30px 36px; border-radius: var(--radius-panel); background: var(--forest); color: var(--ivory); }
.nri-process-label { display: block; margin-bottom: 10px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #d8c6ad; }
.nri-process-invitation p { font-family: var(--serif); font-size: 30px; line-height: 1.25; margin: 0; }
.nri-process-invitation p br { display: none; }
.nri-process-invitation em { color: #d8c6ad; }
.nri-process-invitation .button { flex-shrink: 0; }
.nri-process-invitation .button:focus-visible { outline-color: var(--ivory); }
@media (max-width: 1000px) {
  .nri-process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nri-process-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .nri-process-heading > p { max-width: 560px; }
  .nri-process-invitation p br { display: block; }
}
@media (max-width: 600px) {
  .nri-process-steps { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 32px; }
  .nri-process-step { padding: 24px; }
  .nri-step-marker { margin-bottom: 20px; }
  .nri-process-invitation { flex-direction: column; align-items: stretch; padding: 28px 24px; gap: 24px; }
  .nri-process-invitation .button { width: 100%; }
}

/* Clip the small entrance offset without introducing a scroll container. */
.nri-reveal-section { overflow-x: clip; }

/* About: connect the team's expertise to the client's decision. */
.why-tashi { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.why-tashi-story h2 { margin-bottom: 28px; }
.why-tashi-story > p:not(.eyebrow) { max-width: 520px; color: var(--muted); }
.why-tashi-story .why-tashi-lead { font-size: 18px; line-height: 1.8; color: var(--ink); }
.why-tashi-story .text-link { margin-top: 8px; }
.why-tashi-perspectives { padding: clamp(28px, 3vw, 44px); border-radius: 20px; background: var(--forest); color: var(--ivory); }
.why-tashi-perspectives > .eyebrow { color: #d8c6ad; font-size: 11px; letter-spacing: .14em; }
.why-tashi-perspectives > h3 { font-size: clamp(30px, 3vw, 40px); line-height: 1.15; margin-bottom: 30px; }
.why-tashi-specialisms > div { display: flex; align-items: flex-start; gap: 20px; padding-block: 22px; border-top: 1px solid #ffffff26; }
.why-tashi-specialisms > div > span { flex-shrink: 0; padding-top: 2px; font-size: 12px; color: #d8c6ad; font-variant-numeric: tabular-nums; }
.why-tashi-specialisms h4 { font-size: 15px; line-height: 1.5; margin: 0 0 8px; font-weight: 600; }
.why-tashi-specialisms p { font-size: 14px; line-height: 1.75; margin: 0; color: #d5ded4; }
.why-tashi-signoff { padding-top: 22px; margin: 0; border-top: 1px solid #ffffff26; color: #d8c6ad; font-size: 13px; }
@media (max-width: 800px) {
  .why-tashi { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .why-tashi-story h2 br:last-child { display: none; }
  .why-tashi-story > p:not(.eyebrow) { max-width: 620px; }
}
@media (max-width: 400px) {
  .why-tashi-perspectives { padding: 26px 22px; }
  .why-tashi-specialisms > div { gap: 14px; }
}

/* Bengaluru location filter: a clear introduction beside six practical questions. */
.location-filter { background: var(--paper); }
.location-filter-layout { display: grid; grid-template-columns: .85fr 1.5fr; gap: clamp(36px, 5vw, 76px); align-items: start; }
.location-filter-intro .eyebrow { font-size: 11px; letter-spacing: .1em; }
.location-filter-intro h2 { font-size: clamp(40px, 4vw, 58px); margin-bottom: 28px; }
.location-filter-intro > p:not(.eyebrow) { color: var(--muted); font-size: 15px; line-height: 1.8; }
.location-filter-intro .location-filter-premise { color: var(--ink); font-size: 18px; line-height: 1.65; }
.location-filter-intro .text-link { margin-top: 6px; gap: 20px; }
.location-filter-note { display: flex; gap: 18px; align-items: center; border-top: 1px solid #c8cbbf; margin-top: 38px; padding-top: 24px; }
.location-filter-note > span { font-family: var(--serif); font-size: 54px; line-height: 1; color: var(--red); }
.location-filter-note p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.location-filter-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.location-filter-card { min-width: 0; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--ivory); }
.location-filter-card-label { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.location-filter-card-label > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #a326200a; color: var(--red); font-size: 11px; flex-shrink: 0; }
.location-filter-card-label h3 { margin: 0; font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .035em; color: var(--red); }
.location-filter-card h4 { margin: 0 0 14px; font-family: var(--serif); font-size: 29px; font-weight: 600; line-height: 1.15; letter-spacing: -.02em; }
.location-filter-card > p { margin: 0; font-size: 14px; line-height: 1.8; color: var(--muted); }
@media (max-width: 1000px) {
  .location-filter-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .location-filter-intro { max-width: 620px; }
  .location-filter-intro h2 br:last-child { display: none; }
  .location-filter-note { display: none; }
}
@media (max-width: 540px) {
  .location-filter-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .location-filter-card { padding: 24px; }
  .location-filter-card-label { margin-bottom: 16px; }
}

/* Keep the location context beside a naturally scrolling stack of questions. */
@media (min-width: 1001px) {
  .location-filter-intro { position: sticky; top: calc(var(--header-height) + var(--header-gap) + 24px); }
  .location-filter-cards { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .location-filter-card { position: sticky; top: calc(var(--header-height) + var(--header-gap) + 24px + var(--card-order, 0) * 8px); padding: 36px; min-height: 260px; box-shadow: 0 -6px 18px #283a3005; }
  .location-filter-card:nth-child(2) { --card-order: 1; }
  .location-filter-card:nth-child(3) { --card-order: 2; }
  .location-filter-card:nth-child(4) { --card-order: 3; }
  .location-filter-card:nth-child(5) { --card-order: 4; }
  .location-filter-card:nth-child(6) { --card-order: 5; }
  .location-filter-card h4 { font-size: 36px; max-width: 520px; }
  .location-filter-card > p { font-size: 16px; max-width: 580px; }
}
@media (min-width: 1001px) and (max-height: 780px) {
  .location-filter-intro h2 { font-size: 40px; margin-bottom: 20px; }
  .location-filter-note { display: none; }
}
@media (max-height: 600px) {
  .location-filter-intro, .location-filter-card { position: static; }
}

/* Shared portrait frames keep differently sized source photos out of the layout. */
.team-portrait { position: relative; overflow: hidden; background: #e7e5de; }
.team-portrait img { position: absolute; width: var(--portrait-width, 100%); max-width: none; height: auto; left: var(--portrait-left, 0%); top: var(--portrait-top, 0%); filter: saturate(.65); }

/* A welcoming brief with clear groups and comfortable, fully outlined fields. */
.contact-layout .consultation-form { padding: 0; margin-inline: 0; align-self: start; min-width: 0; border: 1px solid var(--line); border-radius: 20px; background: #fffdf9; box-shadow: 0 12px 40px #283a3006; }
.consultation-heading { padding: 32px 36px; border-radius: 19px 19px 0 0; background: var(--forest); color: var(--ivory); }
.consultation-heading .eyebrow { color: #d8c6ad; font-size: 11px; margin-bottom: 18px; }
.consultation-heading h2 { font-size: 42px; line-height: 1.1; margin: 0 0 18px; }
.consultation-heading h2 em { color: #d8c6ad; }
.consultation-heading > p:last-child { margin: 0; font-size: 14px; color: #d5ded4; line-height: 1.7; }
.consultation-body { padding: 30px 36px 32px; }
.consultation-body .form-caption { font-size: 12px; margin-bottom: 28px; }
.consultation-body .form-caption > span { color: var(--red); }
.consultation-group { padding: 0; margin: 0 0 30px; border: 0; min-width: 0; }
.consultation-group legend { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; width: 100%; margin-bottom: 20px; padding: 0; font-size: 14px; font-weight: 650; }
.consultation-group legend > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--paper); color: var(--red); font-size: 11px; }
.consultation-group legend small { margin-left: auto; color: var(--muted); font-size: 11px; font-weight: 400; }
.consultation-form .form-grid { gap: 20px 18px; }
.consultation-form .form-grid label { font-size: 12px; font-weight: 650; line-height: 1.6; }
.consultation-form .form-grid :is(input, select, textarea) { margin-top: 8px; padding: 13px 14px; min-height: 50px; border: 1px solid #cdd0c6; border-radius: 8px; background: #f7f5f080; color: var(--ink); font-size: 16px; line-height: 1.5; }
.consultation-form .form-grid select { padding-right: 30px; text-overflow: ellipsis; }
.consultation-form .form-grid textarea { min-height: 130px; }
.consultation-form .form-grid :is(input, select, textarea):focus { border-color: var(--red); background: #fff; outline: 2px solid #a3262020; outline-offset: 2px; }
.consultation-form .form-grid :is(input, textarea)::placeholder { color: #73786e; font-size: 14px; }
.consultation-form .form-notice { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 0; font-size: 12px; }
.consultation-form #submit-enquiry { width: 100%; min-height: 54px; }
.consultation-form .privacy-note { font-size: 11px; line-height: 1.8; }
.consultation-form .privacy-note a { text-underline-offset: 3px; }
@media (max-width: 1100px) and (min-width: 801px) {
  .consultation-heading, .consultation-body { padding-inline: 24px; }
  .consultation-form .form-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) {
  .consultation-heading { padding: 28px 22px; }
  .consultation-heading h2 { font-size: 36px; }
  .consultation-body { padding: 24px 20px; }
  .consultation-group legend { font-size: 13px; }
}

.consultation-body > .form-grid { margin-bottom: 30px; }
