.home-page{background:var(--canvas)}
.home-main{padding-top:74px;overflow:clip}
.home-frame{width:min(calc(100% - 2 * var(--gutter)),var(--max));margin-inline:auto}
.home-hero{position:relative;display:grid;min-height:calc(100svh - 74px);overflow:hidden;background:#d9d7d2;isolation:isolate}
.home-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(242,242,239,.98) 0%,rgba(242,242,239,.9) 25%,rgba(242,242,239,.38) 52%,rgba(242,242,239,0) 72%)}
.home-hero-image{position:absolute;z-index:-2;inset:0}
.home-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.home-hero-copy{position:relative;z-index:1;display:flex;width:min(100%,var(--max));margin-inline:auto;flex-direction:column;justify-content:center;padding:clamp(130px,13vw,190px) var(--gutter) clamp(40px,4vw,64px)}
.home-hero h1{max-width:none;font-size:clamp(3rem,4.15vw,4.5rem);line-height:.98;letter-spacing:-.04em}
.home-hero h1 span{display:block;white-space:nowrap}
.home-hero-copy>p{max-width:47ch;margin-top:34px;color:#45494f;font-size:clamp(15px,1.25vw,18px);line-height:1.7}
.home-hero-actions{display:flex;align-items:center;gap:28px;margin-top:42px}
.home-text-button{padding:0;border-width:0 0 1px;background:transparent;cursor:pointer}
.hero-scroll{position:absolute;z-index:4;left:var(--gutter);bottom:30px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hero-scroll span{display:block;width:36px;height:1px;background:currentColor}

.home-meaning{padding:clamp(110px,13vw,200px) 0;background:var(--canvas)}
.meaning-feature{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(430px,1.08fr);gap:clamp(60px,9vw,150px);align-items:center}
.meaning-image{height:min(70vw,760px);overflow:hidden}
.meaning-image img{width:100%;height:100%;object-fit:cover;object-position:center 68%}
.meaning-head h2{max-width:none;font-size:clamp(2.6rem,4.1vw,4rem);line-height:1;white-space:nowrap}
.meaning-head>p{max-width:48ch;margin-top:clamp(30px,4vw,52px);color:var(--muted);font-size:clamp(16px,1.35vw,19px);line-height:1.7}
.meaning-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(80px,10vw,140px);border-top:1px solid var(--line)}
.meaning-item{min-height:280px;padding:30px clamp(24px,3.4vw,52px) 26px 0;border-right:1px solid var(--line)}
.meaning-item:not(:first-child){padding-left:clamp(24px,3.4vw,52px)}
.meaning-item:last-child{border-right:0}
.meaning-item>span,.selection-card span,.path-row span{color:var(--blue);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.meaning-item h3{max-width:13ch;margin-top:58px;font-family:var(--display);font-size:clamp(1.65rem,2.6vw,2.7rem);font-weight:300;line-height:1.08}
.meaning-item p{margin-top:24px;color:var(--muted);font-size:14px}

.home-selection{padding:clamp(90px,12vw,180px) 0;background:#eceeef}
.selection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 30px;flex-wrap:wrap;margin-bottom:clamp(54px,7vw,100px)}
.selection-head h2{max-width:none;font-size:clamp(3rem,5.25vw,5rem);line-height:.98;white-space:nowrap}
.selection-head h2{flex:1 0 100%}
.selection-head .text-link{margin-left:auto}
.partnership-title h2,.paths-intro h2,.visit-copy h2{max-width:14ch;font-size:clamp(3rem,6vw,5.8rem);line-height:.98}
.selection-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:340px 340px;gap:44px 30px;align-items:stretch}
.selection-card{display:grid;min-width:0;height:100%;grid-template-rows:minmax(0,1fr) auto}
.selection-card figure{overflow:hidden;background:var(--white)}
.selection-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.selection-card:hover img{transform:scale(1.025)}
.selection-card>div{min-height:70px;padding-top:16px;border-top:1px solid transparent}
.selection-card h3{margin-top:8px;font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:0}
.selection-card p{margin-top:6px;color:var(--muted);font-size:12px}
.selection-card-feature{grid-column:1/8;grid-row:1/3}
.selection-card-feature figure{position:relative;background:#fff}
.selection-card-feature figure::after{display:none}
.selection-card-feature img{position:relative;z-index:1;object-fit:contain;object-position:center;transform:scale(1.02)}
.selection-card-feature:hover img{transform:scale(1.045)}
.selection-card-compact{grid-row:1}
.selection-card-compact figure{background:#f2f3f1}
.selection-card-compact img{object-fit:contain;padding:18px}
.selection-card-yan{grid-column:8/10}
.selection-card-milena{grid-column:10/13}
.selection-card-panoramic{grid-column:8/13;grid-row:2}
.selection-card-panoramic img{object-position:right 52%}

.home-guidance{padding:clamp(110px,14vw,210px) 0;background:#dfe5f4;color:var(--ink)}
.guidance-intro{display:grid;grid-template-columns:1fr .78fr;gap:clamp(60px,10vw,165px);align-items:end}
.guidance-intro h2{max-width:12ch;font-size:clamp(3.2rem,6.5vw,6rem);line-height:.96}
.guidance-intro>div>p{max-width:53ch;color:#454f68;font-size:clamp(16px,1.45vw,20px);line-height:1.7}
.guidance-action{margin-top:36px;padding:0;border-width:0 0 1px;background:transparent;cursor:pointer}
.guidance-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(75px,9vw,125px);padding:0;list-style:none;border-top:1px solid rgba(29,43,77,.24)}
.guidance-steps li{min-height:270px;padding:28px clamp(20px,2.5vw,38px) 28px 0;border-right:1px solid rgba(29,43,77,.24)}
.guidance-steps li:not(:first-child){padding-left:clamp(20px,2.5vw,38px)}
.guidance-steps li:last-child{border-right:0}
.guidance-steps span{color:var(--blue);font-size:11px;font-weight:600;letter-spacing:.1em}
.guidance-steps h3{max-width:13ch;margin-top:62px;font-family:var(--display);font-size:clamp(1.6rem,2.25vw,2.4rem);font-weight:300;line-height:1.08}
.guidance-steps p{max-width:26ch;margin-top:22px;color:#536078;font-size:13px;line-height:1.65}

.home-partnership{padding:clamp(110px,15vw,220px) 0;background:var(--ink);color:var(--white)}
.partnership-title{display:grid;grid-template-columns:1fr .7fr;gap:clamp(60px,10vw,160px);align-items:end}
.partnership-title p{max-width:32ch;color:#b9bec5;font-size:18px}
.partnership-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(70px,9vw,130px);border-top:1px solid rgba(255,255,255,.2)}
.partner-panel{padding:clamp(42px,5vw,78px) clamp(32px,5vw,76px) 0 0}
.partner-panel+article{padding-right:0;padding-left:clamp(32px,5vw,76px);border-left:1px solid rgba(255,255,255,.2)}
.partner-panel h3{font-family:var(--display);font-size:clamp(2rem,4vw,4rem);font-weight:300}
.partner-panel>p{max-width:54ch;margin-top:25px;color:#b9bec5}
.partner-panel dl{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;border-top:1px solid rgba(255,255,255,.2)}
.partner-panel dl div{min-height:125px;padding:22px 18px 12px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.partner-panel dl div:nth-child(even){padding-left:20px;border-left:1px solid rgba(255,255,255,.2)}
.partner-panel dt{font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);font-weight:300;color:#8fa8ff}
.partner-panel dd{max-width:24ch;margin-top:8px;color:#b9bec5;font-size:11px}

.home-paths{padding-block:clamp(110px,14vw,210px)}
.paths-intro{display:grid;grid-template-columns:1fr .7fr;gap:clamp(50px,10vw,170px);align-items:end;margin-bottom:clamp(70px,9vw,120px)}
.paths-intro p{max-width:48ch;color:var(--muted);font-size:17px}
.paths-list{border-top:1px solid var(--line)}
.path-row{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(260px,.75fr) 54px;gap:clamp(26px,6vw,90px);align-items:center;min-height:200px;border-bottom:1px solid var(--line)}
.path-row h3{max-width:19ch;margin-top:12px;font-family:var(--display);font-size:clamp(1.7rem,3vw,3.2rem);font-weight:300;line-height:1.06}
.path-row>p{color:var(--muted);font-size:14px}
.path-action{display:grid;width:52px;height:52px;padding:0;place-items:center;border:1px solid var(--line);background:transparent;font-size:20px;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s var(--ease)}
.path-action svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.path-action:hover{background:var(--blue);color:var(--white);transform:rotate(5deg)}

.home-mayor{display:grid;grid-template-columns:1.08fr .92fr;min-height:850px;background:var(--blue);color:var(--white)}
.mayor-object{position:relative;display:grid;min-height:720px;place-items:center;overflow:hidden;background:linear-gradient(145deg,#edf0f7,#cfd9f2)}
.mayor-object::after{content:"";position:absolute;bottom:12%;width:56%;height:12%;border-radius:50%;background:rgba(18,31,70,.19);filter:blur(36px);transform:perspective(400px) rotateX(68deg)}
.mayor-object img{position:relative;z-index:1;width:min(82%,720px);max-height:760px;object-fit:contain;filter:drop-shadow(24px 34px 30px rgba(12,20,44,.23));transition:transform 1.2s var(--ease)}
.home-mayor:hover .mayor-object img{transform:translateY(-10px) rotate(-1deg) scale(1.018)}
.mayor-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,9vw,150px)}
.mayor-copy>p:first-child{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#cbd6ff}
.mayor-copy h2{margin-top:22px;font-size:clamp(4rem,8vw,7rem);line-height:.9}
.mayor-copy>p:not(:first-child){max-width:48ch;margin-top:34px;color:#d7def6;font-size:16px;line-height:1.7}
.mayor-copy .button{align-self:flex-start;margin-top:42px;border-color:var(--white)}
.mayor-copy .button:hover{background:var(--white);color:var(--blue)}

.home-visit{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(55px,9vw,140px);align-items:center;padding-block:clamp(110px,15vw,220px)}
.visit-image{height:min(72vw,760px);max-height:760px;overflow:hidden}
.visit-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.visit-copy p{max-width:45ch;margin-top:30px;color:var(--muted);font-size:16px;line-height:1.7}
.visit-copy .button{margin-top:38px}

.home-final{padding:clamp(100px,14vw,190px) 0;background:var(--blue);color:var(--white)}
.final-inner{display:grid;grid-template-columns:1.1fr .65fr;gap:clamp(55px,11vw,180px);align-items:end}
.final-inner h2{max-width:13ch;font-size:clamp(3rem,6.5vw,6rem);line-height:.97}
.final-inner p{max-width:38ch;color:#d7def6}
.final-inner .button{margin-top:34px;border-color:var(--white)}
.final-inner .button:hover{background:var(--white);color:var(--blue)}

@media(max-width:1180px){
  .home-hero h1{font-size:clamp(2.8rem,4.15vw,4rem)}
  .selection-grid{grid-template-rows:310px 310px;gap:38px 24px}
  .selection-card-feature img{transform:scale(1.02)}
}
@media(max-width:900px){
  .home-main{padding-top:66px}
  .home-hero{min-height:calc(100svh - 66px)}
  .home-hero::after{background:linear-gradient(180deg,rgba(242,242,239,.28) 0%,rgba(242,242,239,.12) 38%,rgba(242,242,239,.96) 72%,#f2f2ef 100%)}
  .home-hero-image img{object-position:center 45%}
  .home-hero-copy{justify-content:flex-end;padding:44px 20px 78px}
  .home-hero h1{font-size:clamp(2.8rem,8.4vw,4rem)}
  .home-hero h1 span{white-space:normal}
  .home-hero-copy>p{margin-top:24px}
  .home-hero-actions{margin-top:30px}
  .hero-scroll{display:none}
  .meaning-feature{grid-template-columns:1fr;gap:50px}
  .meaning-image{height:76svh;max-height:760px}
  .meaning-head,.guidance-intro,.partnership-title,.paths-intro,.final-inner{grid-template-columns:1fr;gap:32px}
  .meaning-grid{grid-template-columns:1fr;margin-top:65px}
  .meaning-item,.meaning-item:not(:first-child){min-height:0;padding:28px 0 48px;border-right:0;border-bottom:1px solid var(--line)}
  .meaning-item h3{margin-top:34px}
  .selection-head h2{white-space:normal;text-wrap:balance}
  .selection-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:54px 24px}
  .selection-card,.selection-card-feature,.selection-card-compact,.selection-card-yan,.selection-card-milena,.selection-card-panoramic{grid-column:auto;grid-row:auto;height:auto}
  .selection-card-feature,.selection-card-panoramic{grid-column:1/-1}
  .selection-card-feature figure{height:62vw;min-height:430px}
  .selection-card-compact figure{height:42vw;min-height:280px}
  .selection-card-panoramic figure{height:42vw;min-height:300px}
  .guidance-steps{grid-template-columns:1fr 1fr}
  .guidance-steps li:nth-child(2){border-right:0}
  .guidance-steps li:nth-child(n+3){border-top:1px solid rgba(29,43,77,.24)}
  .partnership-grid{grid-template-columns:1fr}
  .partner-panel,.partner-panel+article{padding:52px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .path-row{grid-template-columns:1fr 52px;gap:24px;padding:36px 0}
  .path-row>p{grid-column:1/-1;grid-row:2}.path-action{grid-column:2;grid-row:1}
  .home-mayor{grid-template-columns:1fr;min-height:0}
  .mayor-object{min-height:62svh}
  .mayor-copy{padding:80px 20px 90px}
  .home-visit{grid-template-columns:1fr;gap:55px}
  .visit-image{height:68svh}
}
@media(max-width:620px){
  .home-hero{min-height:calc(100svh - 66px)}
  .home-hero::after{background:linear-gradient(180deg,rgba(242,242,239,.02) 0%,rgba(242,242,239,.08) 36%,rgba(242,242,239,.78) 48%,rgba(242,242,239,.98) 62%,#f2f2ef 100%)}
  .home-hero-image{height:64%;bottom:auto}
  .home-hero-image img{object-position:center 44%}
  .home-hero-copy{padding-top:38px;padding-bottom:52px}
  .home-hero h1{font-size:clamp(1.9rem,7.9vw,2.25rem)}
  .home-hero-actions{align-items:flex-start;flex-direction:column;gap:22px}
  .home-meaning,.home-selection,.home-guidance,.home-partnership{padding-block:100px}
  .meaning-feature{gap:42px}
  .meaning-image{height:122vw;max-height:620px}
  .meaning-head h2{font-size:clamp(1.85rem,8.2vw,2.35rem)}
  .selection-head{align-items:flex-start;flex-direction:column}
  .selection-head h2{font-size:clamp(2.45rem,11.5vw,3.45rem)}
  .selection-grid{grid-template-columns:1fr;gap:58px}
  .selection-card,.selection-card-feature,.selection-card-compact,.selection-card-yan,.selection-card-milena,.selection-card-panoramic{grid-column:1;grid-row:auto}
  .selection-card-feature figure{height:118vw;min-height:0;max-height:520px}
  .selection-card-feature img{transform:scale(1)}
  .selection-card-compact figure{height:96vw;min-height:0;max-height:440px}
  .selection-card-panoramic figure{height:78vw;min-height:0;max-height:360px}
  .guidance-intro h2{font-size:clamp(2.8rem,13vw,4rem)}
  .guidance-steps{grid-template-columns:1fr;margin-top:62px}
  .guidance-steps li,.guidance-steps li:not(:first-child){min-height:0;padding:26px 0 42px;border-right:0;border-top:1px solid rgba(29,43,77,.24)}
  .guidance-steps li:first-child{border-top:0}
  .guidance-steps h3{margin-top:28px}
  .partner-panel dl{grid-template-columns:1fr}
  .partner-panel dl div,.partner-panel dl div:nth-child(even){min-height:0;padding:22px 0;border-left:0}
  .paths-intro{margin-bottom:55px}
  .path-row{grid-template-columns:1fr 48px}
  .path-action{width:46px;height:46px}
  .mayor-object{min-height:55svh}
  .mayor-object img{width:96%;max-height:54svh}
  .home-visit{padding-block:100px}
  .visit-image{height:72vw;min-height:360px}
  .home-final{padding-block:100px}
}
@media(prefers-reduced-motion:reduce){.selection-card img,.mayor-object img{transition:none!important;transform:none!important}}
