@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--forest:#34483D;--forest-dark:#23372F;--sage:#98A794;--rose:#B98282;--rose-dark:#9E6969;--ivory:#F7F3EA;--cream:#FCFAF5;--gold:#B79A62;--charcoal:#292C2A;--line:#DED3C0;--white:#fff;--shadow:0 18px 45px rgba(35,55,47,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:'Montserrat',Arial,sans-serif;line-height:1.58}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-wrap{width:min(1240px,calc(100% - 48px));margin:auto}.center{text-align:center}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-weight:500;line-height:1.08}h1{font-size:clamp(3rem,5.7vw,5.75rem);margin:0 0 20px}h2{font-size:clamp(2.15rem,4vw,3.65rem);margin:0 0 18px}h3{font-size:1.35rem;margin:0 0 10px}p{margin:0 0 18px}.signature{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--rose);font-size:1.24rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:3px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:var(--forest-dark)}.btn-rose{background:var(--rose);color:#fff}.btn-rose:hover{background:var(--rose-dark)}.btn-outline{border-color:var(--rose);color:var(--rose);background:transparent}.btn-outline:hover{background:var(--rose);color:#fff}
.site-header{position:sticky;top:0;z-index:30;background:rgba(252,250,245,.97);border-bottom:1px solid rgba(183,154,98,.18);backdrop-filter:blur(10px)}.nav{height:100px;display:flex;align-items:center;gap:34px}.brand{width:262px;flex:0 0 auto}.brand img{width:100%;height:78px;object-fit:contain;object-position:left center}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto;color:var(--forest);font-family:'Playfair Display',Georgia,serif;font-size:1rem}.nav-links a:hover{color:var(--rose)}.nav-cta{margin-left:12px}.mobile-toggle{display:none;border:0;background:transparent;color:var(--forest);font-size:1.6rem}
.hero{overflow:hidden;background:linear-gradient(90deg,var(--cream) 0 46%,#ece7dc 46%)}.hero-grid{display:grid;grid-template-columns:44% 56%;min-height:565px}.hero-copy{padding:66px 50px 60px 0;align-self:center;z-index:2}.hero-copy h1{font-size:clamp(3.2rem,5.3vw,5.2rem);max-width:610px}.hero-copy em{color:var(--rose)}.gold-rule{height:1px;width:270px;background:var(--gold);margin:18px 0 26px;position:relative}.gold-rule:after{content:'◆';position:absolute;right:-3px;top:-10px;color:var(--gold);font-size:13px}.hero-copy .lead{font-family:'Playfair Display',Georgia,serif;font-size:1.2rem;max-width:565px;line-height:1.55}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-image{position:relative;min-height:565px;overflow:hidden}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero-image:before{content:'';position:absolute;z-index:1;left:0;top:0;bottom:0;width:24%;background:linear-gradient(90deg,var(--cream),rgba(252,250,245,.82) 28%,transparent 100%);pointer-events:none}
.pillar-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdf8}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 0}.pillar-grid article{text-align:center;padding:4px 34px;border-right:1px solid var(--line)}.pillar-grid article:last-child{border-right:0}.line-icon{display:block;margin:auto auto 12px;color:var(--forest);font-family:Georgia,serif;font-size:2.35rem;line-height:1}.line-icon.cross{font-size:3rem}.pillar-grid h3{font-size:1rem;text-transform:uppercase;letter-spacing:.06em}.pillar-grid p{font-size:.82rem;margin:0}
.model-section{padding:76px 0 86px;background:var(--cream)}.section-heading{max-width:760px;margin:0 auto 36px}.section-heading h2 em{color:var(--rose);font-weight:500}.gold-flourish{color:var(--gold);font-size:.8rem}.model-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.model-cards article{text-align:center;border:1px solid var(--line);border-radius:8px;padding:34px 32px 36px;background:#fffdf9}.card-icon{font-family:Georgia,serif;color:var(--forest);font-size:2.4rem;margin-bottom:12px}.model-cards h3{font-size:1.35rem}.model-cards p{font-size:.9rem;margin-bottom:0}
.zelie-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fbf7ee 0 47%,#fffdfa 47%);padding:52px 0}.zelie-grid{display:grid;grid-template-columns:34% 66%;align-items:center;gap:48px;max-width:940px}.emblem-stage{height:300px;display:flex;align-items:center;justify-content:center;overflow:visible}.emblem-stage img{height:225px;width:185px;object-fit:contain}.zelie-copy h2{font-size:3rem}.zelie-copy p:not(.signature){max-width:620px;font-family:'Playfair Display',Georgia,serif}.zelie-copy .signature{margin-top:16px}
.academics-section{padding:76px 0 84px;background:#fffdf9}.academics-grid{display:grid;grid-template-columns:34% 66%;gap:48px;align-items:center}.academics-copy h2{font-size:2.8rem}.academics-copy>p{font-size:.9rem}.brand-checks{list-style:none;padding:0;margin:24px 0 22px;display:grid;gap:12px;font-size:.84rem}.brand-checks li{position:relative;padding-left:26px}.brand-checks li:before{content:'✓';position:absolute;left:0;top:-1px;width:16px;height:16px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:.65rem}.text-link{color:var(--forest);border-bottom:1px solid var(--gold);font-family:'Playfair Display',Georgia,serif}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.journey-card{position:relative;border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden;text-align:center;padding-bottom:22px}.journey-card img{width:100%;height:155px;object-fit:cover}.journey-card h3{text-transform:uppercase;letter-spacing:.08em;font-size:1rem;margin:19px 12px 8px}.journey-card p{font-size:.79rem;padding:0 14px;margin:0}.step-number{position:absolute;top:136px;left:50%;transform:translateX(-50%);width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;border:2px solid #fff;font-family:Georgia,serif}
.founding-section{position:relative;border-top:1px solid var(--line);padding:38px 0;background:#fffaf2;overflow:hidden}.founding-grid{display:grid;grid-template-columns:30% 26% 44%;gap:34px;align-items:center}.rose-wash{position:absolute;left:0;bottom:0;width:145px;height:100%;background:url('/assets/rose-soft.jpg') center/cover no-repeat;opacity:.7;mask-image:linear-gradient(90deg,#000 45%,transparent 100%)}.founding-lead{padding-left:80px;position:relative;z-index:1}.founding-lead h2{font-size:2.55rem}.short-rule{width:62px;height:1px;background:var(--gold);margin:4px 0 13px}.founding-lead p:not(.signature),.founding-note p{font-size:.83rem}.founding-note{padding:18px 36px;border-left:1px solid var(--gold);border-right:1px solid var(--gold);position:relative}.vertical-flourish{position:absolute;left:-7px;top:50%;transform:translateY(-50%);color:var(--gold);background:#fffaf2;font-size:.7rem;padding:7px 0}.founding-note h3{font-size:1.65rem}.mini-form{display:grid;gap:8px}.mini-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-form input,.mini-form textarea,.mini-form select{border:1px solid #ded3c3;border-radius:4px;padding:11px 12px;background:#fffdfa;font:inherit;font-size:.76rem;color:var(--charcoal);width:100%}.mini-form textarea{min-height:72px;resize:vertical}.mini-form .btn{width:100%}.form-note{font-size:.7rem;color:#666c67;margin:0}.status{display:none;padding:10px;border-radius:4px;font-size:.78rem}.status.show{display:block}.status.success{background:#e7efe8;color:#294235}.status.error{background:#f7e8e8;color:#813f3f}.motto-strip{background:var(--forest);color:#f5efe3;text-align:center;padding:18px 0;font-family:'Playfair Display',Georgia,serif;text-transform:uppercase;letter-spacing:.14em;font-size:.9rem}
.page-hero{padding:64px 0;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fffaf3,#f4eee3)}.page-hero-grid{display:grid;grid-template-columns:1fr 280px;gap:56px;align-items:center}.page-hero h1{font-size:clamp(3rem,5vw,4.8rem)}.page-hero p:not(.eyebrow){max-width:760px;font-family:'Playfair Display',Georgia,serif;font-size:1.15rem}.page-emblem{width:175px;height:225px;object-fit:contain;justify-self:center}.content-section{padding:74px 0}.prose-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:60px}.prose-grid article h2{font-size:2.4rem;margin-top:44px}.prose-grid article h2:first-child{margin-top:0}.prose-grid article p{font-family:'Playfair Display',Georgia,serif;font-size:1.04rem}.aside-panel{background:var(--forest);color:white;padding:38px;border-radius:7px;align-self:start}.aside-panel blockquote{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;margin:0 0 28px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:38px 0 70px}.process-grid article{border:1px solid var(--line);padding:28px;background:#fffdf9;border-radius:6px}.process-grid article span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;margin-bottom:16px;font-family:Georgia,serif}.faq-block{max-width:850px;margin:auto}.faq-block details{border-bottom:1px solid var(--line);padding:18px 4px}.faq-block summary{cursor:pointer;font-family:'Playfair Display',Georgia,serif;color:var(--forest);font-size:1.17rem}.faq-block details p{margin:12px 0 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:52px;align-items:start}.form-card{background:#fffdf9;border:1px solid var(--line);padding:38px;border-radius:7px;box-shadow:var(--shadow)}.form-intro{font-family:'Playfair Display',Georgia,serif}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:600;color:var(--forest)}.field input,.field select,.field textarea{width:100%;border:1px solid #d8cdbd;border-radius:4px;background:#fff;padding:12px 13px;font:inherit}.field textarea{min-height:120px;resize:vertical}.check-row{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:.8rem}.check-row input{width:auto;margin-top:4px}.contact-aside{border-left:1px solid var(--gold);padding-left:40px}.contact-aside img{width:150px;height:195px;object-fit:contain;margin:0 auto 24px}.contact-aside h3{font-size:1.8rem}.contact-aside p{font-family:'Playfair Display',Georgia,serif}.site-footer{background:#20342b;color:#dbe4de;padding:46px 0 22px}.footer-inner{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:48px}.footer-brand img{width:260px;background:var(--ivory);padding:6px}.footer-brand p{font-family:'Playfair Display',Georgia,serif}.site-footer h4{font-family:'Playfair Display',Georgia,serif;color:#fff;margin:0 0 12px}.footer-links{display:grid;gap:7px;font-size:.85rem}.footer-links a:hover{color:#fff}.copyright{margin-top:28px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;font-size:.72rem;color:#aab8af}
@media(max-width:1000px){.nav{height:86px}.brand{width:220px}.brand img{height:68px}.nav-links{display:none;position:absolute;left:0;right:0;top:86px;background:var(--cream);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.mobile-toggle{display:block;margin-left:auto}.nav-cta{display:none}.hero{background:var(--cream)}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:55px 0 35px}.hero-image{min-height:500px}.hero-image:before{width:18%;background:linear-gradient(90deg,var(--cream),transparent)}.model-cards,.academics-grid,.zelie-grid,.page-hero-grid,.prose-grid,.contact-grid,.footer-inner{grid-template-columns:1fr}.zelie-grid{max-width:760px}.emblem-stage{height:235px}.academics-grid{gap:34px}.founding-grid{grid-template-columns:1fr 1fr}.founding-lead{padding-left:0}.mini-form-wrap{grid-column:1/-1}.rose-wash{display:none}.page-emblem{width:150px;height:195px}.page-hero-grid img{grid-row:1;justify-self:start}.process-grid{grid-template-columns:1fr}.contact-aside{border-left:0;border-top:1px solid var(--gold);padding:34px 0 0}.footer-brand img{width:230px}}
@media(max-width:700px){.site-wrap{width:min(100% - 28px,1240px)}h1{font-size:3.2rem}.hero-copy h1{font-size:3.4rem}.hero-image{min-height:390px}.pillar-grid,.model-cards,.journey,.founding-grid{grid-template-columns:1fr}.pillar-grid article{border-right:0;border-bottom:1px solid var(--line);padding:24px}.pillar-grid article:last-child{border-bottom:0}.journey-card img{height:190px}.founding-note{border-left:0;border-right:0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:26px 0}.vertical-flourish{display:none}.mini-row,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.zelie-copy h2,.academics-copy h2,.founding-lead h2{font-size:2.35rem}.brand{width:190px}.brand img{height:62px}}

/* 2026-09-02 layout + transparent asset corrections */
.site-header .brand{width:255px}
.site-header .brand img{
  width:100%;height:82px;object-fit:contain;object-position:left center;
  background:transparent!important;
}

/* Keep the full hero photograph visible instead of cropping its right edge. */
.hero{background:var(--cream);overflow:hidden}
.hero-grid{grid-template-columns:43% 57%;min-height:565px}
.hero-copy{background:var(--cream);padding-right:42px}
.hero-image{
  position:relative;min-height:565px;overflow:hidden;
  background:#eee8dc;
}
.hero-image img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:right center;
}
.hero-image:before{
  width:18%;
  background:linear-gradient(90deg,var(--cream) 0%,rgba(252,250,245,.86) 28%,rgba(252,250,245,.38) 60%,transparent 100%);
}

/* The beige panel belongs only behind the emblem; all copy sits fully on white. */
.zelie-section{
  background:linear-gradient(90deg,#fbf7ee 0 29%,#fffdfa 29% 100%);
}
.zelie-grid{
  grid-template-columns:30% 70%;
  gap:54px;
  max-width:1000px;
}
.emblem-stage{height:330px;overflow:visible}
.emblem-stage img{
  height:310px;width:220px;object-fit:contain;
  background:transparent!important;
}
.page-emblem{
  width:220px;height:295px;object-fit:contain;
  background:transparent!important;
}
.contact-aside img{
  width:220px;height:auto;max-height:300px;object-fit:contain;
  background:transparent!important;
}

/* Do not alter the footer treatment. */
.footer-brand img{
  width:260px;background:var(--ivory);padding:6px;
}

@media(max-width:1000px){
  .site-header .brand{width:220px}
  .site-header .brand img{height:70px}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-image{
    grid-row:1;
    min-height:0;
    aspect-ratio:614/475;
    width:100%;
  }
  .hero-image img{object-fit:contain;object-position:center center}
  .hero-image:before{display:none}
  .hero-copy{grid-row:2;padding:42px 0 48px}
  .zelie-section{background:linear-gradient(90deg,#fbf7ee 0 25%,#fffdfa 25% 100%)}
  .zelie-grid{grid-template-columns:32% 68%;gap:32px;max-width:760px}
  .emblem-stage{height:300px}
  .emblem-stage img{height:285px;width:205px}
  .page-emblem{width:180px;height:245px}
}

@media(max-width:700px){
  .site-header .brand{width:195px}
  .site-header .brand img{height:64px}
  .hero-image{aspect-ratio:614/475;margin:0 -14px;width:calc(100% + 28px)}
  .hero-copy{padding:34px 0 42px}
  .zelie-section{background:#fffdfa;padding-top:30px}
  .zelie-grid{grid-template-columns:1fr;gap:12px}
  .emblem-stage{height:270px;background:#fbf7ee;margin:0 -14px 10px;padding:12px 0}
  .emblem-stage img{height:255px;width:185px}
}


/* FINAL HERO + ST. ZELIE SECTION LAYOUT FIX */
/* Desktop: the photo fills the same vertical block as the hero copy. Cropping is intentional so there are no empty bands. */
.hero{
  background:var(--cream);
  overflow:hidden;
}
.hero-grid{
  grid-template-columns:43% 57%;
  min-height:565px;
  align-items:stretch;
}
.hero-copy{
  background:var(--cream);
  padding:66px 42px 60px 0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-image{
  position:relative;
  min-height:565px;
  height:auto;
  overflow:hidden;
  background:transparent;
}
.hero-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-image:before{
  content:'';
  position:absolute;
  z-index:1;
  left:0;
  top:0;
  bottom:0;
  width:18%;
  background:linear-gradient(90deg,var(--cream) 0%,rgba(252,250,245,.78) 30%,rgba(252,250,245,.22) 68%,transparent 100%);
  pointer-events:none;
}

/* St. Zélie story: beige stays behind the emblem, while the copy sits fully on white. */
.zelie-section{
  background:linear-gradient(90deg,#fbf7ee 0 34%,#fffdfa 34% 100%);
}
.zelie-grid{
  grid-template-columns:31% 69%;
  gap:46px;
  max-width:1000px;
}
.emblem-stage{
  height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  background:transparent;
}
.emblem-stage img{
  height:310px;
  width:225px;
  object-fit:contain;
  background:transparent!important;
}

@media(max-width:1000px){
  /* Mobile/tablet: show the photograph first, then the hero message. */
  .hero-grid{
    grid-template-columns:1fr;
    min-height:0;
  }
  .hero-image{
    grid-row:1;
    min-height:0;
    height:auto;
    aspect-ratio:16/10;
    width:100%;
  }
  .hero-image img{
    object-fit:cover;
    object-position:center center;
  }
  .hero-image:before{display:none}
  .hero-copy{
    grid-row:2;
    padding:42px 0 48px;
  }
  .zelie-section{
    background:linear-gradient(90deg,#fbf7ee 0 34%,#fffdfa 34% 100%);
  }
  .zelie-grid{
    grid-template-columns:31% 69%;
    gap:30px;
    max-width:760px;
  }
  .emblem-stage{height:290px}
  .emblem-stage img{height:275px;width:200px}
}

@media(max-width:700px){
  .hero-image{
    grid-row:1;
    aspect-ratio:4/3;
    margin:0 -14px;
    width:calc(100% + 28px);
  }
  .hero-copy{
    grid-row:2;
    padding:34px 0 42px;
  }
  /* On narrow screens the emblem gets its own beige panel and the copy remains white. */
  .zelie-section{
    background:#fffdfa;
    padding-top:0;
  }
  .zelie-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .emblem-stage{
    height:285px;
    background:#fbf7ee;
    margin:0 -14px 26px;
    padding:14px 0;
  }
  .emblem-stage img{height:265px;width:195px}
}

/* 2026-09-02 hero framing refinement: keep the photo fully filled while preserving its right edge. */
@media(min-width:1001px){
  .hero-grid{grid-template-columns:42% 58%;}
  .hero-image img{
    object-fit:cover;
    object-position:right center;
  }
  .hero-image:before{
    width:20%;
  }
}

/* On tablet/mobile the photo remains first and favors the right side of the original composition. */
@media(max-width:1000px){
  .hero-image img{
    object-fit:cover;
    object-position:right center;
  }
}
