/* Homepage-only styles — lifted from the design's index.html <style> block.
   Shared components (.strip, .menu-card, .tabs, .m-item, .imgcard, …) live in app.css. */

.hero{background:var(--blush);position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;min-height:600px;}
.hero-copy{padding:88px 0;}
.hero h1{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
     font-size:clamp(46px,5.2vw,76px);line-height:.96;letter-spacing:-.02em;margin:18px 0 0;
     text-wrap:balance;color:var(--ink);}
.hero h1 .serif-it{display:block;font-size:.74em;color:var(--gold-deep);margin-top:.06em;}
.hero p.lead{font-size:18px;line-height:1.62;color:var(--fg2);max-width:440px;margin:26px 0 34px;}
.hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.hero-media{position:relative;align-self:stretch;}
.hero-media .photo{position:absolute;inset:60px 0;border-radius:220px 220px 24px 24px;overflow:hidden;box-shadow:var(--shadow-rose);}
.hero-media .photo img,.hero-media .photo video{width:100%;height:100%;object-fit:cover;display:block;}
.seal{position:absolute;left:-38px;bottom:96px;width:118px;height:118px;border-radius:50%;background:var(--paper);
     box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;border:1px solid var(--line-rose);}
.seal img{width:64px;height:64px;}
.occ .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding-top:84px;padding-bottom:84px;}
.occ h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(32px,3.6vw,46px);line-height:1.0;letter-spacing:-.015em;margin:14px 0 0;}
.occ p{font-size:17px;color:var(--fg2);max-width:440px;margin:18px 0 28px;}
.occ-media{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-rose);aspect-ratio:4/3.4;}
.occ-media img{width:100%;height:100%;object-fit:cover;}
.occ-pill{position:absolute;top:20px;left:20px;background:var(--paper);border-radius:var(--r-pill);padding:9px 18px;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-ink);box-shadow:var(--shadow-sm);}
.story .wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center;padding-top:96px;padding-bottom:96px;}
.story-media{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/4.4;}
.story-media img{width:100%;height:100%;object-fit:cover;}
.story h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(32px,3.6vw,46px);line-height:1.02;letter-spacing:-.015em;margin:16px 0 0;}
.story .serif-lead{font-family:var(--font-serif);font-style:italic;font-size:24px;line-height:1.4;color:var(--rose-ink);margin:22px 0 18px;font-weight:500;}
.story p{font-size:16px;line-height:1.7;color:var(--fg2);max-width:480px;}
.story .sign{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--ink);margin-top:24px;}
.find-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.find h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:40px;line-height:1.0;letter-spacing:-.015em;margin:14px 0 22px;}
.find address{font-style:normal;font-family:var(--font-serif);font-size:22px;line-height:1.5;color:var(--ink);}
.find .muted{font-family:var(--font-body);font-size:14px;color:var(--fg3);margin-top:14px;line-height:1.6;}

@media (max-width:760px){
	.hero-grid{grid-template-columns:1fr;gap:0;min-height:0;}
	.hero-copy{padding:30px 0 6px;}
	.hero h1{font-size:clamp(36px,11vw,52px);}
	.hero p.lead{font-size:16px;margin:18px 0 24px;max-width:none;}
	.hero-cta .btn{flex:1;justify-content:center;padding:14px 18px;}
	.hero-media{height:360px;}
	.hero-media .photo{position:relative;inset:auto;height:360px;border-radius:150px 150px 16px 16px;}
	.seal{left:auto;right:14px;bottom:14px;width:78px;height:78px;}.seal img{width:44px;height:44px;}
	.occ .wrap{grid-template-columns:1fr;gap:26px;padding-top:50px;padding-bottom:50px;}.occ-media{order:-1;}.occ h2{font-size:30px;}
	.story .wrap{grid-template-columns:1fr;gap:28px;padding-top:54px;padding-bottom:54px;}.story-media{order:-1;aspect-ratio:4/3.4;}.story h2{font-size:30px;}.story .serif-lead{font-size:20px;}
	.find-grid{grid-template-columns:1fr;gap:32px;}.find h2{font-size:32px;}
}
