/* Dedicated grade / type pages */
.g-hero{background:var(--white);padding:96px 0}
.g-hero-in{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:center}
.g-vis{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#2C4F40;box-shadow:0 30px 60px rgba(19,40,31,.16)}
.g-vis .opt-sw,.g-photo{position:absolute;inset:0;width:100%;height:100%}
.g-photo{background:#2C4F40 center/cover no-repeat}
.g-tier{position:absolute;left:16px;top:16px;padding:7px 14px;border-radius:999px;background:var(--white);color:var(--green);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.g-vis .photo-tag{z-index:2}
.g-copy{display:flex;flex-direction:column;gap:16px}
.g-h{font-family:var(--serif);font-size:clamp(46px,5.6vw,80px);font-weight:600;line-height:1;color:var(--green)}
.g-lead{font-size:17.5px;line-height:1.7;color:var(--muted);max-width:560px}
.g-chips{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px}
.g-chips li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid rgba(30,59,47,.14);border-radius:12px;background:#F6F5F1}
.g-chips small{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--bronze-text)}
.g-chips strong{font-size:16px;color:var(--green)}
.g-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:8px}
.g-wa{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--bronze)}

.g-fit{background:#F6F5F1;padding:80px 0}
.g-fit-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.g-fit-col{background:var(--white);border-radius:18px;padding:30px 30px 26px;border:1px solid rgba(30,59,47,.1)}
.g-fit-col h3{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--green);margin:0 0 14px}
.g-fit-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.g-fit-col li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.55;color:#2E3833}
.g-fit-col li svg{flex:none;margin-top:3px;padding:3px;border-radius:50%;box-sizing:content-box}
.g-yes li svg{color:var(--white);background:#3E7A5C}
.g-no li svg{color:var(--white);background:#B0563E}
.g-fit-col a{display:inline-block;margin-left:4px;font-weight:600;color:var(--green);text-decoration:underline;text-decoration-color:rgba(184,138,78,.7);text-underline-offset:3px}

.g-spec{background:var(--white);padding:90px 0}
.g-tablewrap{overflow-x:auto;border:1px solid rgba(30,59,47,.14);border-radius:14px;-webkit-overflow-scrolling:touch}
.g-table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.g-table th,.g-table td{text-align:left;padding:14px 18px;border-bottom:1px solid rgba(30,59,47,.1);vertical-align:top}
.g-table thead th{background:var(--green);color:var(--white);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.g-table tbody th{font-weight:600;color:var(--green);width:32%}
.g-table tbody td:last-child{color:var(--muted);font-size:13.5px;width:24%}
.g-table tbody tr:nth-child(even){background:#F6F5F1}
.g-table tbody tr:last-child th,.g-table tbody tr:last-child td{border-bottom:0}
.g-table-s td{width:auto!important;font-size:15px!important;color:var(--ink)!important}
.g-note{margin-top:16px;font-size:14px;color:var(--muted);max-width:820px}

.g-plan{background:var(--green-deep);color:var(--white);padding:90px 0}
.g-plan .eyebrow{color:var(--bronze)}
.g-h2{font-family:var(--serif);font-size:clamp(32px,3.4vw,46px);font-weight:600;line-height:1.1;margin:10px 0 22px}
.g-plan .g-h2{color:var(--white)}
.g-plan-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.g-calc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.g-calc label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;letter-spacing:.04em;color:#D5DFD9}
.g-calc input,.g-calc select{font:inherit;font-size:16px;color:var(--white);background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:12px 14px;min-height:48px;width:100%;box-sizing:border-box}
.g-calc select option{color:#13281F}
.g-calc input:focus,.g-calc select:focus{outline:2px solid var(--bronze);outline-offset:1px}
.g-out{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px}
.g-out div{flex:1 1 140px;display:flex;flex-direction:column;padding:14px 16px;border-radius:12px;background:var(--bronze);color:var(--green-deep)}
.g-out b{font-family:var(--serif);font-size:38px;font-weight:700;line-height:1}
.g-out span{font-size:13px;font-weight:600}
.g-calc-note{grid-column:1/-1;margin:2px 0 0;font-size:13px;line-height:1.55;color:#AFC0B6}
.g-rolls h3{font-family:var(--serif);font-size:28px;font-weight:600;margin:0 0 14px;color:var(--white)}
.g-rolls p{color:#D5DFD9}
.g-plan .g-tablewrap{border-color:rgba(255,255,255,.16)}
.g-plan .g-table thead th{background:var(--bronze);color:var(--green-deep)}
.g-plan .g-table td{border-color:rgba(255,255,255,.1);color:var(--white)!important}
.g-plan .g-table tbody tr:nth-child(even){background:rgba(255,255,255,.04)}

.g-install{background:var(--white);padding:90px 0}
.g-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:none}
.g-steps li{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:16px;background:#F6F5F1;border:1px solid rgba(30,59,47,.08)}
.g-n{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--bronze-text);line-height:1}
.g-steps strong{font-size:17px;color:var(--green)}
.g-steps li > span:last-child{font-size:14.5px;line-height:1.6;color:var(--muted)}
.g-more{display:inline-flex;margin-top:28px}

.g-range{background:#F6F5F1;padding:90px 0}
.g-sibs{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.g-sibs.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-sibs.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.g-sib{display:flex;flex-direction:column;gap:6px;padding:12px 12px 18px;border-radius:16px;background:var(--white);border:2px solid transparent;color:inherit;transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
a.g-sib:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(19,40,31,.12)}
.g-sib.is-cur{border-color:var(--bronze)}
.g-sib-v{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;margin-bottom:8px;background:#2C4F40}
.g-sib-v .opt-sw,.g-sib-v .opt-ph{width:100%;height:100%;background-size:cover;background-position:center}
.g-sib strong{font-size:19px;color:var(--green)}
.g-sib em{font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-text)}
.g-sib.is-cur em{color:var(--muted)}

.g-faq{background:var(--white);padding:90px 0}
.g-faq-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;align-items:start}
.g-faq .faq-i{border-bottom:1px solid rgba(30,59,47,.14)}
.g-faq .faq-i summary{color:var(--green)}
.g-faq .faq-a p{color:var(--muted)}
.g-src{margin-top:34px}
.g-src h3,.g-reads h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--green);margin:0 0 12px}
.g-src ol{padding-left:20px;font-size:13.5px;line-height:1.7;color:var(--muted)}
.g-src a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.g-reads{display:flex;flex-direction:column;gap:16px;position:sticky;top:110px}
.g-read{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;color:inherit}
.g-read-img{grid-row:1/3;aspect-ratio:4/3;border-radius:10px;background:#2C4F40 center/cover no-repeat}
.g-read small{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--bronze-text);align-self:end}
.g-read strong{font-size:15.5px;line-height:1.35;color:var(--green);align-self:start}
.g-read:hover strong{color:var(--bronze-text)}

/* option cards on the family pages */
.opt-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);min-height:44px}
.opt-more span{transition:transform .3s}
.opt-more:hover span{transform:translateX(4px)}

@media (max-width:1100px){.g-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.g-sibs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:959px){
  .g-hero{padding:56px 0}.g-fit,.g-spec,.g-plan,.g-install,.g-range,.g-faq{padding:64px 0}
  .g-hero-in,.g-plan-in,.g-faq-in{grid-template-columns:minmax(0,1fr);gap:36px}
  .g-vis{aspect-ratio:16/10}
  .g-fit-in{grid-template-columns:minmax(0,1fr)}
  .g-reads{position:static}
  .g-sibs.n3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .g-chips{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .g-chips li{padding:10px 12px}
  .g-chips strong{font-size:14.5px}
  .g-calc{grid-template-columns:minmax(0,1fr);padding:18px}
  .g-steps,.g-sibs,.g-sibs.n2,.g-sibs.n3{grid-template-columns:minmax(0,1fr)}
  .g-fit-col{padding:22px 20px}
  .g-table{font-size:14.5px}
  .g-table th,.g-table td{padding:12px 12px}
  .g-table tbody td:last-child{display:none}
  .g-table thead th:last-child{display:none}
  .g-btns .btn{flex:1 1 100%;text-align:center;justify-content:center}
}
.g-table tbody th{background:transparent!important;color:var(--green)!important;font-size:15px;letter-spacing:0;text-transform:none}
.g-plan .g-table tbody th{color:var(--white)!important}
.g-out b{font-family:Archivo,system-ui,sans-serif;font-size:34px;font-variant-numeric:lining-nums tabular-nums}
.g-h,.g-n,.g-sib strong,.rs-card strong,.art-body h2{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.g-table{min-width:0}
@media (min-width:561px){.g-spec .g-table{min-width:640px}}

/* keyword pass: also-called line under product name */
.g-aka{margin:10px 0 0;font-size:15px;line-height:1.5;color:var(--muted);font-style:italic}

/* phones: roll tables keep their weight column */
@media (max-width:560px){.g-table-s tbody td:last-child,.g-table-s thead th:last-child{display:table-cell}}
