
:root{
  --navy:#07365E;
  --navy-2:#0B4A78;
  --forest:#236642;
  --forest-2:#2F7A4E;
  --green:#3E8A58;
  --gold:#C98A22;
  --gold-2:#F0C85B;
  --cream:#F8EBD8;
  --sand:#E2BD86;
  --sage:#D3E2C2;
  --sage-2:#AFC99B;
  --ink:#10253A;
  --muted:#4F5A50;
  --white:#FFFFFF;
  --shadow:0 22px 55px rgba(6,43,74,.16);
  --soft-shadow:0 12px 28px rgba(6,43,74,.10);
  --radius:24px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.62}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 44px));margin:0 auto}
.topbar{background:linear-gradient(90deg,var(--forest),var(--navy));color:#fff;font-size:13px}.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:8px 0;opacity:.96}
.site-header{background:#FFF9F0;box-shadow:0 8px 28px rgba(2,31,54,.10);position:sticky;top:0;z-index:20}.nav{height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:112px}.brand-text strong{display:block;color:var(--navy);font-size:15px;text-transform:uppercase;letter-spacing:.03em}.brand-text span{font-size:11px;color:var(--forest);letter-spacing:.18em;text-transform:uppercase}.menu{display:flex;gap:28px;align-items:center;font-weight:800;font-size:15px;color:var(--navy)}.menu a{padding:39px 0 32px;border-bottom:4px solid transparent}.menu a.active,.menu a:hover{border-bottom-color:var(--forest);color:var(--forest)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 23px;font-weight:900;border:2px solid transparent;box-shadow:0 10px 24px rgba(31,92,58,.18);transition:.2s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--forest),var(--green));color:#fff}.btn.secondary{background:#fff;color:var(--forest);border-color:rgba(31,92,58,.28)}.btn.navy{background:var(--navy);color:#fff}.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--navy)}
.hero{background:linear-gradient(90deg,#fff 0%,#fff 43%,rgba(247,240,229,.72) 56%,rgba(247,240,229,.15) 100%);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-120px;bottom:-160px;width:520px;height:520px;border-radius:50%;background:rgba(201,154,45,.12)}.hero-inner{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;min-height:620px;position:relative;z-index:2}.hero-copy{padding:58px 0 62px}.eyebrow{font-size:13px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--forest);margin-bottom:17px}.hero h1{font-size:clamp(44px,6vw,74px);line-height:1.02;margin:0 0 20px;font-weight:900;letter-spacing:-.045em;color:var(--navy)}.hero h1 em{display:block;font-family:Georgia,serif;font-style:italic;font-weight:500;color:var(--forest);font-size:.92em}.hero p{font-size:19px;color:#303B45;max-width:540px;margin:0 0 30px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-visual{height:620px;position:relative}.hero-visual img{width:100%;height:100%;object-fit:cover;border-radius:0 0 0 70px;box-shadow:var(--shadow)}.hero-visual:before{content:'';position:absolute;inset:0;border-radius:0 0 0 70px;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(6,43,74,.08),rgba(6,43,74,.20));z-index:1}.hero-badge{position:absolute;left:26px;bottom:26px;z-index:2;background:rgba(6,43,74,.92);color:#fff;border-radius:18px;padding:16px 18px;max-width:270px;box-shadow:var(--shadow)}.hero-badge strong{color:var(--gold-2)}
.feature-strip{background:linear-gradient(135deg,#07365E,#0B4A78);color:#fff}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:30px 24px;border-right:1px solid rgba(255,255,255,.16)}.feature:last-child{border-right:0}.feature .icon{width:58px;height:58px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 28%),linear-gradient(135deg,var(--gold-2),var(--green));border:2px solid rgba(255,255,255,.28);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.18)}.feature .icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.feature h3{font-size:17px;margin:0 0 5px}.feature p{font-size:14px;margin:0;color:rgba(255,255,255,.78)}
.section{padding:78px 0}.section.white{background:#FFF8ED}.section.cream{background:linear-gradient(180deg,#FFF4E4,#F7E3C3)}.section.sand{background:linear-gradient(135deg,#E9C78D,#D49A45)}.section.sage{background:linear-gradient(135deg,#DDECCF,#C1D8AE)}.section.navy{background:linear-gradient(135deg,var(--navy-2),var(--forest-2));color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.image-card{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:8px solid #fff;background:#fff}.image-card img{width:100%;height:320px;object-fit:cover}.kicker{font-weight:900;color:var(--forest);font-size:13px;letter-spacing:.12em;text-transform:uppercase}.section.navy .kicker{color:var(--gold-2)}.section h2,.page-hero h1{font-size:clamp(34px,4.2vw,52px);line-height:1.08;letter-spacing:-.035em;color:var(--navy);margin:9px 0 18px}.section.navy h2{color:#fff}.lead{font-size:18px;color:#35463C}.section.navy .lead{color:rgba(255,255,255,.84)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.service-card{border-radius:22px;padding:30px;box-shadow:var(--soft-shadow);border:1px solid rgba(2,31,54,.10);background:linear-gradient(180deg,#FFF9EF,#F7E6CC);position:relative;overflow:hidden}.service-card:before{content:'';position:absolute;left:0;top:0;width:100%;height:7px;background:var(--forest)}.service-card:nth-child(2):before{background:var(--navy)}.service-card:nth-child(3):before{background:var(--gold)}.service-card .icon{width:76px;height:76px;border-radius:26px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 28%),linear-gradient(135deg,var(--forest),var(--gold));color:#fff;margin-bottom:18px;box-shadow:0 16px 28px rgba(22,75,49,.26);border:2px solid rgba(255,255,255,.75)}.service-card .icon svg{width:36px;height:36px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.service-card h3{margin:0 0 8px;color:var(--navy);font-size:21px}.service-card p{color:#4A554B;margin:0 0 18px}.service-card a{color:var(--forest);font-weight:900;border-bottom:2px solid rgba(31,92,58,.25)}
.values-wrap{display:grid;grid-template-columns:.85fr 1.8fr;gap:32px;align-items:stretch}.values-intro{background:var(--navy);color:#fff;border-radius:24px;padding:34px;box-shadow:var(--shadow)}.values-intro h2{color:#fff}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(6,43,74,.12);border-radius:24px;overflow:hidden}.value{background:rgba(255,250,241,.86);padding:25px 20px;text-align:center}.value span{width:62px;height:62px;margin:0 auto 12px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.34),transparent 28%),linear-gradient(135deg,var(--forest),var(--gold));box-shadow:0 12px 22px rgba(22,75,49,.22);border:2px solid rgba(255,255,255,.85)}.value span svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.value h4{margin:0 0 5px;color:var(--navy)}.value small{color:#4d5b51}
.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.gallery-grid img{width:100%;height:245px;object-fit:cover;border-radius:22px;box-shadow:var(--soft-shadow)}.gallery-grid img:first-child{grid-row:span 2;height:508px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.stat{border-radius:22px;background:rgba(255,255,255,.12);padding:28px;text-align:center;border:1px solid rgba(255,255,255,.18)}.stat strong{display:block;color:var(--gold-2);font-size:43px;line-height:1}.stat span{color:rgba(255,255,255,.86)}.cta{background:linear-gradient(135deg,var(--forest),var(--green));color:#fff;border-radius:30px;padding:36px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow)}.cta h2{margin:0 0 4px;color:#fff;font-size:28px}.cta p{margin:0;color:rgba(255,255,255,.86)}
.page-hero{background:linear-gradient(135deg,rgba(7,54,94,.72),rgba(35,102,66,.64)),url('images/cafe.png');background-size:cover;background-position:center 48%;color:#fff;padding:104px 0;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(230,185,66,.25),transparent 34%);pointer-events:none}.page-hero .container{position:relative;z-index:2}.page-hero h1{color:#fff}.page-hero p{font-size:20px;max-width:760px;color:rgba(255,255,255,.86)}.content-card{background:#FFF7E9;border-radius:26px;padding:38px;box-shadow:var(--shadow)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.list{padding-left:20px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-box{background:#fff;border-radius:24px;padding:28px;box-shadow:var(--soft-shadow)}.notice{background:var(--sage);border-left:6px solid var(--forest);padding:22px;border-radius:18px;margin:20px 0}.footer{background:linear-gradient(135deg,#07365E,#0B4A78 55%,#236642);color:#fff;padding:56px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.3fr;gap:32px}.footer img{width:128px}.footer p,.footer a{color:rgba(255,255,255,.78)}.footer h4{color:var(--gold-2);margin-top:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:18px;font-size:14px;color:rgba(255,255,255,.62)}
@media(max-width:920px){.topbar .container{display:block}.nav{height:auto;padding:15px 0;align-items:flex-start}.menu{display:none}.brand img{width:82px}.hero-inner,.split,.feature-grid,.service-grid,.values-wrap,.values,.gallery-grid,.stats,.footer-grid,.two-col,.contact-grid{grid-template-columns:1fr}.hero-visual{height:390px}.hero-visual img,.hero-visual:before{border-radius:30px}.hero-inner{min-height:auto}.feature{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.section{padding:58px 0}.gallery-grid img:first-child{height:260px}.cta{display:block}.btn{margin-top:12px}}
/* Refined icon palette: warmer, richer and less generic */
.feature:nth-child(1) .icon,.service-card:nth-child(1) .icon{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.38),transparent 28%),linear-gradient(135deg,#236642,#4E9A5F)}
.feature:nth-child(2) .icon,.service-card:nth-child(2) .icon{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.36),transparent 28%),linear-gradient(135deg,#07365E,#2C74A0)}
.feature:nth-child(3) .icon,.service-card:nth-child(3) .icon{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.38),transparent 28%),linear-gradient(135deg,#C98A22,#F0C85B)}
.feature:nth-child(4) .icon{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.38),transparent 28%),linear-gradient(135deg,#2F7A4E,#C98A22)}
.feature .icon svg,.service-card .icon svg,.value span svg{stroke-width:2.15;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.service-card{border-bottom:5px solid rgba(35,102,66,.20)}
.service-card:nth-child(2){border-bottom-color:rgba(7,54,94,.22)}
.service-card:nth-child(3){border-bottom-color:rgba(201,138,34,.25)}
