/* Opening promotion: scoped additions to the existing Muttographer design. */
.opening-header { border-bottom:1px solid var(--line); }
.opening-header-inner { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.opening-header .brand { color:var(--orange); }
.opening-header nav { display:flex; align-items:center; gap:36px; }
.opening-header nav a { display:inline-flex; align-items:center; gap:12px; font-size:14px; font-weight:650; text-decoration:none; }
.opening-header nav a:hover { color:var(--orange); }
.opening-header nav a:last-child { padding-block:8px; border-bottom:1px solid currentColor; }
.opening-header nav svg { width:20px; }
.opening-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; padding-block:76px 88px; }
.opening-copy { min-width:0; }
.opening-copy h1 { font-size:clamp(46px,4.65vw,68px); line-height:1.04; max-width:620px; }
.opening-intro { margin-top:27px; font-size:18px; line-height:1.65; max-width:490px; }
.opening-offer { margin-top:20px; font-size:18px; }
.opening-offer strong { color:var(--orange); }
.opening-inclusion { font-size:16px; margin-top:9px; }
.opening-copy .button { margin-top:27px; }
.opening-deposit { font-size:13px; line-height:1.55; color:var(--muted); margin-top:12px; max-width:350px; }
.opening-photo-area { min-width:0; padding:12px 9px 0; text-align:center; }
.opening-print { background:var(--white); color:var(--green); padding:11px 11px 0; box-shadow:0 12px 28px #293e3217; }
.opening-print img { width:100%; height:auto; object-fit:contain; }
.opening-print figcaption { font-size:14px; line-height:1.4; padding:14px 8px 17px; text-align:center; }
.opening-lead-print { transform:rotate(3deg); transition:transform .6s var(--ease),box-shadow .6s var(--ease); }
.opening-lead-print:hover { transform:rotate(0deg); box-shadow:0 18px 34px #293e3220; }
.opening-photo-note { font-family:var(--display); font-size:25px; line-height:1.3; margin:33px auto 12px; }
.opening-photo-area .text-link { font-size:14px; }
.opening-keepsakes { background:var(--green); color:var(--paper); padding-block:88px; }
.opening-keepsake-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:96px; align-items:center; }
.opening-print-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; padding:18px 4px; }
.opening-print-pair .opening-print { padding:9px 9px 0; }
.opening-pair-first { transform:rotate(-4deg); }
.opening-pair-second { transform:rotate(4deg); margin-top:64px; }
.opening-keepsake-copy h2 { font-size:clamp(38px,4vw,56px); }
.opening-keepsake-copy>p { margin-top:25px; font-size:17px; line-height:1.7; }
.opening-print-offer { margin-top:29px; padding-top:28px; border-top:1px solid #faf6ed55; }
.opening-print-offer h3 { color:var(--sage); font-size:32px; line-height:1.1; }
.opening-print-offer p { margin-top:12px; font-size:16px; }
.opening-request { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; padding-block:96px; scroll-margin-top:30px; }
.opening-request-copy h2 { font-size:clamp(38px,4vw,56px); }
.opening-request-copy>p { margin-top:22px; max-width:430px; color:var(--muted); }
.opening-request-copy .opening-local { font-size:14px; }
.opening-request-panel { background:var(--sage); border-radius:var(--radius); padding:36px; }
.opening-request-panel h3 { font-size:30px; }
.opening-request-panel>p { margin-top:18px; }
.opening-request-deposit { padding-top:20px; border-top:1px solid #294c3938; font-size:15px; }
.opening-request-panel .button { margin-top:25px; width:100%; gap:18px; font-size:15px; }
.opening-request-panel .opening-email-note { font-size:12px; text-align:center; margin-top:10px; }
.opening-direct-email { display:block; text-align:center; margin-top:18px; font-size:14px; overflow-wrap:anywhere; }
.opening-request-panel .opening-phone { text-align:center; font-size:14px; margin-top:10px; }
@media(min-width:1500px) { .opening-hero { padding-block:98px; } }
@media(max-width:1100px) {
 .opening-hero { gap:38px; }
 .opening-keepsake-grid { gap:48px; }
 .opening-request { gap:50px; }
 .opening-request-panel { padding:28px; }
}
@media(max-width:900px) {
 .opening-header-inner { min-height:86px; }
 .opening-header nav { gap:20px; }
 .opening-hero { grid-template-columns:1fr; gap:48px; padding-block:50px 64px; }
 .opening-copy h1 { max-width:660px; font-size:clamp(44px,7vw,64px); }
 .opening-intro { max-width:580px; }
 .opening-photo-area { width:min(100%,600px); justify-self:center; }
 .opening-keepsake-grid { grid-template-columns:1fr 1fr; gap:36px; }
 .opening-print-pair { gap:15px; }
 .opening-print-pair .opening-print { padding:7px 7px 0; }
 .opening-print-pair figcaption { font-size:11px; padding:10px 0 12px; }
 .opening-keepsake-copy h2 { font-size:38px; }
 .opening-print-offer h3 { font-size:29px; }
 .opening-request { gap:32px; }
}
@media(max-width:700px) {
 .opening-header-inner { min-height:78px; gap:12px; }
 .opening-header .brand { font-size:24px; gap:7px; }
 .opening-header .brand svg { width:28px; height:28px; }
 .opening-header nav { gap:0; }
 .opening-header nav a:first-child { display:none; }
 .opening-header nav a:last-child { font-size:12px; gap:6px; }
 .opening-header nav svg { width:16px; }
 .opening-hero { padding-block:38px 50px; gap:39px; }
 .opening-copy h1 { font-size:clamp(39px,9.5vw,56px); }
 .opening-intro { font-size:16px; margin-top:22px; }
 .opening-offer { font-size:17px; }
 .opening-inclusion { font-size:15px; }
 .opening-copy .button { width:100%; }
 .opening-deposit { max-width:none; text-align:center; }
 .opening-photo-area { padding-inline:9px; }
 .opening-photo-note { font-size:22px; margin-top:27px; }
 .opening-keepsakes { padding-block:53px 58px; }
 .opening-keepsake-grid { grid-template-columns:1fr; gap:42px; }
 .opening-keepsake-copy { grid-row:1; }
 .opening-keepsake-copy h2 { font-size:40px; }
 .opening-keepsake-copy>p { margin-top:20px; font-size:16px; }
 .opening-print-offer { margin-top:24px; padding-top:23px; }
 .opening-print-offer h3 { font-size:30px; }
 .opening-print-pair { max-width:490px; margin-inline:auto; gap:19px; padding-inline:8px; }
 .opening-pair-second { margin-top:30px; }
 .opening-request { grid-template-columns:1fr; padding-block:55px; gap:30px; }
 .opening-request-copy h2 { font-size:40px; }
 .opening-request-panel { padding:27px 23px; }
 .opening-request-panel h3 { font-size:29px; }
}
@media(max-width:380px) {
 .opening-header .brand { font-size:21px; }
 .opening-header nav a:last-child { font-size:11px; }
 .opening-header nav svg { display:none; }
 .opening-copy h1 { font-size:38px; }
 .opening-request-panel { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) { .opening-lead-print { transition:none; } }
@media print { .opening-header,.opening-request-panel .button { display:none; } .opening-hero,.opening-keepsake-grid,.opening-request { display:block; } .opening-print { box-shadow:none; transform:none; } }
