/* Reversible visual layer: all programme content and controls remain HTML. */
html:not([data-theme="original"]) .hero{
  position:relative;isolation:isolate;min-height:675px;
}
html:not([data-theme="original"]) .hero::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;inset:0 -5.55vw;
  background:url('/assets/home-sculpted-sunrise.png') center 49% / cover no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 83%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 83%,transparent 100%);
  transform-origin:73% 55%;animation:premium-sunrise 16s ease-in-out infinite alternate;
}
html:not([data-theme="original"]) .hero>div:first-child{position:relative;z-index:1}
html:not([data-theme="original"]) .hero h1{font-size:clamp(60px,7.1vw,108px);line-height:.98}
html:not([data-theme="original"]) .hero p{color:#514b45}
html:not([data-theme="original"]) .hero-art{
  background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;
}
html:not([data-theme="original"]) .hero-art::before,
html:not([data-theme="original"]) .hero-art>*{display:none}

html:not([data-theme="original"]) .card[data-status]{
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(145deg,#fffdfa,#f1eae3);
  border:1px solid rgba(255,255,255,.97);border-radius:26px;
  box-shadow:13px 17px 34px rgba(131,110,92,.18),-8px -9px 24px rgba(255,255,255,.9),inset 1px 1px 1px #fff;
}
html:not([data-theme="original"]) .card[data-status]::after{
  content:"";position:absolute;z-index:-1;inset:26% -8% -14% 30%;pointer-events:none;
  background:url('/assets/home-sculpted-sunrise.png') right bottom / cover no-repeat;opacity:.24;
  -webkit-mask-image:linear-gradient(135deg,transparent 5%,#000 85%);mask-image:linear-gradient(135deg,transparent 5%,#000 85%);
}
html:not([data-theme="original"]) .card[data-status="planned"]::after{background-position:72% 75%;opacity:.17}
html:not([data-theme="original"]) .card[data-status="vision"]::after{background-position:95% 85%;opacity:.22}
html:not([data-theme="original"]) .card[data-status] .tag{
  align-self:flex-start;display:inline-flex;line-height:1.45;padding:8px 11px;
  border-radius:999px;background:#e9ded2;color:#62442f;letter-spacing:.08em;
}
html:not([data-theme="original"]) .card[data-status] h3{margin-top:35px;font-size:clamp(25px,2.35vw,32px)}
html:not([data-theme="original"]) .page-programs .catalog{grid-template-columns:repeat(3,minmax(0,1fr))}

html:not([data-theme="original"]) .project-card{
  border-radius:25px;background:linear-gradient(145deg,#fffdfa,#f0e9e2);
  box-shadow:14px 18px 35px rgba(127,108,91,.19),-8px -8px 22px rgba(255,255,255,.86);
}
html:not([data-theme="original"]) .project-preview{
  height:250px;padding:16px;background:#f4efe9;border:1px solid #fff;
  box-shadow:inset 3px 4px 11px rgba(130,112,96,.12),inset -5px -5px 14px rgba(255,255,255,.8);
}
html:not([data-theme="original"]) .preview-plant .preview-main span,
html:not([data-theme="original"]) .preview-portfolio .preview-main span{
  display:block;width:46%;height:122px;border-radius:10px;font-size:0;
  background-position:center;background-size:cover;box-shadow:0 5px 14px rgba(82,67,52,.12);
}
html:not([data-theme="original"]) .preview-plant .preview-main span{background-image:url('/assets/example-plant.png')}
html:not([data-theme="original"]) .preview-portfolio .preview-main span{background-image:url('/assets/example-portfolio.png')}
html:not([data-theme="original"]) .preview-main b{font-weight:400;max-width:51%}
html:not([data-theme="original"]) .preview-pill{background:#76543a;color:#fff;border-radius:999px}
html:not([data-theme="original"]) .preview-table div{background:rgba(255,255,255,.54);border-bottom:1px solid #e0d6ca}
html:not([data-theme="original"]) .preview-budget>div{background:rgba(255,255,255,.44);padding:8px;border-bottom:1px solid #e0d6ca}
html:not([data-theme="original"]) .plant-art{background:#e8e4d8 url('/assets/example-plant.png') center / cover no-repeat;font-size:0}
html:not([data-theme="original"]) .portfolio-art{background:#e7d9ce url('/assets/example-portfolio.png') center / cover no-repeat}
html:not([data-theme="original"]) .portfolio-art span{display:none}
html:not([data-theme="original"]) .contact-cards .card{min-height:265px}
.contact-cards a{overflow-wrap:anywhere}
.programme-actions{margin-top:22px}
@keyframes premium-sunrise{from{transform:scale(1);opacity:.97}to{transform:scale(1.012);opacity:1}}
@media(prefers-reduced-motion:no-preference){
  html:not([data-theme="original"]) .card[data-status],
  html:not([data-theme="original"]) .project-card{transition:transform .22s ease,box-shadow .22s ease}
  html:not([data-theme="original"]) .card[data-status]:hover,
  html:not([data-theme="original"]) .project-card:hover{transform:translateY(-3px)}
}
@media(max-width:900px){
  html:not([data-theme="original"]) .page-programs .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  html:not([data-theme="original"]) .hero{min-height:0}
  html:not([data-theme="original"]) .hero::before{display:none}
  html:not([data-theme="original"]) .hero-art{
    height:330px;border:1px solid #fff;border-radius:24px;overflow:hidden;
    background:#f3ebe3 url('/assets/home-sculpted-sunrise.png') 83% center / cover no-repeat;
    box-shadow:12px 15px 30px rgba(131,110,92,.18),-8px -8px 20px rgba(255,255,255,.85);
  }
}
@media(max-width:600px){
  html:not([data-theme="original"]) .page-programs .catalog{grid-template-columns:1fr}
  html:not([data-theme="original"]) .hero-art{height:260px}
  html:not([data-theme="original"]) .project-preview{height:225px}
  html:not([data-theme="original"]) .preview-plant .preview-main span,
  html:not([data-theme="original"]) .preview-portfolio .preview-main span{height:105px}
  /* Netlify's free-plan badge occupies the lower-right corner on phones. */
  .theme-switch:not([hidden]){margin-bottom:90px}
}
@media(max-width:360px){
  /* Keep every main destination visible on narrow phones; Programs remains
     available in the navigation and the prominent page-level action. */
  html:not([data-theme="original"]) .header .nav-button{display:none}
  html:not([data-theme="original"]) .header nav a{font-size:11px;padding:10px 5px}
}
@media(prefers-reduced-motion:reduce){
  html:not([data-theme="original"]) .hero::before{animation:none}
}
