@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#17323a;--muted:#607278;--paper:#f7f5ef;--cream:#eee9dc;--accent:#c77b45;--line:#d8d5ca;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.65}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:rgba(247,245,239,.94);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.brand{color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.12em;font-size:.9rem}.brand span{display:block;font-size:.68rem;letter-spacing:.16em;font-weight:500;margin-top:-2px}nav{display:flex;gap:28px;align-items:center}nav a{color:var(--ink);text-decoration:none;font-size:.9rem}.nav-cta{border:1px solid var(--ink);padding:8px 16px;border-radius:999px}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;padding:7vw 6vw;gap:5vw;overflow:hidden}.eyebrow{font-size:.73rem;letter-spacing:.2em;font-weight:700;margin:0 0 18px;color:var(--accent)}h1,h2,h3{line-height:1.12;margin:0}h1{font:600 clamp(3.3rem,7vw,6.6rem)/.98 "Playfair Display",serif;letter-spacing:-.045em;max-width:850px}h1 em{color:var(--accent);font-style:italic}.lead{font-size:1.16rem;color:var(--muted);max-width:620px;margin:28px 0 34px}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-block;text-decoration:none;padding:13px 21px;border-radius:999px;font-weight:700;font-size:.92rem}.primary{background:var(--ink);color:var(--white)}.secondary{border:1px solid var(--ink);color:var(--ink)}.hero-art{min-height:520px;position:relative;background:linear-gradient(#dfe7e1 0 48%,#9eb3b2 48% 50%,#6e8e91 50%);border-radius:48% 48% 10px 10px;overflow:hidden}.sun{width:105px;height:105px;border-radius:50%;background:#ead4a2;position:absolute;right:17%;top:15%}.sea{position:absolute;inset:auto 0 0;height:50%;background:repeating-linear-gradient(180deg,transparent 0 28px,rgba(255,255,255,.13) 29px 31px)}.beam{position:absolute;background:rgba(255,247,213,.5);height:28px;top:25%;filter:blur(2px);transform-origin:right center}.beam-a{width:75%;right:45%;transform:rotate(7deg)}.beam-b{width:70%;left:47%;transform:rotate(-7deg);transform-origin:left center}.lighthouse{position:absolute;left:50%;bottom:13%;transform:translateX(-50%);width:155px;height:350px}.tower{position:absolute;bottom:0;left:24px;width:107px;height:280px;background:#f1eee4;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.tower:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 54px,rgba(23,50,58,.1) 55px 59px)}.lantern{position:absolute;z-index:2;top:25px;left:45px;width:66px;height:55px;background:#b9c5bd;border:5px solid var(--ink);border-radius:8px}.lantern:after{content:"";position:absolute;inset:10px;background:#f5d98e;border-radius:3px}.roof{position:absolute;z-index:3;top:8px;left:33px;border-left:30px solid transparent;border-right:30px solid transparent;border-bottom:25px solid var(--ink)}.door{position:absolute;z-index:2;bottom:0;left:56px;width:48px;height:76px;background:var(--ink);border-radius:24px 24px 0 0}.statement{background:var(--ink);color:white;text-align:center;padding:100px 12vw}.statement .eyebrow{color:#e7bd91}.statement h2{font:600 clamp(2.2rem,4.5vw,4.4rem)/1.08 "Playfair Display",serif;max-width:950px;margin:auto}.statement p:last-child{max-width:720px;margin:28px auto 0;color:#cbd6d5}.section{padding:110px 6vw}.section-heading{max-width:800px;margin-bottom:48px}.section h2,.audience h2,.cta h2{font:600 clamp(2.4rem,4.5vw,4rem)/1.08 "Playfair Display",serif}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{padding:30px;background:var(--white);border:1px solid var(--line);min-height:250px}.card span{font-size:.75rem;color:var(--accent);font-weight:700;letter-spacing:.12em}.card h3{font-size:1.25rem;margin:30px 0 12px}.card p{color:var(--muted);margin:0;font-size:.94rem}.audience{padding:90px 6vw;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.audience ul{list-style:none;margin:0;padding:0}.audience li{padding:17px 0;border-bottom:1px solid var(--line);font-weight:600}.audience li:before{content:"→";color:var(--accent);margin-right:12px}.cta{text-align:center;padding:120px 6vw}.cta p:not(.eyebrow){color:var(--muted);font-size:1.05rem;margin:18px auto 30px}.cta small{display:block;color:var(--muted);margin-top:16px}footer{padding:32px 6vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted)}footer strong{color:var(--ink);letter-spacing:.08em}footer span{font-size:.72rem}@media(max-width:850px){nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:12vw}.hero-art{min-height:390px}.cards{grid-template-columns:1fr 1fr}.audience{grid-template-columns:1fr}.statement{padding:80px 8vw}}@media(max-width:540px){.nav{padding:0 5vw}.hero{padding:18vw 5vw}.hero-art{min-height:330px}.cards{grid-template-columns:1fr}.section,.audience,.cta{padding-left:5vw;padding-right:5vw}footer{flex-direction:column}}

.contact-details{margin-top:18px;color:var(--muted);line-height:1.7}.contact-details a{color:var(--ink);text-decoration:none}.contact-details a:hover{text-decoration:underline}

.about{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:7vw;align-items:center;padding:105px 9vw;background:var(--white)}
.about-photo{aspect-ratio:4/5;overflow:hidden;border-radius:45% 45% 12px 12px;background:var(--cream);box-shadow:0 18px 45px rgba(23,50,58,.12)}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}
.about-copy{max-width:720px}.about h2{font:600 clamp(2.5rem,4.5vw,4.2rem)/1.05 "Playfair Display",serif;margin-bottom:22px}.about-copy p{color:var(--muted)}.about-lead{font-size:1.15rem!important;color:var(--ink)!important;line-height:1.6}.mission-quote{margin-top:30px;padding:22px 25px;border-left:4px solid var(--accent);background:var(--paper)}.mission-quote strong{font-family:"Playfair Display",serif;font-size:1.35rem}.mission-quote p{margin:8px 0 0!important;font-size:.95rem}
@media(max-width:850px){.about{grid-template-columns:1fr;padding:80px 7vw}.about-photo{max-width:380px;margin:auto;width:100%}}

.contact-details {
  margin-top: 2rem;
  display: inline-flex;
  flex-direction: column;
  gap: .55rem;
  padding: 1rem 1.5rem;
  border: 1px solid rgba(27, 57, 64, .16);
  border-radius: 14px;
  background: rgba(255, 255, 255, .45);
  color: #526b72;
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
}

.contact-details strong {
  color: #173f47;
}
