 {} *{} #IE-warning { display: none; position: fixed; width: 100%; height: 100%; z-index: 9999; background: white; } .IE-warning-message { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; } /* ============================================================ HAIKU HOMES — PROJECTIONS PAGE (complete self-contained) ============================================================ */ :root{ --navy:#0B1A2E; --navy-mid:#14284A; --gold:#C8A55A; --gold-lt:#DFC088; --cream:#F6F3EE; --cream-dk:#EAE6DD; --text-dk:#111827; --text-md:#4B5563; --text-lt:#9CA3AF; --white:#FFFFFF; --bdr:rgba(11,26,46,.09); } *,*::before,*::after{box-sizing:border-box} body{margin:0;background:var(--cream);color:var(--text-dk);font-family:'DM Sans',sans-serif;line-height:1.6} /* ============= NAV ============= */ nav{position:fixed;top:0;left:0;right:0;z-index:200;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(11,26,46,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,165,90,.18);font-family:'DM Sans',sans-serif} nav .nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none} nav .nav-mark{width:32px;height:32px;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;color:var(--navy)} nav .nav-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;color:var(--white);letter-spacing:.3px} nav .nav-name span{color:var(--gold)} nav .nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0} nav .nav-links li a{font-size:12px;font-weight:400;letter-spacing:.9px;text-transform:uppercase;color:rgba(255,255,255,.68);padding:6px 11px;transition:color .2s;white-space:nowrap;text-decoration:none;display:inline-block} nav .nav-links li a:hover, nav .nav-links li a.active{color:var(--gold)} nav .nav-cta-li a{background:var(--gold) !important;color:var(--navy) !important;padding:8px 18px !important} nav .nav-cta-li a:hover{background:var(--gold-lt) !important} nav .nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px} nav .nav-hamburger span{width:22px;height:1.5px;background:var(--white);display:block} .nav-mobile{display:none;position:fixed;top:66px;left:0;right:0;background:rgba(11,26,46,.98);z-index:190;padding:16px 5vw 24px;border-bottom:1px solid rgba(200,165,90,.18)} .nav-mobile.open{display:block} .nav-mobile a{display:block;padding:12px 0;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none} .nav-mobile a:hover, .nav-mobile a.active{color:var(--gold)} .nav-mobile .mob-cta{display:inline-block !important;margin-top:16px;background:var(--gold);color:var(--navy) !important;padding:10px 24px;font-size:11px;letter-spacing:1.2px;font-weight:500;border-bottom:none !important} /* ============= HERO ============= */ .page-hero{position:relative;min-height:420px;display:flex;align-items:center;overflow:hidden;margin-top:66px} .page-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover} .page-hero-tint{position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,26,46,.86) 0%,rgba(11,26,46,.55) 100%)} .ph-inner{position:relative;z-index:2;padding:80px 5vw;max-width:900px;color:var(--white)} .ph-inner .eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;font-weight:500} .ph-inner h1{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,7vw,82px);font-weight:300;line-height:1.05;margin:0 0 22px;letter-spacing:-.5px} .ph-inner h1 em{font-style:italic;color:var(--gold);font-weight:400} .ph-inner p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);max-width:620px;margin:0;font-weight:300} /* ============= SHARED SECTION TYPE ============= */ .eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px} /* ============= BASELINE ============= */ .baseline{padding:80px 5vw;background:var(--white)} .baseline-inner{max-width:1280px;margin:0 auto} .baseline-label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:14px} .baseline-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.6vw,44px);font-weight:300;color:var(--navy);margin:0 0 40px;line-height:1.15;letter-spacing:-.3px} .baseline-title em{font-style:italic;color:var(--gold);font-weight:400} .baseline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-top:1px solid var(--bdr);border-left:1px solid var(--bdr)} .bstat{padding:28px 24px;border-right:1px solid var(--bdr);border-bottom:1px solid var(--bdr);background:var(--cream)} .bstat .v{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;color:var(--navy);line-height:1.1;letter-spacing:-.3px} .bstat .v.gold{color:var(--gold);font-weight:600} .bstat .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-lt);margin-top:8px;font-weight:500} /* ============= ASSUMPTIONS ============= */ .assumptions{padding:80px 5vw;background:var(--cream)} .assumptions-inner{max-width:1280px;margin:0 auto} .assumptions-head{margin-bottom:38px} .assumptions-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.6vw,44px);font-weight:300;color:var(--navy);margin:0 0 14px;line-height:1.15} .assumptions-head h2 em{font-style:italic;color:var(--gold);font-weight:400} .assumptions-head p{font-size:14px;color:var(--text-md);max-width:680px;margin:0;line-height:1.75} .assumptions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:24px} .afield{background:var(--white);padding:18px 20px;border-left:3px solid var(--gold)} .afield label{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-md);margin-bottom:8px;font-weight:500} .afield input{width:100%;padding:9px 0;border:none;border-bottom:1px solid var(--bdr);font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--navy);background:transparent} .afield input:focus{outline:none;border-bottom-color:var(--gold)} .afield .hint{font-size:11px;color:var(--text-lt);margin-top:6px;letter-spacing:.3px} .assumptions-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:6px} .btn-reset{background:var(--navy);color:var(--white);border:none;padding:11px 24px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s} .btn-reset:hover{background:var(--navy-mid)} .assumptions-status{font-size:12px;color:var(--text-lt);font-style:italic} /* ============= HORIZON TABS ============= */ .horizon{padding:60px 5vw 30px;background:var(--cream);text-align:center} .horizon-tabs{display:inline-flex;gap:0;background:var(--white);padding:6px;box-shadow:0 2px 12px rgba(11,26,46,.05)} .htab{background:none;border:none;padding:14px 28px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-md);font-weight:500;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .25s} .htab .yr{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:var(--navy);letter-spacing:0;text-transform:none} .htab.active{background:var(--navy);color:var(--white)} .htab.active .yr{color:var(--gold)} .htab:hover:not(.active){background:var(--cream)} /* ============= RESULTS ============= */ .results{padding:30px 5vw 80px;background:var(--cream);max-width:1280px;margin:0 auto} .results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:42px} .rsum{background:var(--white);padding:24px 26px;border-top:3px solid var(--gold)} .rsum .label{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-lt);margin-bottom:10px;font-weight:500} .rsum .v{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:400;color:var(--navy);line-height:1.05;letter-spacing:-.3px} .rsum .delta{font-size:11px;color:var(--text-md);margin-top:8px;letter-spacing:.3px} .rsum .delta.gold{color:var(--gold);font-weight:600} /* Charts */ .charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:24px;margin-bottom:42px} .chart-card{background:var(--white);padding:28px 28px 18px;box-shadow:0 2px 10px rgba(11,26,46,.04)} .chart-card h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--navy);margin:0 0 4px;letter-spacing:-.2px} .chart-card .csub{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-lt);margin-bottom:18px;font-weight:500} .chart-card svg{width:100%;height:auto;display:block} /* Table */ .tbl-wrap{background:var(--white);padding:28px 0 0;box-shadow:0 2px 10px rgba(11,26,46,.04);overflow-x:auto} .tbl-head{padding:0 28px 18px} .tbl-head h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:var(--navy);margin:0 0 4px;letter-spacing:-.2px} .tbl-head h3 em{font-style:italic;color:var(--gold);font-weight:400} .tbl-head p{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-lt);margin:0;font-weight:500} table.proj{width:100%;border-collapse:collapse;font-family:'DM Sans',sans-serif;font-size:13px} table.proj th{text-align:left;padding:12px 16px;background:var(--navy);color:var(--white);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:500;white-space:nowrap} table.proj td{padding:14px 16px;border-bottom:1px solid var(--bdr);color:var(--text-dk);white-space:nowrap} table.proj tr:nth-child(even) td{background:var(--cream)} table.proj tr.terminal td{background:rgba(200,165,90,.1);font-weight:500} table.proj td .gold{color:var(--gold);font-weight:600} /* ============= DISCLAIMER ============= */ .disclaimer{padding:60px 5vw;background:var(--white)} .disclaimer-box{max-width:1100px;margin:0 auto;background:var(--cream);padding:32px 36px;border-left:3px solid var(--gold)} .disclaimer-box h4{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--navy);margin:0 0 10px;letter-spacing:0;text-transform:none} .disclaimer-box p{font-size:12px;color:var(--text-md);line-height:1.8;margin:0} /* ============= CTA BAND ============= */ .cta-band{background:var(--navy);padding:80px 5vw;text-align:center;color:var(--white)} .cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.5vw,52px);font-weight:300;margin:0 0 32px;line-height:1.15} .cta-band h2 em{font-style:italic;color:var(--gold);font-weight:400} .cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap} .btn-gold,.btn-outline{padding:14px 36px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;text-decoration:none;transition:all .25s;display:inline-block} .btn-gold{background:var(--gold);color:var(--navy)} .btn-gold:hover{background:var(--gold-lt)} .btn-outline{border:1px solid rgba(255,255,255,.4);color:var(--white)} .btn-outline:hover{background:rgba(255,255,255,.08);border-color:var(--white)} /* ============= FOOTER ============= */ footer{background:var(--navy);padding:60px 5vw 28px;font-family:'DM Sans',sans-serif;border-top:1px solid rgba(200,165,90,.12)} footer .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.07);max-width:1280px;margin:0 auto} footer .footer-brand h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:var(--white);margin:0 0 12px} footer .footer-brand h3 span{color:var(--gold)} footer .footer-brand p{font-size:13px;line-height:1.8;color:rgba(255,255,255,.38);margin:0 0 18px} footer .footer-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:rgba(200,165,90,.45)} footer .footer-col h4{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:0 0 18px;font-weight:500} footer .footer-col ul{list-style:none;margin:0;padding:0} footer .footer-col li{margin-bottom:9px} footer .footer-col a{font-size:13px;color:rgba(255,255,255,.38);transition:color .2s;text-decoration:none} footer .footer-col a:hover{color:var(--white)} footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;flex-wrap:wrap;gap:8px;max-width:1280px;margin:0 auto} footer .footer-bottom p{font-size:11px;color:rgba(255,255,255,.22);margin:0} /* ============= RESPONSIVE ============= */ @media(max-width:900px){ nav .nav-links{display:none} nav .nav-hamburger{display:flex} footer .footer-grid{grid-template-columns:1fr;gap:36px} .baseline,.assumptions,.disclaimer{padding:60px 5vw} .horizon{padding:40px 5vw 20px} .results{padding:20px 5vw 60px} .htab{padding:10px 18px} .htab .yr{font-size:20px} }
