:root{--orange:#d9682f;--orange-deep:#b94d1d;--orange-soft:#f4c6aa;--blue:#173f55;--blue-2:#0e2f42;--paper:#f5f2eb;--white:#fff;--ink:#15222b;--muted:#637079;--line:rgba(21,34,43,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{height:108px;padding:10px clamp(20px,4vw,68px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;position:sticky;top:0;z-index:20;background:rgba(245,242,235,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.hub-back,.site-header nav a{text-decoration:none;font-size:13px;font-weight:700}
.hub-back{display:flex;gap:8px;align-items:center}
.brand img{width:auto;height:82px;max-width:100%}
.site-header nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(12px,2vw,28px)}
.site-header nav a{display:flex;flex-direction:column;line-height:1.15}
.site-header nav a span{color:var(--muted);font-weight:400}
.contact-link{padding:12px 15px;background:var(--orange);color:#fff}
.contact-link span{color:#fff!important;opacity:.75}
.hero{min-height:calc(100svh - 108px);position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;overflow:hidden;background:var(--blue)}
.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-photo{object-fit:cover;object-position:center 45%;animation:hero-in 1.2s cubic-bezier(.22,1,.36,1) both}
.hero-shade{background:linear-gradient(90deg,rgba(8,28,40,.83) 0%,rgba(8,28,40,.55) 45%,rgba(8,28,40,.12) 76%),linear-gradient(0deg,rgba(8,28,40,.45),transparent 38%)}
.hero-content{grid-column:1/3;align-self:center;position:relative;z-index:2;padding:clamp(70px,8vw,125px) clamp(24px,7vw,110px);color:#fff}
.eyebrow,.section-label{margin:0 0 30px;color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero .eyebrow{color:#ffd3bb}
h1,h2{margin:0;font-weight:800;letter-spacing:-.055em;line-height:.93}
h1{max-width:900px;font-size:clamp(54px,7.2vw,112px)}
h1 span,h2 span{display:block;color:var(--orange);font-weight:400;font-style:italic}
h1 span{margin-top:18px;color:#ffd3bb;font-size:.42em;line-height:1.02;letter-spacing:-.035em}
.hero-intro{max-width:570px;margin:34px 0 0;font-size:clamp(18px,1.55vw,24px);line-height:1.35}
.hero-intro span{color:#d7e3e8}
.hero-address{grid-column:1;align-self:end;position:relative;z-index:3;margin-left:clamp(24px,7vw,110px);padding:21px 24px;width:min(420px,calc(100vw - 48px));display:flex;justify-content:space-between;align-items:flex-end;background:var(--orange);color:#fff;text-decoration:none;transition:background .25s ease,transform .25s ease}
.hero-address:hover{background:var(--orange-deep);transform:translateY(-4px)}
.hero-address small,.hero-address strong{display:block}
.hero-address small{margin-bottom:5px;letter-spacing:.12em;font-size:10px}
.hero-address strong{font-size:17px}
.hero-address b{font-size:30px;font-weight:400}
.hero-stats{grid-column:2;position:relative;z-index:3;display:flex;align-self:end;background:rgba(245,242,235,.96)}
.hero-stats div{min-width:150px;padding:20px 22px;display:flex;align-items:center;gap:12px;border-left:1px solid var(--line)}
.hero-stats strong{font-size:34px;color:var(--orange)}
.hero-stats span{font-size:12px;line-height:1.25}
.hero-stats em{color:var(--muted);font-style:normal}
.edisu-strip{padding:24px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:28px;background:var(--orange);color:#fff}
.edisu-strip p{margin:0}.edisu-strip a{font-weight:700}.dot{display:inline-block;width:9px;height:9px;margin-right:10px;border-radius:50%;background:#fff}
.section-pad{padding:clamp(88px,11vw,165px) clamp(24px,7vw,110px)}
.intro{display:grid;grid-template-columns:.48fr 1.15fr 1fr;gap:clamp(32px,5vw,78px)}
h2{font-size:clamp(48px,6vw,90px)}
.copy-pair{padding-top:8px}
.copy-pair p{margin:0 0 26px;font-size:18px}.copy-pair p[lang=en]{color:var(--muted)}
.copy-pair.stacked{padding-top:0}.copy-pair.stacked p{font-size:17px}
.rooms{display:grid;grid-template-columns:1.05fr .95fr;background:#e8e5dd}
.room-photo{min-height:850px;overflow:hidden}.room-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .9s cubic-bezier(.22,1,.36,1)}.room-photo:hover img{transform:scale(1.025)}
.room-copy{padding:clamp(70px,8vw,125px);display:flex;flex-direction:column;justify-content:center}
.room-copy h2{margin-bottom:44px}.room-copy h2 span{color:var(--muted)}
.feature-list{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.feature-list li{padding:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:18px;border-bottom:1px solid var(--line);font-weight:700}
.feature-list em{color:var(--muted);font-weight:400;font-style:normal}
.section-heading{display:grid;grid-template-columns:.48fr 2.15fr;gap:clamp(32px,5vw,78px);align-items:start;margin-bottom:75px}.section-heading h2 span{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:340px;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s ease,transform .3s ease}
.service-card:hover{background:#fff;transform:translateY(-5px)}
.service-card>span{margin-left:auto;color:var(--orange);font-size:12px;font-weight:800}
.service-card h3{margin:auto 0 22px;font-size:28px;line-height:1.05}.service-card h3 small{display:block;margin-top:8px;color:var(--muted);font-size:18px;font-weight:400}
.service-card p{margin:0 0 7px}.service-card p[lang=en]{color:var(--muted)}
.life{padding:18px;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:440px 440px 540px;gap:18px;background:var(--blue-2)}
.life figure{margin:0;position:relative;overflow:hidden;background:#0b2838}.life-main{grid-row:1/3}.life-wide{grid-column:1/3}.life img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.22,1,.36,1),filter .5s ease}.life-wide img{object-position:center 72%}.life figure:hover img{transform:scale(1.035);filter:saturate(1.06)}
.life figcaption{position:absolute;left:18px;bottom:18px;padding:10px 13px;background:rgba(245,242,235,.94);font-weight:700}.life figcaption span{display:block;color:var(--muted);font-size:12px;font-weight:400}
.practical{background:#ebe8e1}.practical-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.practical-grid article{min-height:310px;padding:36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.practical-grid h3{margin:0 0 42px;font-size:29px}.practical-grid h3 small{display:block;color:var(--muted);font-size:18px;font-weight:400}.practical-grid p{margin:0 0 14px}.practical-grid p[lang=en]{color:var(--muted)}
.inline-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.inline-links a{font-weight:700}
.access{padding:clamp(88px,11vw,165px) clamp(24px,7vw,110px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(55px,9vw,140px);background:var(--blue);color:#fff}
.section-label.light{color:#bbced8}.access h2{margin-bottom:45px}.access h2 span{color:#f4b18c}.light-copy p[lang=en]{color:#bdd0d9}
.rate-card{align-self:end;padding:34px;border:1px solid rgba(255,255,255,.28)}.rate-card>p{margin:0 0 22px;color:#d3e0e6}.rate-card>strong{display:block;margin:10px 0 14px;color:#f4b18c;font-size:clamp(44px,5vw,76px);line-height:1}.rate-card>strong small{font-size:16px;color:#fff}.rate-card hr{margin:30px 0;border:0;border-top:1px solid rgba(255,255,255,.25)}.rate-card a{margin-top:28px;padding:17px 18px;display:flex;justify-content:space-between;background:var(--orange);color:#fff;text-decoration:none;font-weight:700;transition:background .25s ease}.rate-card a:hover{background:var(--orange-deep)}
.pnrr-note{grid-column:1/3;padding:26px 30px;border-top:1px solid rgba(255,255,255,.28);color:#d3e0e6;font-size:14px}.pnrr-note p{margin:0 0 10px}.pnrr-note p:last-child{margin-bottom:0}
.documents{background:var(--paper)}.document-list{border-top:1px solid var(--line)}
.document{padding:28px 4px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .3s ease,color .3s ease}.document:hover{padding-left:18px;padding-right:18px;color:var(--orange)}.document b,.document small{display:block}.document b{font-size:22px}.document small{margin-top:4px;color:var(--muted);font-size:14px}.document>strong{font-size:13px;letter-spacing:.1em}
.document-soon{color:var(--muted);cursor:default}.document-soon:hover{padding-left:4px;padding-right:4px;color:var(--muted)}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;min-height:760px;background:var(--orange);color:#fff}.contact>img{width:100%;height:100%;object-fit:cover}.contact-copy{padding:clamp(70px,9vw,135px);display:flex;flex-direction:column;justify-content:center}.contact h2{margin-bottom:56px}.contact h2 span{color:#58210d}.contact address{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-style:normal}.contact address a{font-size:clamp(19px,2vw,28px);font-weight:700}.contact-copy>p:last-child{margin-top:46px}.contact-copy>p:last-child span{color:#6e2a10}
footer{min-height:92px;padding:18px clamp(24px,5vw,76px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;background:var(--blue-2);color:#fff;font-size:13px}footer img{width:115px;padding:6px;background:#fff}footer a{text-decoration:none}footer a:last-child{text-align:right}
.has-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.has-motion .reveal.is-visible{opacity:1;transform:none}
@keyframes hero-in{from{opacity:.35;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.site-header{grid-template-columns:auto 1fr}.hub-back{display:none}.brand{justify-self:start}.site-header nav a:not(.contact-link){display:none}.hero{grid-template-columns:1fr}.hero-content{grid-column:1}.hero-address{grid-column:1;grid-row:2}.hero-stats{grid-column:1;grid-row:3;width:100%}.hero-stats div{flex:1}.intro,.section-heading{grid-template-columns:1fr}.rooms{grid-template-columns:1fr}.room-photo{min-height:660px}.service-grid{grid-template-columns:repeat(2,1fr)}.access{grid-template-columns:1fr}.pnrr-note{grid-column:1}.contact{grid-template-columns:1fr}.contact>img{max-height:640px;object-position:center 38%}}
@media(max-width:700px){html{scroll-padding-top:84px}.site-header{height:84px;padding:8px 18px}.brand img{width:auto;height:64px}.contact-link{padding:10px 12px}.hero{min-height:calc(100svh - 84px)}.hero-content{padding:65px 22px 40px}.hero-address{margin:0;width:100%}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr)}.hero-stats div{min-width:0;padding:14px 10px;display:block}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-size:26px}.edisu-strip{grid-template-columns:1fr;gap:8px}.section-pad{padding:78px 22px}.intro{grid-template-columns:1fr}.room-photo{min-height:500px}.room-copy{padding:72px 22px}.feature-list li{grid-template-columns:1fr}.service-grid,.practical-grid{grid-template-columns:1fr}.service-card{min-height:290px}.life{grid-template-columns:1fr;grid-template-rows:400px 330px 330px 360px}.life-main,.life-wide{grid-column:1;grid-row:auto}.access{padding:78px 22px}.rate-card{padding:24px}.document b{font-size:18px}.document>strong{font-size:11px}.contact{min-height:auto}.contact>img{height:540px}.contact-copy{padding:78px 22px}footer{grid-template-columns:1fr}footer img{order:-1}footer a:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}}
