/* Scope: the homepage hero only. No legacy section selectors or global resets. */
.signature-hero.cec-premium-hero { background:var(--p-cream); color:var(--p-black); overflow:clip; border:0; padding:0; font-family:var(--p-font-interface); }
.cec-premium-hero .wrap { width:min(var(--p-container),calc(100% - var(--p-gutter)*2)); }
.cec-premium-hero .signature-hero__grid {
    display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-rows:auto 1fr;
    gap:28px var(--p-grid-gap); align-items:center; padding-block:clamp(44px,4.5vw,76px) 42px;
}
.cec-premium-hero .signature-hero__copy { grid-column:1; grid-row:1; align-self:start; min-width:0; padding-top:24px; }
.cec-premium-hero .eyebrow {
    display:flex; align-items:center; gap:15px; font-family:var(--p-font-interface); font-size:10px; font-weight:600;
    line-height:1.7; letter-spacing:.15em; color:var(--p-text-muted); margin:0 0 30px; padding:0;
}
.cec-premium-hero .eyebrow::before { content:""; display:block; flex:0 0 32px; width:32px; height:1px; background:var(--p-bronze); transform-origin:left; animation:p-line-in var(--p-motion-enter) var(--p-ease) both; }
.cec-premium-hero h1 {
    color:var(--p-black); font-family:var(--p-font-display); font-size:var(--p-type-display); font-weight:400;
    letter-spacing:-.045em; line-height:.99; margin:0 0 28px; padding:0; max-width:none; text-wrap:initial;
}
.cec-premium-hero h1 em { color:var(--p-taupe); font-weight:400; font-style:italic; }
.cec-premium-hero .signature-hero__lead { font-family:var(--p-font-interface); font-size:var(--p-type-body); line-height:1.85; color:var(--p-text-muted); max-width:435px; margin:0; }
.cec-premium-hero .signature-hero__visual { grid-column:2; grid-row:1/3; width:100%; max-width:480px; justify-self:end; align-self:center; padding:0; perspective:none; position:relative; }
.cec-premium-hero .signature-hero__frame { display:block; border:0; border-radius:0; background:none; overflow:visible; transform:none; box-shadow:none; aspect-ratio:auto; position:relative; }
.cec-premium-hero .signature-hero__frame::after { display:none; }
.cec-premium-hero picture { display:block; position:relative; }
.cec-premium-hero picture::before { content:""; position:absolute; width:1px; background:var(--p-bronze); inset:32px auto 32px -18px; transform-origin:top; animation:p-line-in var(--p-motion-enter) var(--p-ease) both; }
.cec-premium-hero .signature-hero__frame img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 40%; border-radius:var(--p-radius); filter:none; transform:none; opacity:1; }
.cec-premium-hero .signature-hero__caption { display:grid; grid-template-columns:1fr auto; gap:4px 16px; align-items:baseline; position:static; background:none; color:var(--p-black); padding:20px 0 0; margin:0; line-height:1.5; animation:p-caption-in var(--p-motion-enter) var(--p-ease) both; }
.cec-premium-hero .signature-hero__caption span:first-child { display:block; grid-column:1/-1; font-family:var(--p-font-interface); font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--p-text-muted); }
.cec-premium-hero .signature-hero__caption strong { display:block; font-family:var(--p-font-display); font-size:28px; font-weight:400; line-height:1.2; margin:0; color:var(--p-black); }
.cec-premium-hero .signature-hero__caption span:last-child { color:var(--p-text-muted); font-size:10px; letter-spacing:0; }
.cec-premium-hero .signature-hero__vertical { display:none; }
.cec-premium-hero .signature-hero__conversion { grid-column:1; grid-row:2; align-self:start; padding:0 0 6px; }
.cec-premium-hero .signature-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; margin:0; }
.cec-premium-hero .button {
    background:var(--p-black); color:var(--p-cream); border:1px solid var(--p-black); border-radius:var(--p-radius);
    padding:16px 22px; min-height:54px; font-family:var(--p-font-interface); font-size:12px; font-weight:600; letter-spacing:.01em; line-height:1.6;
    box-shadow:none; transform:none; transition:background var(--p-motion-fast),border-color var(--p-motion-fast);
}
.cec-premium-hero .button::after { margin-left:30px; width:17px; height:17px; flex-basis:17px; }
.cec-premium-hero .button:hover { background:#302821; border-color:#302821; color:var(--p-cream); box-shadow:none; transform:none; }
.cec-premium-hero .signature-link { color:var(--p-black); display:inline-flex; gap:14px; align-items:center; font-family:var(--p-font-interface); font-size:12px; min-height:44px; text-decoration:none; border-bottom:1px solid var(--p-bronze); padding-block:8px; }
.cec-premium-hero .signature-hero__reassurance { font-size:10px; color:var(--p-text-muted); letter-spacing:.015em; margin:16px 0 0; padding-left:0; }
.cec-premium-hero .signature-hero__bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:var(--p-border); color:var(--p-text-muted); padding-block:20px 25px; font-size:11px; line-height:1.6; }
.cec-premium-hero .signature-hero__bottom a { display:inline-flex; align-items:center; gap:20px; color:var(--p-black); font-size:11px; text-decoration:none; min-height:32px; }
.cec-premium-hero :is(a,button):focus-visible { outline:2px solid var(--p-black); outline-offset:5px; }
@keyframes p-line-in { from { transform:scale(.2); } to { transform:scale(1); } }
@keyframes p-caption-in { from { transform:translateY(8px); } to { transform:translateY(0); } }
@media (min-width:1600px) { .cec-premium-hero .signature-hero__grid { gap:32px 140px; } }
@media (min-width:700px) and (max-width:1099px) {
    .cec-premium-hero .signature-hero__grid { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:28px 36px; padding-block:48px 36px; }
    .cec-premium-hero h1 { font-size:clamp(58px,7.7vw,84px); margin-bottom:22px; }
    .cec-premium-hero .eyebrow { font-size:9px; letter-spacing:.1em; gap:10px; margin-bottom:26px; }
    .cec-premium-hero .eyebrow::before { flex-basis:20px; width:20px; }
    .cec-premium-hero .signature-hero__lead { font-size:14px; line-height:1.85; }
    .cec-premium-hero .signature-hero__visual { align-self:center; }
    .cec-premium-hero .signature-hero__frame img { aspect-ratio:3/4.5; object-position:50% 35%; }
    .cec-premium-hero .signature-hero__caption { grid-template-columns:1fr; padding-top:16px; }
    .cec-premium-hero .signature-hero__caption strong { font-size:25px; }
    .cec-premium-hero .signature-hero__actions { flex-direction:column; align-items:flex-start; gap:10px; }
    .cec-premium-hero .button { padding:14px 20px; font-size:12px; }
    .cec-premium-hero .signature-link { font-size:11px; }
}
@media (max-width:699px) {
    .cec-premium-hero .signature-hero__grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-block:31px 24px; }
    .cec-premium-hero .signature-hero__copy { grid-column:1; grid-row:1; padding-top:0; }
    .cec-premium-hero .eyebrow { font-size:9px; letter-spacing:.1em; gap:12px; margin-bottom:23px; }
    .cec-premium-hero .eyebrow::before { flex-basis:23px; width:23px; }
    .cec-premium-hero h1 { font-size:clamp(46px,14vw,76px); line-height:1.01; letter-spacing:-.045em; margin-bottom:22px; }
    .cec-premium-hero .signature-hero__lead { font-size:14px; line-height:1.8; max-width:370px; }
    .cec-premium-hero .signature-hero__conversion { grid-column:1; grid-row:2; padding:0; margin-top:24px; }
    .cec-premium-hero .signature-hero__actions { gap:7px 18px; align-items:center; }
    .cec-premium-hero .button { min-height:51px; padding:14px 18px; font-size:11px; }
    .cec-premium-hero .button::after { margin-left:23px; }
    .cec-premium-hero .signature-link { font-size:10px; gap:10px; min-height:40px; }
    .cec-premium-hero .signature-link .cec-arrow { width:13px; height:13px; flex-basis:13px; }
    .cec-premium-hero .signature-hero__reassurance { font-size:9px; margin-top:12px; }
    .cec-premium-hero .signature-hero__visual { grid-column:1; grid-row:3; max-width:none; margin-top:31px; width:100%; }
    .cec-premium-hero .signature-hero__frame img { aspect-ratio:1.45; width:100%; object-fit:cover; object-position:70% 48%; }
    .cec-premium-hero picture::before { inset:18px auto 18px -10px; }
    .cec-premium-hero .signature-hero__caption { padding-top:15px; gap:4px 10px; }
    .cec-premium-hero .signature-hero__caption strong { font-size:25px; }
    .cec-premium-hero .signature-hero__caption span:first-child { font-size:8px; }
    .cec-premium-hero .signature-hero__caption span:last-child { font-size:9px; }
    .cec-premium-hero .signature-hero__bottom { padding-block:15px 19px; gap:24px; font-size:9px; }
    .cec-premium-hero .signature-hero__bottom a { font-size:10px; gap:10px; }
}
@media (prefers-reduced-motion:reduce) { .cec-premium-hero *, .cec-premium-hero *::before { animation:none!important; transition:none!important; } }
