/* Approved PeonyLux homepage. Scoped so the existing subpages keep their layout. */
.homepage { --front-paper:#fffaf7; --front-white:#fff; --front-blush:#fceaf2; --front-rose:#a83869; --front-dark:#54283c; --front-copy:#735362; --front-line:#e9d4dc; background:var(--front-paper); color:var(--front-dark); }
.homepage .site-header { background:var(--front-white); }
.homepage main h1,.homepage main h2,.homepage main h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; color:var(--front-dark); }
.homepage .front-wrap { width:100%; max-width:1280px; margin-inline:auto; padding-inline:40px; }
.homepage .front-breadcrumb { margin-bottom:0; padding-top:24px; }
.homepage .front-hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:40px; padding-block:40px 44px; }
.homepage .front-hero > * { min-width:0; }
.homepage .front-kicker { color:var(--front-rose); font-size:.75rem; line-height:1.7; text-transform:uppercase; letter-spacing:.17em; font-weight:500; }
.homepage .front-hero h1 { font-size:clamp(2.5rem,4.2vw,4rem); line-height:1.07; letter-spacing:-.045em; margin:18px 0 24px; overflow-wrap:break-word; }
.homepage .front-hero h1 em { font-weight:400; color:var(--front-rose); }
.homepage .front-lead { color:var(--front-copy); max-width:440px; font-size:1rem; line-height:1.8; }
.homepage .front-actions { margin-top:28px; display:flex; flex-wrap:wrap; gap:18px 24px; align-items:center; }
.homepage .front-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:13px 25px; border:1px solid var(--front-rose); background:var(--front-rose); color:var(--front-white); font-size:.875rem; font-weight:500; border-radius:3px; text-align:center; }
.homepage .front-button:hover { background:var(--pink-800); border-color:var(--pink-800); color:var(--front-white); }
.homepage .front-textlink { display:inline-block; font-size:.875rem; line-height:1.6; font-weight:500; color:var(--front-rose); text-decoration:underline; text-underline-offset:.3em; }
.homepage .front-textlink:hover { color:var(--pink-800); }
.homepage .front-hero-photo { margin:0; background:var(--front-white); overflow:hidden; border-radius:3px; }
.homepage .front-hero-photo img { width:100%; height:auto; aspect-ratio:1/1.13; object-fit:contain; background:var(--front-white); }
.homepage .front-season { display:flex; gap:10px; align-items:center; margin-top:28px; font-size:.8rem; line-height:1.7; color:var(--front-copy); }
.homepage .front-season::before { content:""; width:24px; height:1px; flex-shrink:0; background:var(--front-rose); }
.homepage .front-ribbon { border-block:1px solid var(--front-line); background:var(--front-white); }
.homepage .front-ribbon-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:20px; text-align:center; font-size:.875rem; color:var(--front-copy); }
.homepage .front-ribbon li+li { border-left:1px solid var(--front-line); padding-left:24px; }
.homepage .front-section { padding-block:64px; }
.homepage .front-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:28px; }
.homepage main h2 { font-size:clamp(1.9rem,3.4vw,2.8rem); line-height:1.15; letter-spacing:-.025em; margin-top:9px; overflow-wrap:break-word; }
.homepage .front-heading > p { max-width:290px; color:var(--front-copy); font-size:.9rem; line-height:1.8; }
.homepage .front-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.homepage .front-offer-photo { margin:0; background:var(--front-white); border-radius:3px; overflow:hidden; }
.homepage .front-offer-photo img { width:100%; height:auto; aspect-ratio:1.35/1; object-fit:contain; background:var(--front-white); }
.homepage .front-offer-copy { padding-top:20px; }
.homepage .front-offer-title { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.homepage .front-offer-title h3 { font-size:clamp(1.6rem,2.7vw,2rem); line-height:1.2; overflow-wrap:anywhere; }
.homepage .front-offer-number { font-size:.75rem; color:var(--front-rose); }
.homepage .front-offer-copy p { color:var(--front-copy); font-size:.95rem; line-height:1.8; margin:12px 0 16px; max-width:440px; }
.homepage .front-grower { background:var(--front-blush); }
.homepage .front-grower-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.homepage .front-grower-grid > * { min-width:0; }
.homepage .front-grower-statement { font-family:Georgia,serif; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.3; color:var(--front-rose); padding-top:18px; }
.homepage .front-grower-copy > p:not(.front-kicker):not(.front-signature) { color:var(--front-copy); margin:18px 0 22px; font-size:1rem; line-height:1.8; max-width:560px; }
.homepage .front-signature { font-family:Georgia,serif; font-style:italic; font-size:1.4rem; color:var(--front-dark); margin-block:20px; }
.homepage .front-grower-small { display:block; font-size:.75rem; font-family:var(--font-body); font-style:normal; color:var(--front-copy); margin-top:4px; }
.homepage .front-order-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:32px; }
.homepage .front-order-grid > div { border-top:1px solid var(--front-line); padding-top:16px; }
.homepage .front-order-grid dt { display:block; font-size:.95rem; font-weight:500; margin-bottom:8px; }
.homepage .front-order-grid dd { font-size:.875rem; line-height:1.8; color:var(--front-copy); margin:0; }
.homepage .front-diary { border-top:1px solid var(--front-line); background:var(--front-white); }
.homepage .front-diary-grid { display:grid; grid-template-columns:1fr .8fr; gap:60px; align-items:center; }
.homepage .front-diary-grid > * { min-width:0; }
.homepage .front-diary-photo { margin:0; }
.homepage .front-diary-photo img { border-radius:3px; width:100%; height:auto; aspect-ratio:1.55/1; object-fit:cover; }
.homepage .front-diary-copy > p:not(.front-kicker) { font-size:1rem; line-height:1.8; color:var(--front-copy); margin:20px 0 24px; max-width:500px; }
.homepage .front-diary .diary-card { border-radius:3px; border-color:var(--front-line); }
.homepage .front-diary .diary-card h2 { font-size:1.7rem; }
.homepage .front-diary .diary-card img { border-radius:0; }
.homepage .front-closing { background:var(--front-dark); color:var(--front-white); text-align:center; }
.homepage .front-closing h2 { color:var(--front-white); max-width:760px; margin:0 auto; }
.homepage .front-closing p { color:#eedce5; font-size:1rem; line-height:1.8; margin:20px auto 26px; max-width:560px; }
.homepage .front-closing .front-button { background:var(--pink-500); color:var(--front-dark); border-color:var(--pink-500); }
.homepage .front-closing .front-button:hover { background:var(--pink-300); border-color:var(--pink-300); }
.homepage main section[id] { scroll-margin-top:110px; }
@media(max-width:1100px) {
 .homepage .front-wrap { padding-inline:28px; }
 .homepage .front-hero { gap:28px; }
 .homepage .front-grower-grid { gap:34px; }
}
@media(max-width:800px) {
 .homepage .front-heading { align-items:start; }
 .homepage .front-heading > p { max-width:220px; }
 .homepage .front-order-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .homepage .front-diary-grid { gap:32px; }
 .homepage .front-grower-grid { grid-template-columns:1fr 1.2fr; }
}
@media(max-width:600px) {
 .homepage .front-wrap { padding-inline:22px; }
 .homepage .front-hero { grid-template-columns:1fr; padding-top:28px; gap:22px; }
 .homepage .front-hero-copy { display:contents; }
 .homepage .front-hero-title { order:0; }
 .homepage .front-hero-photo { order:1; }
 .homepage .front-hero-description { order:2; }
 .homepage .front-hero h1 { font-size:clamp(2.2rem,10.5vw,2.7rem); margin:15px 0 0; }
 .homepage .front-hero-photo img { aspect-ratio:1.25/1; max-height:340px; }
 .homepage .front-actions { margin-top:20px; gap:18px; }
 .homepage .front-season { margin-top:20px; }
 .homepage .front-ribbon-inner { gap:10px; font-size:.75rem; line-height:1.7; padding-block:18px; }
 .homepage .front-ribbon li+li { padding-left:8px; }
 .homepage .front-heading { display:block; }
 .homepage .front-heading > p { margin-top:18px; max-width:340px; }
 .homepage .front-offers { grid-template-columns:1fr; gap:36px; }
 .homepage .front-grower-grid,.homepage .front-diary-grid { grid-template-columns:1fr; gap:28px; }
 .homepage .front-grower-statement { font-size:1.9rem; padding:0; }
 .homepage .front-diary-photo img { aspect-ratio:1.6/1; }
 .homepage .front-section { padding-block:44px; }
 .homepage .front-order-grid { gap:24px 18px; }
 .homepage .front-offer-title { align-items:start; }
 .homepage .front-closing .front-button { min-width:220px; }
}
