/* awning-graphics: page-level styles (from site/src/awning-graphics.src.html) */
/* ===== Awning graphics v3 (tools/graphics_v3.py) ===== */
.gx3-ico{display:inline-grid;place-items:center;flex:none;width:30px;height:30px}
.gx3-ico svg{width:100%;height:100%}

/* G1 hero: the section is the awning: rose canvas stripes, scalloped valance */
.gx3-hero{position:relative;padding:22px 0 clamp(88px,8vw,128px);background:#8F2537;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 56px,transparent 56px 112px);color:#fff}
.gx3-hero .rca-crumbs a,.gx3-hero .rca-crumbs li{color:rgba(255,255,255,.78)}
.gx3-hero .rca-crumbs [aria-current]{color:#fff}
.gx3-hero__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(40px,5vw,88px);align-items:center;margin-top:clamp(32px,4vw,56px)}
.gx3-hero__copy{display:flex;flex-direction:column;gap:26px}
.gx3-hero .rca-h1{margin:0;color:#fff;font-size:clamp(2.75rem,1.3rem + 4.2vw,5rem);line-height:.98;letter-spacing:-.028em;text-wrap:balance;text-shadow:0 2px 0 rgba(60,10,20,.35)}
.gx3-hero .rca-h1 em{font-style:italic;color:#F6E2C6}
.gx3-hero__lede{margin:0;max-width:52ch;font-size:var(--rca-fs-lead);line-height:1.6;color:#F6E6E8}
.gx3-hero .rca-btn--light{--b-bg:#fff;--b-fg:var(--rca-rose-700);--b-bd:#fff}
.gx3-hero .rca-btn--ghost-dark{--b-bd:rgba(255,255,255,.6)}
.gx3-hero__img{margin:0;padding:12px 12px 0;background:#fff;transform:rotate(1.5deg);box-shadow:0 50px 90px -40px rgba(40,5,12,.75)}
.gx3-hero__img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gx3-hero__img figcaption{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 4px 14px;font:600 10.5px/1.3 var(--rca-font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--rca-rose-700)}
.gx3-hero__img figcaption span+span::before{content:"·";margin-right:18px;color:#C9A3AA}
.gx3-hero__val{position:absolute;left:0;right:0;bottom:-1px;height:22px;background:radial-gradient(circle at 50% 100%,#fff 15.5px,transparent 16px) 0 0/34px 22px repeat-x}

/* G2 definition with a film-roll label */
.gx3-def{padding:clamp(64px,3rem + 4vw,112px) 0 var(--rca-section);background:#fff}
.gx3-def__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center}
.gx3-def .rca-h2{margin:0 0 22px;text-wrap:balance}
.gx3-def__a{margin:0;font-size:clamp(1.125rem,1rem + .45vw,1.375rem);line-height:1.6;color:#2A332E}
.gx3-def__a strong{font-weight:600;color:var(--rca-rose-700)}
.gx3-jump{margin-top:32px}
.gx3-jump ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.gx3-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid var(--rca-rose-700);border-radius:999px;font:600 14px/1 var(--rca-font-sans);color:var(--rca-rose-700);text-decoration:none;transition:background var(--rca-t-fast),color var(--rca-t-fast)}
.gx3-jump a:hover{background:var(--rca-rose-700);color:#fff}
.gx3-roll{position:relative;padding:28px 0 28px 64px}
.gx3-roll::before{content:"";position:absolute;left:0;top:0;bottom:0;width:96px;border-radius:48px/14px;background:linear-gradient(90deg,#1D1F1E,#3C403D 40%,#1D1F1E)}
.gx3-roll__core{position:absolute;left:30px;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:#C8A27A;box-shadow:inset 0 0 0 9px #E9DCC0}
.gx3-roll__label{position:relative;padding:26px 28px 22px;background:#FDFCF8;border:1px solid #E4DCCB;box-shadow:0 40px 70px -46px rgba(24,33,28,.55)}
.gx3-roll__label::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--rca-rose-700)}
.gx3-roll__h{margin:0 0 12px;font:italic 500 1.375rem/1.2 var(--rca-font-display);color:var(--rca-ink)}
.gx3-roll dl{margin:0;border-top:1.5px solid var(--rca-ink)}
.gx3-roll dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px dotted #CFC6B4}
.gx3-roll dt{font:600 10.5px/1.6 var(--rca-font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rca-slate)}
.gx3-roll dd{margin:0;font:500 1.0625rem/1.35 var(--rca-font-display);color:var(--rca-ink)}

/* G3 preview: green cutting mat */
.gx3-lt{padding-block:var(--rca-section);background-color:#2C5240;background-image:linear-gradient(rgba(233,220,192,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(233,220,192,.13) 1px,transparent 1px),linear-gradient(rgba(233,220,192,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(233,220,192,.06) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;color:var(--rca-on-dark)}
.gx3-lt__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 72px;align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.gx3-lt .rca-h2{margin:0;color:#fff}
.gx3-lt .rca-lead{margin:0;color:#D4E0D7}
.gx3-lt .rca-lt__stage{padding:14px;background:#fff;box-shadow:0 50px 90px -40px rgba(0,0,0,.6)}
.gx3-lt .rca-lt__form{border-top:0;background:#FDFCF8;color:var(--rca-ink);box-shadow:0 50px 90px -40px rgba(0,0,0,.6);position:relative}
.gx3-lt .rca-lt__form::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--rca-rose-700)}

/* G4 process: a film strip of five frames */
.gx3-proc{padding-block:var(--rca-section);background:#fff;overflow:hidden}
.gx3-proc__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 72px;align-items:end;margin-bottom:clamp(40px,5vw,60px)}
.gx3-proc .rca-h2{margin:0;text-wrap:balance}
.gx3-proc .rca-lead{margin:0;color:#3E4641}
.gx3-film{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}
.gx3-film li{display:flex;flex-direction:column}
.gx3-film figure{position:relative;margin:0;padding:22px 5px;background:#1A1C1B}
.gx3-film figure::before,.gx3-film figure::after{content:"";position:absolute;left:4px;right:4px;height:8px;background:repeating-linear-gradient(90deg,transparent 0 7px,#E9E4D8 7px 15px,transparent 15px 22px)}
.gx3-film figure::before{top:6px}
.gx3-film figure::after{bottom:6px}
.gx3-film img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.95)}
.gx3-film li:first-child figure{border-radius:6px 0 0 6px}
.gx3-film li:last-child figure{border-radius:0 6px 6px 0}
.gx3-film__n{margin:22px 18px 6px 4px;font:400 2.25rem/1 var(--rca-font-display);color:var(--rca-rose-700)}
.gx3-film h3{margin:0 18px 8px 4px;font:500 1.25rem/1.2 var(--rca-font-display);color:var(--rca-ink)}
.gx3-film p{margin:0 18px 0 4px;font-size:14px;line-height:1.6;color:#3E4641}

/* G5 in-house: typographic statement on canvas */
.gx3-why{padding-block:var(--rca-section);background:var(--rca-canvas);text-align:center}
.gx3-why__k{margin:0 0 16px;font:italic 500 1.25rem/1.2 var(--rca-font-display);color:var(--rca-rose-700)}
.gx3-why__q{margin:0 auto clamp(48px,5vw,72px);max-width:16ch;font:italic 400 clamp(3rem,1.6rem + 5vw,6rem)/.98 var(--rca-font-display);letter-spacing:-.03em;color:var(--rca-ink)}
.gx3-why__list{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rca-ink);text-align:left}
.gx3-why__list div{padding:28px 32px 6px 0}
.gx3-why__list div+div{padding-left:32px;border-left:1px solid #CFC2A6}
.gx3-why__list dt{display:flex;align-items:center;gap:12px;margin-bottom:10px;font:500 1.5rem/1.2 var(--rca-font-display);color:var(--rca-ink)}
.gx3-why__list .gx3-ico{color:var(--rca-rose-700)}
.gx3-why__list dd{margin:0;font-size:15px;line-height:1.6;color:#3E4641}

/* G6 work: framed prints on fog */
.gx3-work{padding-block:var(--rca-section);background:var(--rca-fog)}
.gx3-work__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 72px;align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.gx3-work .rca-h2{margin:0}
.gx3-work .rca-lead{margin:0;color:#3E4641}
.gx3-work .rca-lead a{color:var(--rca-evergreen);font-weight:600;text-underline-offset:3px}
.gx3-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.gx3-w{display:flex;flex-direction:column;margin:0;padding:10px 10px 0;background:#fff;box-shadow:0 2px 3px rgba(24,33,28,.05),0 30px 50px -36px rgba(24,33,28,.55);transition:transform var(--rca-t-base) var(--rca-ease-out)}
.gx3-w:hover{transform:translateY(-4px)}
.gx3-w div{position:relative;flex:1 1 auto;overflow:hidden;min-height:220px}
.gx3-w img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.gx3-w figcaption{padding:12px 4px 14px;font-size:13px;color:var(--rca-slate)}
.gx3-w figcaption b{display:block;font:500 1.1875rem/1.2 var(--rca-font-display);color:var(--rca-ink)}
.gx3-w--a{grid-column:span 5;grid-row:span 2}
.gx3-w--b,.gx3-w--c{grid-column:span 7}
.gx3-w--b div,.gx3-w--c div{min-height:0;aspect-ratio:21/8}
.gx3-w--d{grid-column:span 5}.gx3-w--e{grid-column:span 7}
.gx3-w--d div,.gx3-w--e div{min-height:300px}

/* G7 FAQ */
.rca-faq.gx3-faq{background:#fff;border-top:0}
.gx3-faq__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.gx3-faq__intro{display:flex;flex-direction:column;gap:16px;padding:30px;background:#F7EEF0;border-top:6px solid var(--rca-rose-700)}
.gx3-faq .rca-h2{margin:0;font-size:clamp(2rem,1.5rem + 1.6vw,2.875rem);text-wrap:balance}
.gx3-faq__p{margin:0;font-weight:600;color:var(--rca-ink)}
.gx3-faq__send{list-style:none;margin:0;padding:0}
.gx3-faq__send li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid #E7D3D7;font-size:15px;color:#3E4641}
.gx3-faq__send li::before{content:"";position:absolute;left:2px;top:13px;width:12px;height:7px;border:solid var(--rca-rose-700);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.gx3-faq__link{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1.5px solid currentColor;font-weight:600;font-size:15px;color:var(--rca-rose-700);text-decoration:none}
.gx3-faq__link svg{width:16px;height:16px}
.gx3-faq .rca-faq__list{border-top:1px solid var(--rca-ink)}

/* G8 estimate: scallop top in white */
.gx3-qb::before{top:-1px;height:17px;background:radial-gradient(circle at 50% 0,#fff 11.5px,transparent 12px) 0 0/28px 17px repeat-x}

/* G9 related: a typographic index */
.gx3-rel{padding-block:clamp(56px,5vw,88px);background:#fff}
.gx3-rel__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px 72px;align-items:start}
.gx3-rel .rca-h2{margin:0;font-size:clamp(1.875rem,1.4rem + 1.4vw,2.75rem)}
.gx3-rel__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rca-ink)}
.gx3-rel__list a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--rca-line);color:var(--rca-ink);text-decoration:none}
.gx3-rel__list b{font:500 clamp(1.375rem,1.1rem + .8vw,1.875rem)/1.15 var(--rca-font-display);transition:color var(--rca-t-fast)}
.gx3-rel__list span{font-size:14.5px;color:var(--rca-slate)}
.gx3-rel__list svg{width:20px;height:20px;color:var(--rca-rose-700);transition:transform var(--rca-t-base) var(--rca-ease-out)}
.gx3-rel__list a:hover b{color:var(--rca-rose-700)}
.gx3-rel__list a:hover svg{transform:translateX(5px)}

@media (max-width:1180px){
  .gx3-film{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
  .gx3-film li figure{border-radius:0!important}
}
@media (max-width:980px){
  .gx3-hero__grid,.gx3-def__grid,.gx3-lt__head,.gx3-proc__head,.gx3-work__head,.gx3-faq__grid,.gx3-rel__grid{grid-template-columns:minmax(0,1fr)}
  .gx3-hero__img{max-width:620px}
  .gx3-why__list{grid-template-columns:1fr}
  .gx3-why__list div,.gx3-why__list div+div{padding:22px 0;border-left:0;border-bottom:1px solid #CFC2A6}
  .gx3-w--a,.gx3-w--b,.gx3-w--c,.gx3-w--d,.gx3-w--e{grid-column:span 6;grid-row:auto}
  .gx3-w--a div,.gx3-w--b div,.gx3-w--c div,.gx3-w--d div,.gx3-w--e div{min-height:0;aspect-ratio:4/3}
  .gx3-w--a{grid-column:span 12}
  .gx3-w--a div{aspect-ratio:16/10}
}
@media (max-width:767px){
  .gx3-hero .rca-actions .rca-btn{flex:1 1 100%}
  .gx3-hero__img{transform:none}
  .gx3-roll{padding-left:40px}
  .gx3-roll::before{width:64px}
  .gx3-roll__core{left:16px;width:30px;height:30px;margin-top:-15px;box-shadow:inset 0 0 0 7px #E9DCC0}
  .gx3-roll__label{padding:22px 18px 16px 22px}
  .gx3-roll dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .gx3-film{grid-template-columns:1fr 1fr;column-gap:12px}
  .gx3-film__n{font-size:1.75rem;margin:16px 0 4px}
  .gx3-film h3,.gx3-film p{margin-left:0;margin-right:0}
  .gx3-film h3{font-size:1.0625rem}
  .gx3-film p{font-size:13.5px}
  .gx3-film li:last-child{grid-column:1/-1}
  .gx3-why__q{max-width:none}
  .gx3-wall{gap:12px}
  .gx3-w--a,.gx3-w--b,.gx3-w--c,.gx3-w--d,.gx3-w--e{grid-column:span 12}
  .gx3-faq__intro{padding:24px 20px}
  .gx3-rel__list a{grid-template-columns:minmax(0,1fr) 22px;gap:4px 14px}
  .gx3-rel__list span{grid-row:2}
  .gx3-rel__list svg{grid-row:1/span 2;grid-column:2}
}
@media (prefers-reduced-motion:reduce){.gx3-w,.gx3-rel__list svg{transition:none}}

/* hero divider v2 (Oct 23 2026): gentle arch with a binding hairline, replaces the scallops */
.gx3-hero__val{left:-8%;right:-8%;bottom:-1px;height:clamp(40px,5vw,72px);background:#fff;border-radius:50% 50% 0 0 / 100% 100% 0 0;box-shadow:0 -1px 0 rgba(255,255,255,.08)}
.gx3-hero__val::before{content:"";position:absolute;left:3%;right:3%;top:-12px;height:calc(100% + 12px);border-top:1px solid rgba(255,255,255,.38);border-radius:50% 50% 0 0 / 100% 100% 0 0;pointer-events:none}
.gx3-hero__val::after{content:"";position:absolute;left:50%;top:-17px;width:9px;height:9px;margin-left:-4.5px;background:#E9C9A3;transform:rotate(45deg);box-shadow:0 0 0 4px #8F2537}
/* caption: chips instead of dot separators so wrapping stays clean */
.gx3-hero__img figcaption{gap:6px;padding:12px 2px 12px}
.gx3-hero__img figcaption span{padding:5px 10px;border:1px solid #E6CDD2;border-radius:999px;background:#FBF4F5}
.gx3-hero__img figcaption span+span::before{content:none}
/* former inline styles: :not(#rca-x) lifts them to ID specificity, like an inline style (still below !important) */
.rca-s-003329d:not(#rca-x){--sw:#7A1F2E}
.rca-s-049503f:not(#rca-x){--sw:#1F3D2B}
.rca-s-0d688a0:not(#rca-x){--sw:#B89468}
.rca-s-10d7954:not(#rca-x){--cta-hem:var(--rca-fog)}
.rca-s-1b32987:not(#rca-x){--sw:#1E2E48}
.rca-s-2ace48f:not(#rca-x){--sw:#FFFFFF}
.rca-s-4023248:not(#rca-x){--sw:#F1E6CC}
.rca-s-637c88b:not(#rca-x){--sw:#141614}
.rca-s-7b03822:not(#rca-x){--sw:#B3364A}
.rca-s-ba448c2:not(#rca-x){--sw:#1A1C1B}
