:root{--green:#153f2b;--deep:#10291f;--red:#be283e;--cream:#f7f5eb;--ink:#17271d;--muted:#59655d;--line:#d9dfd2}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
a{color:inherit}
img{max-width:100%;display:block}
button,a,input{ -webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.skip{position:absolute;top:-80px;left:20px;background:white;padding:12px;z-index:100}
.skip:focus{top:10px}
.topline{background:var(--green);color:white;padding:8px 5%;font-size:11px;letter-spacing:2px;text-align:center}
header{background:var(--cream);border-bottom:1px solid var(--line)}
.header-inner{max-width:1400px;margin:auto;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand img{width:76px;height:76px;object-fit:contain;border-radius:50%;background:white}
.brand strong{display:block;font-size:23px;letter-spacing:1px;line-height:1.15;color:var(--green)}
.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:6px}
nav{display:flex;gap:20px;align-items:center}
nav a{font-size:12px;text-decoration:none;font-weight:700;padding:9px 0}
nav a[aria-current=page]{color:var(--red);border-bottom:2px solid var(--red)}
.menu{display:none;background:none;border:1px solid var(--green);padding:10px 15px;font:inherit}
.wrap{max-width:1240px;margin:auto;padding:0 5%}
.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px}
.hero-copy{padding:80px max(6vw,24px);display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:var(--red);margin:0 0 24px}
h1,h2,h3{line-height:1.05;font-weight:500;letter-spacing:-1.5px;margin-top:0}
h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,90px);margin-bottom:28px}
h1 em,h2 em{color:var(--red);font-weight:400}
h2{font-family:Georgia,serif;font-size:clamp(36px,4vw,58px);margin-bottom:24px}
h3{font-size:24px;letter-spacing:-.5px;margin-bottom:15px}
.lead{font-size:18px;max-width:600px;color:var(--muted)}
.hero-photo{position:relative;min-height:530px;background:var(--green);overflow:hidden}
.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.caption{position:absolute;bottom:24px;left:24px;right:24px;padding:12px 18px;background:rgba(16,41,31,.88);color:white;font-size:12px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--red);color:white;padding:15px 24px;font-size:13px;font-weight:700;border:1px solid var(--red);transition:transform .2s,background .2s}
.btn:hover{background:#a21f32;transform:translateY(-2px)}
.btn.outline{background:transparent;color:var(--green);border-color:var(--green)}
.strip{background:var(--green);color:white;padding:22px 5%;display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-size:12px;letter-spacing:1px}
section.section{padding:90px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.section-photo{width:100%;height:520px;object-fit:cover}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px}
.card{padding:32px;border-top:2px solid var(--green);background:#eeefe5}
.card .number{display:block;color:var(--red);font-family:Georgia,serif;font-size:35px;margin-bottom:30px}
.card p{color:var(--muted)}
.card a{font-weight:bold;font-size:13px;text-underline-offset:5px}
.dark{background:var(--deep);color:var(--cream)}
.dark .lead,.dark p{color:#d0dbd1}
.dark .eyebrow{color:#f18c98}
.dark .btn.outline{color:white;border-color:white}
.logo-stage{min-height:430px;display:grid;place-items:center;perspective:1000px;background:radial-gradient(ellipse at center,#e0e9ce,transparent 65%)}
.logo-stage img{width:min(90%,370px);border-radius:50%;box-shadow:0 15px 0 #16442a,0 28px 45px #10291f44;transform:rotateX(8deg) rotateY(-8deg);transition:transform .4s}
.logo-stage:hover img{transform:rotateX(0) rotateY(0) translateY(-5px)}
.page-head{padding:75px 0 45px;max-width:850px}
.page-head h1{font-size:clamp(46px,6vw,76px)}
.prose{max-width:780px}
.prose p,.prose li{color:var(--muted)}
.wide-image{width:100%;height:auto;background:white}
figure{margin:30px 0}
figcaption{font-size:12px;color:var(--muted);padding:12px 0}
.steps{display:grid;gap:0;margin:35px 0}
.step{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)}
.step>span{font-family:Georgia,serif;font-size:35px;color:var(--red)}
.step p{margin-bottom:0;color:var(--muted)}
.callout{border-left:4px solid var(--red);padding:22px 28px;background:#eeefe5;margin:30px 0}
video{width:100%;max-height:550px;background:#10291f}
footer{background:var(--deep);color:var(--cream);padding:55px 5% 25px}
.footer-inner{max-width:1240px;margin:auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer h3{font-family:Georgia,serif;font-size:30px}
footer p{font-size:13px;color:#cad6cb;max-width:480px}
footer a{font-size:13px;display:block;margin-bottom:9px;text-decoration:none}
.footer-bottom{border-top:1px solid #45604d;margin-top:35px;padding-top:20px;font-size:11px;color:#cad6cb}
@media(max-width:1100px){nav{gap:12px}.brand strong{font-size:19px}.header-inner{gap:12px}}
@media(max-width:900px){
.header-inner{flex-wrap:wrap}.menu{display:block}
nav{display:none;width:100%;flex-wrap:wrap;gap:16px}
nav.open{display:flex}
.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}
.hero-photo{min-height:450px}.hero-photo>img{object-position:center 40%}
.split{grid-template-columns:1fr;gap:35px}.grid{grid-template-columns:1fr 1fr}
section.section{padding:60px 0}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.grid,.footer-grid{grid-template-columns:1fr}
.hero-photo{min-height:420px}.section-photo{height:400px}
.strip{gap:15px;font-size:10px}
.page-head{padding-top:50px}.logo-stage{min-height:360px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Card contrast correction */
.dark .card{background:#214a35;border-color:#8bb478}
.dark .card h3,.dark .card a{color:#fff}
.dark .card p{color:#d0dbd1}
/* Magapu media upgrade */
.brand img{
  width:128px;
  height:128px;
  box-shadow:0 5px 18px #153f2b20;
}
.brand strong{font-size:27px}
.header-inner{max-width:1500px}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
  pointer-events:none;
}
.hero-slide.active{opacity:1}
.hero-slide img,.hero-slide video{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
}
.hero-slide video{object-position:center 40%}
.hero-photo.motion-enabled .hero-slide.active img{
  animation:magapu-photo-motion 9s ease-out both;
}
@keyframes magapu-photo-motion{
  from{transform:scale(1)}
  to{transform:scale(1.06)}
}
.hero-media-footer{
  position:absolute;
  z-index:2;
  bottom:0;
  left:0;
  right:0;
  padding:30px 24px 22px;
  color:white;
  background:linear-gradient(transparent,rgba(16,41,31,.95));
}
.hero-media-footer p{margin:0 0 12px;font-size:13px}
.media-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.media-controls button{
  background:#153f2b;
  border:1px solid #ffffff88;
  color:white;
  padding:10px 14px;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.slide-count{margin-left:auto;font-size:12px}
.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.film-grid video{
  height:520px;
  object-fit:contain;
  background:#07140e;
}
.dark figcaption{color:#d0dbd1}
.estate-real{padding-top:15px!important}
.estate-gate{
  width:100%;
  height:480px;
  object-fit:contain;
  background:#10291f;
}
@media(max-width:1100px){
  .brand img{width:105px;height:105px}
  .brand strong{font-size:23px}
}
@media(max-width:600px){
  .brand img{width:94px;height:94px}
  .brand strong{font-size:22px}
  .brand small{font-size:8px}
  .film-grid{grid-template-columns:1fr}
  .film-grid video{height:440px}
  .hero-photo{min-height:560px}
  .estate-gate{height:420px}
}
@media(prefers-reduced-motion:reduce){
  .hero-slide{transition:none}
  .hero-slide img{animation:none!important}
}
/* Magapu fixed navigation */
:root {
    --magapu-header-height: 170px;
}
body {
    padding-top: var(--magapu-header-height);
}
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: #f7f5eb;
    box-shadow: 0 4px 20px rgba(16, 41, 31, 0.12);
}
html {
    scroll-padding-top: calc(var(--magapu-header-height) + 20px);
}
#main .estate-gate {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    background: transparent;
    border-radius: 12px;
}
@media (max-width: 900px) {
    header #navigation.open {
        max-height: 55vh;
        overflow-y: auto;
    }
}
/* MAGAPU SOCIAL FOOTER START */
.magapu-social-footer {
    max-width: 1240px;
    margin: 28px auto 0;
    padding: 28px 5% 32px;
    border-top: 1px solid rgba(255,255,255,.2);
}
.magapu-social-footer h3 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 20px;
}
.magapu-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.magapu-social-links a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
}
.magapu-social-links a:hover,
.magapu-social-links a:focus-visible {
    background: #fff;
    color: #153f2b;
}
.magapu-social-links svg {
    width: 23px;
    height: 23px;
    flex-shrink: 0;
}
.magapu-footer-phone {
    display: inline-block;
    margin-top: 20px;
    color: #fff;
    text-underline-offset: 4px;
}
/* MAGAPU SOCIAL FOOTER END */
.magapu-footer-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    text-decoration: none;
}
.magapu-footer-phone svg {
    width: 23px;
    height: 23px;
}
.magapu-footer-phone:hover,
.magapu-footer-phone:focus-visible {
    background: #fff;
    color: #153f2b;
}