@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--ivory:#f6f2e9;--ink:#263126;--olive:#495647;--gold:#b59a5d;--rose:#a8786b;--line:#d5ccbb;--muted:#766f64;--dark:#202a20}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}.shell{width:min(1230px,calc(100% - 50px));margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(246,242,233,.93);backdrop-filter:blur(15px);border-bottom:1px solid rgba(38,49,38,.1)}.navrow{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.nav{display:flex;gap:24px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.nav.right{justify-content:flex-end}.nav a[aria-current=page]{color:var(--gold)}.brand{font:400 28px Italiana,serif;letter-spacing:.08em}.menu{display:none;border:0;background:none;font-size:24px}.hero{padding:26px 0 95px}.hero-grid{display:grid;grid-template-columns:.85fr 1.3fr .7fr;gap:16px;align-items:stretch;min-height:720px}.hero-note{padding:52px 18px 40px 0;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.hero-note p{font-size:11px;line-height:1.8;color:var(--muted)}.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.hero-main{position:relative;overflow:hidden;border-radius:240px 240px 0 0}.hero-main:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(24,34,24,.55))}.hero-title{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:white}.hero-title h1,.page-hero h1{font:400 clamp(58px,7.6vw,112px)/.84 Italiana,serif;letter-spacing:-.035em;margin:8px 0}.hero-side{display:grid;grid-template-rows:1fr auto;gap:16px}.hero-side-image{overflow:hidden;min-height:0}.hero-side-card{background:var(--dark);color:white;padding:30px}.hero-side-card b{display:block;font:400 38px Italiana,serif;color:#e2d3aa}.hero-side-card span{font-size:9px;color:#9eab9b;line-height:1.6}.button{display:inline-flex;align-items:center;gap:12px;border:1px solid currentColor;padding:13px 16px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;transition:.25s}.button:hover{background:var(--ink);color:white}.section{padding:110px 0}.center-head{text-align:center;max-width:850px;margin:0 auto 55px}.center-head h2,.spaces-copy h2,.journey h2,.final h2{font:400 clamp(46px,5.8vw,82px)/.94 Italiana,serif;letter-spacing:-.035em;margin:12px 0}.center-head p{color:var(--muted);line-height:1.8;font-size:13px}.space-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.space{position:relative;min-height:520px;overflow:hidden}.space:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(25,35,25,.68))}.space-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:white}.space-copy span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#e2d6b8}.space-copy h3{font:400 34px Italiana,serif;margin:7px 0}.space-copy p{font-size:11px;color:#d9dfd6;line-height:1.6}.journey{background:var(--dark);color:white;padding:110px 0}.journey-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.journey p{color:#aeb9aa;line-height:1.8;font-size:13px}.timeline{display:grid;gap:0}.step{display:grid;grid-template-columns:90px 1fr;gap:20px;border-top:1px solid #455244;padding:24px 0}.step:last-child{border-bottom:1px solid #455244}.step time{font:400 26px Italiana,serif;color:#c4ad76}.step h3{font:400 27px Italiana,serif;margin:0 0 6px}.step p{margin:0;font-size:11px}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:390px 300px;gap:16px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery figure:first-child{grid-row:1/3}.gallery figure:nth-child(2){border-radius:180px 180px 0 0}.gallery figcaption{position:absolute;left:18px;bottom:16px;background:rgba(246,242,233,.95);padding:10px 13px;font-size:10px}.numbers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers div{padding:28px;border-right:1px solid var(--line);min-width:0}.numbers div:last-child{border:0}.numbers b{font:400 35px Italiana,serif;display:block}.numbers span{font-size:10px;color:var(--muted)}.final{background:#ded3bd;padding:90px 0}.final .shell{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:end}.footer{background:#182018;color:white;padding:65px 0 25px}.footgrid{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:45px}.footer p,.footer a{color:#98a295;font-size:11px;line-height:1.8}.footer nav{display:flex;flex-direction:column;gap:8px}.legal{border-top:1px solid #344034;margin-top:40px;padding-top:18px;color:#647061;font-size:9px}.demo-badge{position:fixed;left:14px;bottom:14px;z-index:80;background:#d8c79f;color:var(--dark);padding:9px 12px;font-size:9px}.page-hero{padding:70px 0}.page-hero .shell{display:grid;grid-template-columns:1fr .9fr;gap:65px;align-items:center}.page-media{height:470px;overflow:hidden;border-radius:200px 200px 0 0}.page-hero p{color:var(--muted);line-height:1.8}.space-list{display:grid;gap:20px}.space-row{display:grid;grid-template-columns:1.05fr .95fr;min-height:440px;background:#ebe5d8}.space-row:nth-child(even) .space-media{order:2}.space-text{padding:44px;display:flex;flex-direction:column;justify-content:center}.space-text h2{font:400 50px Italiana,serif;margin:10px 0}.space-text p,.space-text li{font-size:12px;color:var(--muted);line-height:1.8}.event-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:360px 310px;gap:16px}.event-grid figure{margin:0;overflow:hidden;position:relative}.event-grid figure:first-child{grid-row:1/3}.event-grid figcaption{position:absolute;left:16px;bottom:14px;background:var(--ivory);padding:9px 12px;font-size:10px}.form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;padding:85px 0 110px}.form-card{border:1px solid var(--line);padding:34px;background:#fbf8f2}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#736a5c}.field input,.field select,.field textarea{width:100%;border:1px solid #d7cfbf;background:white;padding:13px;outline:none}.submit{border:0;background:var(--dark);color:white;padding:14px 18px;margin-top:18px;cursor:pointer}.form-success{font-size:11px;color:#4f704e}[data-reveal]{opacity:0;transform:translateY(20px);transition:.7s}[data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:960px){.navrow{display:flex;justify-content:space-between}.nav{position:fixed;left:0;right:0;background:var(--ivory);padding:20px 25px;display:flex;flex-direction:column;transform:translateY(-170%);transition:.3s}.nav:first-of-type{top:84px}.nav.right{top:190px}.menu-open .nav{transform:none}.menu{display:block}.hero-grid,.journey-grid,.page-hero .shell,.form-layout{grid-template-columns:1fr}.hero-note{padding:20px 0}.hero-main{min-height:660px}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:330px}.space-cards{grid-template-columns:1fr 1fr}.space:last-child{grid-column:1/-1}.gallery{grid-template-columns:1fr;grid-template-rows:440px 300px 300px}.gallery figure:first-child{grid-row:auto}.numbers{grid-template-columns:1fr 1fr}.final .shell{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.space-row{grid-template-columns:1fr}.space-row:nth-child(even) .space-media{order:0}.space-media{height:380px}.event-grid{grid-template-columns:1fr;grid-template-rows:430px 280px 280px}.event-grid figure:first-child{grid-row:auto}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:620px){.shell{width:min(100% - 28px,1230px)}.navrow{height:72px}.nav:first-of-type{top:72px}.nav.right{top:178px}.brand{font-size:24px}.hero{padding-top:14px}.hero-main{min-height:540px;border-radius:150px 150px 0 0}.hero-title h1,.page-hero h1{font-size:clamp(54px,18vw,86px)}.hero-side{grid-template-columns:1fr;grid-template-rows:300px auto}.section,.journey{padding:74px 0}.space-cards{grid-template-columns:1fr}.space:last-child{grid-column:auto}.space{min-height:440px}.numbers{grid-template-columns:1fr}.numbers div{border-right:0;border-bottom:1px solid var(--line)}.step{grid-template-columns:70px 1fr}.space-text{padding:28px}.space-media{height:300px}.form-card{padding:22px}.demo-badge{font-size:8px}}


/* ============================================================
   MOBILE OVERFLOW HARDENING — demo pages
   ============================================================ */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
*,*::before,*::after{box-sizing:border-box}
img,video,svg,canvas{
  display:block;
  max-width:100%;
  height:auto;
}
main,section,header,footer,nav,div,article,figure,form{
  min-width:0;
}
h1,h2,h3,h4,p,span,a,button,label,strong,small{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.container,.wrap,.shell,.inner{
  max-width:100%;
}
@media(max-width:680px){
  body{overflow-x:hidden}
  .navrow,.hero-grid,.hero-meta,.hero-actions,.actions,.page-hero,.page-title,
  .grid,.cards,.projects,.rooms,.spaces,.gallery,.editorial,.editorial-grid{
    min-width:0;
    max-width:100%;
  }
  .hero h1,.page-hero h1,.page-title h1,
  .hero h2,.page-hero h2,.section h2{
    max-width:100%;
    overflow-wrap:anywhere;
  }
  input,textarea,select,button{max-width:100%}
}
