
:root{--green:#2E7D32;--green-dark:#1d5b22;--blue:#0D4F6E;--aqua:#66C2E0;--cream:#F3EFE6;--cream2:#FAF7F0;--brick:#B55A3C;--ink:#161616;--muted:#5c625f;--line:#d9d1c3;--white:#fffdf9;--shadow:0 18px 50px rgba(39,49,38,.10);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream2);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.kicker{font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}h1,h2,h3{font-family:"Arial Black",Inter,Arial,sans-serif;line-height:.97;letter-spacing:-.035em;margin:0}h1{font-size:clamp(3.1rem,8vw,7.4rem)}h2{font-size:clamp(2.1rem,4.5vw,4.2rem)}h3{font-size:1.35rem;line-height:1.08}p{margin:0;color:#303531}.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:760px}.small{font-size:.9rem;color:var(--muted)}.section{padding:94px 0}.section-tight{padding:64px 0}.section-title{display:flex;align-items:flex-end;gap:18px;margin-bottom:34px}.section-title:after{content:"";height:7px;flex:0 0 90px;background:var(--green);border-radius:999px;transform:rotate(-1deg)}
.topbar{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(30,30,30,.08)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:154px;max-height:67px;object-fit:contain}.navlinks{display:flex;gap:24px;align-items:center;font-size:.93rem;font-weight:700}.navlinks a:hover{color:var(--green)}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem}
.hero{min-height:690px;position:relative;display:grid;align-items:end;overflow:hidden;background:#111}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.44) 43%,rgba(0,0,0,.12) 77%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 46%)}.hero-content{position:relative;z-index:2;padding:78px 0;color:#fff}.hero h1{max-width:850px}.hero p{color:#fff;margin-top:24px;max-width:650px;font-size:1.16rem}.stroke{width:210px;height:8px;background:var(--green);border-radius:999px;margin:22px 0;transform:rotate(-1deg)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:13px 19px;font-weight:900;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-light{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.65)}.btn-outline{border-color:var(--green);color:var(--green);background:transparent}.wave{display:flex;gap:6px;margin-top:28px}.wave span{width:60px;height:5px;border:3px solid var(--aqua);border-left:0;border-right:0;border-radius:50%;transform:rotate(-2deg)}
.about-grid{display:grid;grid-template-columns:1.05fr 1.95fr;gap:54px}.about-copy{padding-right:20px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.value{padding:34px;min-height:280px;border-right:1px solid var(--line)}.value:last-child{border-right:0}.icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:1.75rem;font-weight:900;margin-bottom:30px;background:#eef6ed;color:var(--green)}.icon.aqua{background:#eaf8fc;color:var(--blue)}.icon.brick{background:#faeee8;color:var(--brick)}.value p{margin-top:14px}
.castle-card{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#f7f0e3;box-shadow:var(--shadow)}.castle-copy{padding:54px}.castle-copy p{margin-top:20px}.castle-photo{min-height:560px}.castle-photo img{width:100%;height:100%;object-fit:cover}.callout{margin:28px 0;padding:18px;border-radius:16px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.06)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;min-height:290px}.project-card .tag{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:900;color:var(--green);background:#e9f4e8;border-radius:999px;padding:6px 10px;margin-bottom:22px}.project-card p{margin-top:14px}.project-card a{margin-top:auto;padding-top:25px;font-weight:900;color:var(--green)}
.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.1fr;grid-auto-rows:265px;gap:14px}.gallery figure{margin:0;overflow:hidden;border-radius:18px;background:#ddd;position:relative}.gallery figure:nth-child(1){grid-row:span 2}.gallery figure:nth-child(4){grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.35s transform}.gallery figure:hover img{transform:scale(1.03)}
.cta{background:#eef3e8;border:1px solid #d9dfd0;border-radius:var(--radius);padding:45px 50px;display:flex;align-items:center;justify-content:space-between;gap:32px}.cta p{margin-top:10px}.activity-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.activity{border-top:7px solid var(--green);border-radius:18px;background:var(--white);padding:26px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.activity time{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brick);font-weight:900}.activity h3{margin-top:14px}.activity p{margin-top:13px}
.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px}.contact-card{padding:34px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.contact-row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:0}form{display:grid;gap:14px}label{font-size:.82rem;font-weight:900;color:#303530}input,textarea,select{width:100%;border:1px solid #cfc7b8;background:white;padding:13px 14px;border-radius:10px;color:var(--ink)}textarea{min-height:150px;resize:vertical}
footer{margin-top:90px;border-top:1px solid var(--line);background:#f1eadc}.footer{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:40px;padding:54px 0}.footer img{width:180px}.footer strong{display:block;margin-bottom:10px}.legal{background:var(--green-dark);color:#fff;text-align:center;padding:13px;font-size:.78rem}
.admin-link{font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.navlinks{display:none;position:absolute;top:86px;left:0;right:0;background:var(--cream2);padding:22px 20px;flex-direction:column;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.menu-toggle{display:block}.hero{min-height:650px}.hero:after{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.28))}.about-grid,.castle-card,.contact-wrap{grid-template-columns:1fr}.value-grid,.project-grid,.activity-list{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.value:last-child{border-bottom:0}.castle-photo{min-height:380px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.gallery figure:nth-child(1),.gallery figure:nth-child(4){grid-row:span 1}.cta{flex-direction:column;align-items:flex-start}.footer{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 24px,1180px)}.nav{height:76px}.brand img{width:126px}.navlinks{top:76px}.hero-content{padding:66px 0}.section{padding:72px 0}.castle-copy{padding:30px}.gallery{grid-template-columns:1fr;grid-auto-rows:260px}.cta{padding:30px}}

.skip-link{
  position:absolute;left:12px;top:-60px;z-index:9999;
  background:#fff;color:#111;padding:10px 14px;border-radius:8px;
  border:2px solid var(--green);font-weight:800
}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--aqua);outline-offset:3px
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
