@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --plum:#522342;
  --plum-dark:#3F1932;
  --mauve:#9B7289;
  --lilac:#EADFE8;
  --ivory:#EEE4D8;
  --paper:#FFFDFC;
  --ink:#30282D;
  --muted:#746870;
  --line:#E2D7DD;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}
a{color:inherit}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(2.8rem,6vw,5.5rem);max-width:1000px;color:var(--plum-dark)}
h2{font-size:clamp(2rem,4vw,3.4rem);color:var(--plum)}
h3{font-size:1.45rem;color:var(--plum-dark)}
p{margin:0 0 16px}
.wrap{width:min(1160px,90%);margin:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:600;color:var(--mauve);margin-bottom:16px}

header{position:sticky;top:0;z-index:20;background:rgba(238,228,216,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.navrow{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;font-family:"Playfair Display";font-weight:700;font-size:1.6rem;line-height:1.15;color:var(--plum-dark)}
.brand b{color:var(--mauve)}
nav{display:flex;gap:20px;align-items:center}
nav a{text-decoration:none;font-size:.86rem;transition:color .2s ease}
nav a:hover,nav a.active{font-weight:600;color:var(--mauve)}
.menu{display:none;border:1px solid var(--mauve);color:var(--plum);background:transparent;padding:9px 12px}

main{min-height:70vh}
.pagehead{padding:110px 0 72px;background:linear-gradient(180deg,var(--lilac) 0%,var(--ivory) 100%)}
.pagehead p{font-size:1.15rem;max-width:820px;color:var(--muted)}
.section{padding:82px 0;border-top:1px solid var(--line)}
.section:nth-of-type(even){background:rgba(234,223,232,.18)}
.intro{max-width:850px;margin-bottom:45px}
.intro p{font-size:1.08rem;color:var(--muted)}

.hero{padding:90px 0 110px;background:linear-gradient(135deg,var(--ivory) 55%,var(--lilac) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.hero p{font-size:1.17rem;max-width:720px}
.hero img{width:100%;aspect-ratio:1/1;object-fit:cover;box-shadow:20px 20px 0 var(--mauve)}

.btn{display:inline-block;text-decoration:none;border:1px solid var(--plum);padding:13px 18px;font-weight:600;margin:12px 8px 0 0;color:var(--plum);transition:all .2s ease}
.btn:hover{background:var(--lilac)}
.btn.primary{background:var(--plum);color:white}
.btn.primary:hover{background:var(--plum-dark)}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--mauve);padding:28px;box-shadow:0 8px 24px rgba(82,35,66,.04)}
.card small,.item small{color:var(--mauve);font-weight:600}

.item{padding:28px 0;border-top:1px solid var(--line)}
.item p{max-width:800px}
.timeline .item{display:grid;grid-template-columns:150px 1fr;gap:30px}

.awards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.award{background:var(--paper);border:1px solid var(--line);overflow:hidden;box-shadow:0 8px 24px rgba(82,35,66,.05)}
.award img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--lilac)}
.award .copy{padding:24px;border-top:4px solid var(--mauve)}

.feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.feature img{width:100%;max-height:620px;object-fit:cover;box-shadow:16px 16px 0 var(--lilac)}
.quote{font-family:"Playfair Display";font-size:clamp(1.8rem,4vw,3rem);max-width:900px;color:var(--plum)}

footer{border-top:1px solid var(--line);padding:52px 0;background:var(--plum-dark);color:var(--ivory)}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}
.foot h3{color:var(--ivory)}
.foot a{display:block;text-decoration:none;margin:6px 0;color:var(--lilac)}
.foot a:hover{color:white}
.copyright{margin-top:35px;color:var(--mauve);font-size:.88rem}

@media(max-width:850px){
 .menu{display:block}
 nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ivory);padding:24px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
 nav.open{display:flex}
 .hero-grid,.feature,.grid2,.grid3,.awards{grid-template-columns:1fr}
 .timeline .item{grid-template-columns:1fr;gap:4px}
 .pagehead{padding-top:80px}
 .section{padding:65px 0}
 .foot{grid-template-columns:1fr}
}
/* Keep the portrait visible first on phones and give the name more prominence. */
@media(max-width:850px){
 .navrow{height:auto;min-height:88px;padding:14px 0;gap:16px}
 .brand{font-size:clamp(1.65rem,6.8vw,2.2rem);flex:1;min-width:0}
 .brand b{display:block;font-size:.75rem;letter-spacing:.12em;margin-bottom:4px}
 .menu{flex-shrink:0}
 nav{top:100%}
 .hero{padding:24px 0 64px}
 .hero-grid{gap:36px}
 .hero-grid>img{order:-1;max-height:55svh;object-position:center;box-shadow:8px 8px 0 var(--mauve)}
}

@media(max-width:850px){
 .hero h1{font-size:2.5rem}
}
