:root{--ink:#171717;--charcoal:#252525;--ivory:#f7f3ee;--stone:#e9e2da;--white:#fff;--wine:#7a2638;--wine-dark:#5e1d2c;--red:#c6283d;--red-dark:#981d2f;--muted:#6d6863;--line:#d9d0c7;--max:1180px;--radius:22px;--shadow:0 18px 50px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--ivory);line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}p{margin:0 0 1rem}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--wine)}.eyebrow.red{color:var(--red)}h1,h2,h3{line-height:1.04;margin:0 0 1rem;letter-spacing:-.035em}h1{font-size:clamp(3.3rem,8vw,7.2rem)}h2{font-size:clamp(2.4rem,5vw,4.8rem)}h3{font-size:clamp(1.45rem,2.5vw,2rem)}.lede{font-size:clamp(1.05rem,1.7vw,1.3rem);max-width:680px;color:#4f4b47}.small{font-size:.92rem;color:var(--muted)}
.header{position:absolute;z-index:20;top:0;left:0;right:0;color:#fff}.header.scrolled{position:fixed;background:rgba(17,17,17,.94);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:.14em;font-size:1.05rem}.brand span{font-weight:500;letter-spacing:.03em;font-size:.65rem;margin-left:7px;opacity:.7}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{font-size:.82rem;font-weight:700;letter-spacing:.05em}.nav-cta{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px}.menu{display:none;background:none;border:0;color:#fff;font-size:1.7rem}
.hero{min-height:88vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--charcoal);color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.82) 0%,rgba(10,10,10,.48) 45%,rgba(10,10,10,.35) 100%),linear-gradient(0deg,rgba(10,10,10,.72),transparent 55%)}.hero-content{position:relative;z-index:2;padding:150px 0 90px}.hero h1{max-width:850px}.hero p{color:rgba(255,255,255,.86);max-width:650px;font-size:1.18rem}.hero .eyebrow{color:#e8cbd1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:800;font-size:.86rem;letter-spacing:.02em;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-light{background:#fff;color:#171717}.btn-dark{background:#171717;color:#fff}.btn-wine{background:var(--wine);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-outline-light{border-color:rgba(255,255,255,.45);color:#fff}.btn-outline-dark{border-color:#aaa39c;color:#171717}
.section{padding:100px 0}.section-tight{padding:70px 0}.dark{background:var(--ink);color:#fff}.charcoal{background:var(--charcoal);color:#fff}.light{background:var(--ivory);color:var(--ink)}.stone{background:var(--stone);color:var(--ink)}.light h1,.light h2,.light h3,.light label,.light a:not(.btn),.stone h1,.stone h2,.stone h3,.stone label,.stone a:not(.btn){color:var(--ink)}.wine{background:var(--wine);color:#fff}.red{background:var(--red);color:#fff}.dark p,.charcoal p,.wine p,.red p{color:rgba(255,255,255,.78)}.light p,.stone p{color:#4f4b47}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split.reverse>div:first-child{order:2}.split.reverse>div:last-child{order:1}.media{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.media img{width:100%;height:100%;object-fit:cover}.media.tall{min-height:600px}.media.standard{min-height:460px}.copy h2{max-width:760px}.copy p{max-width:650px}.center{text-align:center}.center .lede{margin-inline:auto}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff}.light .card,.stone .card{color:var(--ink)}.dark .card,.charcoal .card{background:#222;border-color:#3a3a3a}.card p{font-size:.98rem}.card .icon{font-size:1.4rem;margin-bottom:20px}.card-link{display:block;height:100%;transition:.2s ease}.card-link:hover{transform:translateY(-4px)}.photo-card{overflow:hidden;border-radius:var(--radius);background:#111}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card .caption{padding:20px;color:#fff}.photo-card .caption p{color:rgba(255,255,255,.7);font-size:.9rem}.stat{padding:20px 0;border-top:1px solid rgba(255,255,255,.2)}.stat strong{font-size:2.2rem;display:block}.quote{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:650;letter-spacing:-.02em}.pill{display:inline-block;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 5px 8px 0}.light .pill,.stone .pill{background:#ded5cc}.divider{height:1px;background:var(--line);margin:35px 0}.price-box{padding:32px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.price{font-size:2.4rem;font-weight:900}.checklist{list-style:none;padding:0;margin:22px 0}.checklist li{padding:8px 0 8px 25px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;font-weight:900;color:var(--wine)}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#111;box-shadow:var(--shadow)}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.shorts-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.shorts-grid .video{aspect-ratio:9/16}
.form-wrap{max-width:850px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.85rem}.field input,.field select,.field textarea{font:inherit;padding:13px 14px;border-radius:12px;border:1px solid #cfc6bd;background:#fff;color:#171717}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:.82rem;color:var(--muted)}.hidden{position:absolute!important;left:-9999px!important}
.footer{background:#111;color:#fff;padding:70px 0 35px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer h3{font-size:1rem;letter-spacing:.04em}.footer a{color:rgba(255,255,255,.72)}.footer a:hover{color:#fff}.footer p{color:rgba(255,255,255,.6);font-size:.9rem}.footer-bottom{margin-top:55px;padding-top:22px;border-top:1px solid #333;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#777}
.page-hero{padding:170px 0 85px;background:var(--charcoal);color:#fff}.page-hero.wedding{background:linear-gradient(90deg,rgba(64,15,29,.95),rgba(64,15,29,.6)),url('../assets/images/wedding-hero.webp') center/cover}.page-hero.school{background:linear-gradient(90deg,rgba(70,5,14,.96),rgba(70,5,14,.62)),url('../assets/images/school-hero.webp') center/cover}.page-hero.neutral{background:var(--charcoal)}.page-hero h1{max-width:900px}.page-hero p{max-width:650px;color:rgba(255,255,255,.8);font-size:1.1rem}.backdrop{background:linear-gradient(135deg,#20161a,#111)}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:#111;padding:18px 20px 25px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu{display:block}.split{grid-template-columns:1fr;gap:38px}.split.reverse>div:first-child,.split.reverse>div:last-child{order:initial}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.shorts-grid{grid-template-columns:repeat(2,1fr)}.video-grid{grid-template-columns:1fr}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.nav{height:72px}.header.scrolled{position:fixed}.hero{min-height:80vh}.hero-content{padding:130px 0 65px}.hero h1{font-size:3.25rem}.section{padding:72px 0}.grid-2,.grid-3,.form-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.media.tall{min-height:420px}.page-hero{padding:140px 0 65px}.shorts-grid{grid-template-columns:1fr 1fr}.shorts-grid .video{aspect-ratio:9/16}}

.school-feature-photo{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 45%;display:block}
.form-status{margin-top:18px;padding:14px 16px;border:1px solid #d7d0c8;background:#f7f3ee;color:#171717;border-radius:4px}
.form-status.success{border-color:#7a2638;background:#f3e8eb;color:#4d1825}
.form-status.error{border-color:#a33a3a;background:#f8eeee;color:#6b1f1f}
button:disabled{opacity:.65;cursor:wait}
