@font-face{font-family:'Poppins';src:url(fonts/Poppins-Regular.ttf) format('truetype');font-weight:400}
@font-face{font-family:'Poppins';src:url(fonts/Poppins-Medium.ttf) format('truetype');font-weight:500 600}
@font-face{font-family:'Poppins';src:url(fonts/Poppins-Bold.ttf) format('truetype');font-weight:700 900}
/* Area Normal: the real files (Adobe Fonts kit only serves 400/700; these give true Semibold / Bold / Extrabold on screen and in every export) */
/* Regular (400) comes from the Adobe Fonts kit; a @font-face for a missing file leaves Chrome's FontFaceSet stuck in 'loading', so none is declared here */
@font-face{font-family:'area-normal';src:url(fonts/AreaNormal-Semibold.otf) format('opentype');font-weight:600}
@font-face{font-family:'area-normal';src:url(fonts/AreaNormal-Bold.otf) format('opentype');font-weight:700}
@font-face{font-family:'area-normal';src:url(fonts/AreaNormal-Extrabold.otf) format('opentype');font-weight:800 900}
:root{--shore:#F2EEE8;--ink:#000;--mute:#6A645D;--soft:#928B83;--rule:#BD9A49;--rule-soft:rgba(189,154,73,.45);--band:#231F20;--band-gold:#E6D29A;--grey:#d8d1c7;
  --gold:linear-gradient(180deg,#EFC98E 0%,#D8AA6F 48%,#B18766 100%);
  --gold-h:linear-gradient(90deg,#B18766 0%,#D8AA6F 55%,#EFC98E 100%);
  --gold-ink:#A47B4C}
*{box-sizing:border-box;margin:0;padding:0}

.poster{position:relative;overflow:hidden;background:var(--shore);color:var(--ink);font-family:'area-normal','Area Normal','Poppins',Arial,sans-serif;display:flex;flex-direction:column}
/* header lockup band */
.lock{flex:none;height:186px;background:#fff;position:relative}
.lock svg,.lock img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:595px;height:auto;display:block}
.ph{width:100%;background-size:cover;background-position:center;flex:none}
.ai{position:absolute;top:210px;right:28px;color:#fff;font-size:14px;letter-spacing:.18em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.8);padding:7px 12px}
.ai.dark{color:#000;border-color:rgba(0,0,0,.55)}
.panel{flex:1;padding:46px 92px 0;display:flex;flex-direction:column}
.kick{font-size:19px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-bottom:26px}
h1{text-wrap:balance;font-size:60px;line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:26px}
h1.md{font-size:50px}
.lede{text-wrap:pretty;font-size:27px;line-height:1.5;margin-bottom:28px;max-width:900px}
.lede.sm{font-size:24px;color:var(--mute);margin-bottom:30px}
.gold{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
ul.rules{list-style:none;border-top:1.5px solid var(--rule)}
ul.rules li{font-size:26px;line-height:1.35;padding:18px 0;border-bottom:1px solid var(--rule-soft)}
table.units{width:100%;border-collapse:collapse;border-top:1.5px solid var(--rule);margin-bottom:30px}
.units th{font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-align:left;font-weight:600;padding:14px 0 10px}
.units td{font-size:27px;padding:19px 0;border-top:1px solid var(--rule-soft);vertical-align:top}
.units td i{display:block;font-style:normal;font-size:17px;letter-spacing:.16em;text-transform:uppercase;color:var(--rule);font-weight:600;margin-top:6px}
.units .r{text-align:right}
.band{display:flex;align-items:baseline;justify-content:center;gap:.26em;background:var(--band);color:#fff;padding:calc(.20em * var(--band-py,1)) .34em;border-radius:var(--band-r,8px);width:var(--band-w,954px);max-width:954px;margin:0 auto;font-size:100px;overflow:hidden;box-sizing:border-box}
.band>*{flex:none;white-space:nowrap}
.band span{font-size:.19em;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#fff}
.band span:last-child{margin-left:0;color:rgba(255,255,255,.78);letter-spacing:.1em}
.band b{font-size:.30em;font-weight:700;color:var(--band-gold)}
.band.slim{margin-top:6px;gap:.16em}.band.slim span{color:var(--band-gold);font-size:.21em}
.band .w{color:#fff;letter-spacing:.1em}
.pre{font-size:40px;font-weight:600;text-transform:uppercase;line-height:1.3}
.pre em{display:block;font-style:normal;font-weight:500;color:var(--soft)}
.huge{font-size:112px;font-weight:700;letter-spacing:-.02em;line-height:1.12;margin:2px 0 22px}
.split{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--rule);margin-bottom:28px}
.split div{padding:22px 0}
.split div+div{border-left:1.5px solid var(--rule);padding-left:34px}
.split span{display:block;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.split b{font-size:40px;font-weight:700}
.split div+div b{color:var(--rule)}
.tl{display:flex;position:relative;margin:26px 0 40px}
.tl:before{content:"";position:absolute;left:0;right:0;top:114px;height:2px;background:#000}
.st{flex:1;display:flex;flex-direction:column;align-items:flex-start;position:relative}
.st b{font-size:52px;font-weight:700;height:104px;line-height:1.1;display:flex;align-items:flex-end;padding-bottom:18px;box-sizing:border-box}
.st i{width:22px;height:22px;border-radius:50%;background:#000;margin:0 0 20px}
.st span{font-size:21px;line-height:1.3;padding-right:14px;text-transform:uppercase;letter-spacing:.06em}
.st.hi{flex:1.4}
.st.hi b{font-size:84px;font-weight:700;line-height:1.1;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.st.hi i{background:radial-gradient(circle at 38% 32%,#E9C995 0%,#B8946B 55%,#8A7362 100%);width:30px;height:30px;margin:-4px 0 16px}
.pair{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--rule)}
.pair div{padding:20px 0}.pair div+div{border-left:1.5px solid var(--rule);padding-left:28px}
.pair span{display:block;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.pair b{font-size:40px}
.bars{border-top:1.5px solid var(--rule);padding-top:10px}
.bar{display:grid;grid-template-columns:300px 1fr 120px;align-items:center;gap:24px;padding:14px 0}
.bar span{font-size:24px}.bar b{font-size:26px;text-align:right}
.bar div{height:38px;display:flex;align-items:center}.bar i{display:block;height:100%;background:linear-gradient(180deg,#ddd6cc 0%,#d3cbc0 100%);border-radius:2px;box-shadow:0 2px 4px rgba(90,70,50,.14),1px 1px 0 rgba(90,70,50,.08)}
.bar.hi i{background:linear-gradient(90deg,#B48A62 0%,#D6AA70 55%,#F0CD93 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(120,85,45,.18),0 3px 7px rgba(140,100,55,.32)}
/*note*/.note{font-size:23px;line-height:1.5;margin-top:26px;padding-top:24px;border-top:1px solid var(--rule-soft);color:#222}
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--rule);margin-bottom:28px}
.cards div{padding:20px 22px 22px 0;display:flex;flex-direction:column;gap:6px}
.cards div+div{border-left:1.5px solid var(--rule);padding-left:22px}
.cards .code{font-size:36px;margin-bottom:6px}
.cards span{font-size:20px;color:#222}
.cards .pr{font-size:26px;margin-top:14px}
/* legal line, fold shade and footer band (from Layout.psd) */
.legal{position:absolute;left:80px;right:80px;bottom:118px;text-align:center;font-size:19px;color:var(--mute);letter-spacing:.01em}

.band-foot{position:absolute;left:92px;right:92px;bottom:40px;height:76px;display:flex;align-items:center;justify-content:space-between}
.band-foot .url{font-size:26px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.band-foot svg,.band-foot .star{height:76px;width:auto;display:block}
/* no-photo layouts */
.panel.nophoto{padding-top:64px}
/* timeline, large values (e.g. homes per year) */
.tl.big .st b{font-size:44px}.tl.big .st.hi b{font-size:64px}
/* two numbers */
.nums{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--rule);margin-bottom:10px}
.nums div{padding:24px 24px 24px 0}.nums div+div{border-left:1.5px solid var(--rule);padding-left:28px}
.nums b{display:block;font-size:84px;line-height:1;font-weight:700;letter-spacing:-.02em;margin-bottom:14px}
.nums .hi b{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.nums span{font-size:22px;line-height:1.35;display:block}
/* two panels */
.two{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--rule);margin-bottom:26px}
.two>div{padding:20px 22px 6px 0}.two>div+div{border-left:1.5px solid var(--rule);padding-left:24px;padding-right:0}
.two h4{font-size:18px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-bottom:12px}
.two .hi h4{color:var(--gold-ink)}
.two ul{list-style:none}.two li{font-size:20px;line-height:1.35;padding:8px 0;border-bottom:1px solid var(--rule-soft)}
.two li:last-child{border-bottom:0}
.two .hi{background:linear-gradient(180deg,rgba(216,170,111,.12),rgba(216,170,111,0))}
/* icon strip */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);border-top:1.5px solid var(--rule);margin-bottom:22px}
.tiles div{display:flex;gap:18px;align-items:flex-start;padding:18px 18px 18px 0;border-bottom:1px solid var(--rule-soft)}
.tiles div:nth-child(even){padding-left:20px;border-left:1px solid var(--rule-soft)}
.tiles svg{width:46px;height:46px;flex:none}.tiles span{font-size:21px;line-height:1.35}
.tile-big{display:flex;gap:28px;align-items:center;background:#000;color:#fff;padding:30px 32px;margin-top:4px}
.tile-big svg{width:110px;height:110px;flex:none;color:#D8AA6F}
.tile-big b{display:block;font-size:64px;font-weight:700;line-height:1;margin-bottom:12px;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.tile-big span{font-size:21px;line-height:1.4;opacity:.92}
/* compare views / plans */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:6px;height:620px;flex:none;background:#fff}
.duo div{background-size:cover;background-position:center;position:relative}
.duo em{position:absolute;left:22px;bottom:20px;background:var(--shore);color:#000;font-style:normal;font-size:17px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:10px 14px}
.duo.plans div{background-size:contain;background-repeat:no-repeat;background-color:#fff}
.grp h4{font-size:18px;letter-spacing:.16em;text-transform:uppercase;margin:6px 0 4px}
.grp table.units{margin-bottom:16px}.grp .units td{padding:12px 0;font-size:24px}
/* plan + render */
.ph.pr{position:relative}.ph.pr .plan{position:absolute;right:40px;bottom:40px;width:38%;height:70%;background:#fff center/contain no-repeat;border:10px solid #fff}
.huge.sm{font-size:104px;font-weight:700;line-height:1.14;padding-bottom:.06em;margin:0 0 22px}.huge small{font-size:40px;font-weight:700;letter-spacing:0}
.huge.sm{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
/* bars variants */
.bars.duobar .bar{grid-template-columns:200px 1fr 190px}.bars.duobar .bar div{height:64px}.bars.duobar .bar b{font-size:30px}
.bar.blk i{background:linear-gradient(180deg,#1b1b1b 0%,#000 100%)}

/* no-photo panels: bigger type, content spread to the legal line */
.panel.nophoto{justify-content:space-evenly;padding-bottom:190px}
.nophoto h1.md{font-size:62px}.nophoto .lede.sm{font-size:27px}
.nophoto .tiles div{padding-top:28px;padding-bottom:28px}.nophoto .tiles svg{width:58px;height:58px}.nophoto .tiles span{font-size:24px}
.nophoto .tile-big{padding:44px 40px}.nophoto .tile-big svg{width:140px;height:140px}.nophoto .tile-big b{font-size:88px}.nophoto .tile-big span{font-size:24px}

/* gradient (clipped) text needs room inside its own box or descenders get cut */
.nums .hi b,.tile-big b,.split div+div b{line-height:1.12;padding-bottom:.06em}

/* dark background variant — flips the ink so any ground colour stays readable */
.poster.dk{--ink:#FFFFFF;--mute:#B5AEA4;--soft:#8D8680;--grey:#3B3630;--rule:#C9A659;--rule-soft:rgba(201,166,89,.45);--band:#000}
.poster.dk .note,.poster.dk .cards span{color:#CFC8BE}
.poster.dk .tl:before,.poster.dk .st i{background:#fff}
.poster.dk .duo em{background:#fff;color:#000}
.poster.dk .bar:not(.hi) i{background:linear-gradient(180deg,#4a453e 0%,#3b3630 100%)}
.poster.dk .bar.blk:not(.hi) i{background:linear-gradient(180deg,#6e675e 0%,#565049 100%)}
.poster.dk .tile-big{background:#0d0d0d}

/* ---- preset: Icon strip + render ---- */
.iconsr{padding-top:40px}
.iconsr .kick.sc{font-size:25px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--mute);margin-bottom:18px}
.iconsr h1.md{font-size:60px;letter-spacing:.01em;margin-bottom:10px}
.iconsr .lede.tight{font-size:29px;line-height:1.3;color:var(--ink);margin-bottom:26px;max-width:none}
.iconsr .tiles{grid-template-columns:repeat(2,1fr);border-top:1.5px solid var(--rule);margin-bottom:28px}
.iconsr .tiles div{gap:20px;padding:18px 20px 18px 30px;align-items:flex-start}
.iconsr .tiles div:nth-child(even){padding-left:34px;border-left:1px solid var(--rule-soft)}
.iconsr .tiles svg{width:52px;height:52px}
.iconsr .tiles span{font-size:22px;line-height:1.34}
.tile-big.round{border-radius:14px;margin:0 46px;padding:28px 36px;gap:26px}
.tile-big.round svg{width:88px;height:88px}
.tile-big.round b{font-size:62px;margin-bottom:8px}
.tile-big.round span{font-size:21px;line-height:1.42}

/* ---- approved rules: asterisks, numbered legal, two-line bands, vertiport line ---- */
/* asterisks hang outside the word they mark: 50% larger, no space taken from the text */
.ast{font-style:normal;font-weight:inherit;display:inline;position:absolute;right:100%;top:-.2em;margin-right:.08em;font-size:1.1em;line-height:1;letter-spacing:0;color:inherit}
.units td b,.cards .code,.band .hang,.band .w,.legal.l2 .ln{position:relative}
.units td b i.ast,.cards .code i.ast{font-size:1.1em;letter-spacing:0;margin-top:0;text-transform:none;font-weight:inherit;color:var(--ink)}
.band .ast{top:-.1em;color:inherit}
.band.two .w .ast{position:static;vertical-align:top;margin-right:.05em}
.legal.l2{display:flex;justify-content:center;text-align:left;line-height:1.5;bottom:104px}
.legal.l2 .ln{max-width:640px;position:relative}
.legal.l2 .ast{font-size:1.47em;top:.02em;margin-right:8px;color:var(--mute)}
.band.two{display:block;padding:calc(.17em * var(--band-py,1)) .5em;text-align:center}
.band.two>span{display:block;white-space:normal;font-size:.19em;line-height:1.35;letter-spacing:.05em;color:var(--band-gold);font-weight:600;max-width:none}
.band.two .w{font-size:inherit;letter-spacing:inherit;color:#fff;font-weight:600}
.band.lines{flex-direction:column;align-items:flex-start;gap:.05em;padding:calc(.17em * var(--band-py,1)) .42em;width:var(--band-w,max-content);max-width:954px;margin:0 auto}
.band.lines>div{display:flex;align-items:baseline;justify-content:flex-start;gap:.18em;white-space:nowrap}
.band.lines span{font-size:.2em;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--band-gold)}
.band.lines b{font-size:.32em;font-weight:700;color:#fff}
.band.lines b.w{font-weight:400}
.goldtxt{font-style:normal;color:var(--gold-ink);font-weight:700}
.vert{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:14px}
.vert svg{width:86px;height:86px;flex:none;color:var(--gold-ink)}
.vert b{display:block;font-size:52px;line-height:1.1;font-weight:700;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em;margin-bottom:6px}
.vert span{display:block;font-size:21px;line-height:1.4;max-width:560px}
.iconsr .tiles{grid-template-columns:repeat(2,1fr)}
