/* The AARC partner program, a partner's own page, and a client's quote.
   Built on aarc.css and the site's tokens. No inline styles anywhere: the
   site's CSP is style-src 'self'. */

.ap{padding:calc(var(--nav-h) + 64px) 0 110px;background:radial-gradient(900px 520px at 50% 0%,rgba(237,168,59,.1),transparent 70%),var(--void)}
.ap h1{font-size:clamp(38px,5vw,68px);letter-spacing:-.055em;line-height:1.04;margin:16px 0 0;color:#fff;font-weight:500;text-wrap:balance}
.ap h1 span{color:var(--mist)}
.ap h2{font-size:clamp(28px,3vw,40px)}
.ap h3{font-size:20px;letter-spacing:-.02em;color:#fff;font-weight:500;margin:0}
.ap-head{max-width:820px}
.ap-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ap-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start;margin-top:72px}
.ap-steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ap-steps li{padding:24px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}
.ap-steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#08090b;font:600 15px/1 Arial,Helvetica,sans-serif;margin-bottom:16px}
.ap-steps p,.ap-facts p{margin-top:8px;font-size:15.5px;line-height:1.6;color:var(--mist)}
.ap-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:56px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.ap-facts>div{padding:22px 24px;border-left:1px solid var(--line)}
.ap-facts>div:first-child{border-left:0}
.ap-facts b{display:block;font-family:var(--cond);font-weight:600;font-size:44px;line-height:1;color:var(--gold)}
.ap-facts span{display:block;margin-top:8px;font-size:14px;line-height:1.45;color:#dfe4ea}
.ap-terms{margin:0;padding:0 0 0 20px;display:grid;gap:14px;font-size:15.5px;line-height:1.65;color:#c4cbd3}
.ap-terms b{color:#fff;font-weight:600}
.ap-note{margin-top:16px;font-size:13.5px;line-height:1.55;color:var(--mist)}
.ap-note a,.ap-terms a,.ap-lead a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.ap-check{display:flex;gap:10px;align-items:flex-start;margin:6px 0 18px;font-size:14.5px;line-height:1.5;color:#dfe4ea;cursor:pointer}
.ap-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--gold)}
.ap-again-form{margin-top:20px}
.ap-again-form .ap-note{margin-top:-8px}

/* a partner's own page */
.ap-state{margin-top:18px;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,180,162,.45);background:rgba(255,180,162,.08);color:#ffd2c7;font-size:15px}
.ap-share{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:36px}
.ap-share .ac-card{padding:24px}
.ap-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}
.ap-copy output{display:flex;align-items:center;min-height:48px;padding:0 14px;border-radius:6px;border:1px solid #333c48;background:#0a0c10;color:#fff;font-family:var(--mono);font-size:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ap-copy output.big{font-family:var(--cond);font-weight:600;font-size:30px;letter-spacing:.06em;color:var(--gold)}
.ap-figs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.ap-figs>div{padding:18px 18px 16px;border-left:1px solid var(--line)}
.ap-figs>div:first-child{border-left:0}
.ap-figs b{display:block;font-family:var(--cond);font-weight:600;font-size:32px;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.ap-figs .is-gold b{color:var(--gold)}
.ap-figs span{display:block;margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}
.ap-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.ap-table th{text-align:left;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);padding:0 12px 10px 0;border-bottom:1px solid var(--line)}
.ap-table td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);color:#dfe4ea;vertical-align:top}
.ap-table td small{display:block;margin-top:3px;font-size:12.5px;color:var(--mist)}
.ap-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0}
.ap-table th.num{padding-right:0}
.ap-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid #39424f;color:#dfe4ea;white-space:nowrap}
.ap-pill.is-pending{border-color:rgba(237,168,59,.5);color:var(--gold-hi)}
.ap-pill.is-approved{border-color:rgba(159,211,245,.5);color:#bfe3fa}
.ap-pill.is-paid{border-color:rgba(169,228,184,.5);color:#c9f0d3}
.ap-pill.is-void{color:var(--mist)}
.ap-empty{margin-top:16px;padding:22px;border-radius:8px;border:1px dashed #39424f;color:var(--mist);font-size:15px;line-height:1.6}
.ap-section{margin-top:64px}
.ap-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}

/* a client's quote */
.aq{max-width:860px}
.aq-doc{margin-top:28px;padding:36px;border-radius:12px;background:#fff;color:#14171a;box-shadow:0 40px 90px -40px #000}
.aq-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:22px;border-bottom:2px solid #14171a}
.aq-top img{width:150px;height:auto;filter:invert(1) hue-rotate(180deg)}
.aq-top h2{margin:10px 0 0;font-size:26px;letter-spacing:-.03em;color:#14171a;font-weight:600}
.aq-meta{margin:0;display:grid;grid-template-columns:auto auto;gap:4px 16px;font-size:13.5px;text-align:right}
.aq-meta dt{color:#5c6470}
.aq-meta dd{margin:0;font-weight:600}
.aq-for{margin:22px 0 0;font-size:15px;line-height:1.55}
.aq-for b{display:block;font-size:17px}
.aq-note{margin-top:16px;padding:14px 16px;border-left:3px solid #eda83b;background:#faf6ec;font-size:15px;line-height:1.6;white-space:pre-line}
.aq-lines{width:100%;border-collapse:collapse;margin-top:24px;font-size:15px}
.aq-lines th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5c6470;font-weight:600;padding:0 0 8px;border-bottom:1px solid #d6dae0}
.aq-lines td{padding:12px 0;border-bottom:1px solid #e4e7ea;vertical-align:top}
.aq-lines .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.aq-lines td small{display:block;color:#5c6470;font-size:13px;margin-top:2px}
.aq-lines tr.is-off td{color:#1f7a3d}
.aq-lines tr.is-total td{border-bottom:0;border-top:2px solid #14171a;font-size:20px;font-weight:700;padding-top:14px}
.aq-small{margin-top:16px;font-size:13px;line-height:1.6;color:#5c6470}
.aq-small a{color:#1a4480;text-decoration:underline}
.aq-accepted{margin-top:22px;padding:16px 18px;border-radius:8px;background:#eaf6ee;border:1px solid #b9dfc5;color:#14532d;font-size:15px;line-height:1.55}
.aq-closed{margin-top:22px;padding:16px 18px;border-radius:8px;background:#fdf1ee;border:1px solid #f1c8bf;color:#7a2c1b;font-size:15px;line-height:1.55}
.aq-act{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.aq-act .ac-card{padding:24px}
.aq-act:has([data-card][hidden]){grid-template-columns:minmax(0,1fr)}
.aq-act h3{margin-bottom:8px}
.aq-act p{font-size:14.5px;line-height:1.55;color:var(--mist)}
.aq-act .ac-btn{margin-top:16px}
.aq-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

@media (max-width:1060px){
  .ap-grid,.ap-two{grid-template-columns:minmax(0,1fr);gap:40px}
  .ap-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-facts>div:nth-child(3){border-left:0}
  .ap-facts>div:nth-child(n+3){border-top:1px solid var(--line)}
  .ap-figs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ap-figs>div:nth-child(4){border-left:0}
  .ap-figs>div:nth-child(n+4){border-top:1px solid var(--line)}
}
@media (max-width:760px){
  .ap{padding:calc(var(--nav-h) + 36px) 0 80px}
  .ap-steps,.ap-share,.aq-act{grid-template-columns:minmax(0,1fr)}
  .ap-grid{margin-top:48px}
  .ap-actions .ac-btn{width:100%}
  .ap-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-figs>div:nth-child(odd){border-left:0}
  .ap-figs>div:nth-child(4){border-left:1px solid var(--line)}
  .ap-figs>div:nth-child(n+3){border-top:1px solid var(--line)}
  .ap-table thead{display:none}
  .ap-table,.ap-table tbody,.ap-table tr,.ap-table td{display:block}
  .ap-table tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .ap-table td{padding:2px 0;border:0}
  .ap-table .num{text-align:left}
  .aq-doc{padding:22px 18px;margin-left:-8px;margin-right:-8px}
  .aq-top{flex-direction:column}
  .aq-meta{text-align:left}
  /* The Each column stays in the table at no width, so the rows that span it still line up. */
  .aq-lines .aq-each{width:0;max-width:0;padding:0!important;font-size:0;overflow:hidden;white-space:nowrap}
}
@media print{
  body.ac{background:#fff}
  .ac-nav,.site-footer,.aq-act,.aq-tools,.ap h1,.ap .ac-eyebrow,.ap-lead,.skip{display:none!important}
  .ap{padding:0;background:none}
  .aq-doc{box-shadow:none;margin:0;padding:0}
}

/* Quote: several systems, options, the team contact, the team's preview */
.aq-preview{margin-top:20px;padding:12px 16px;border-radius:8px;border:1px dashed rgba(237,168,59,.7);background:rgba(237,168,59,.1);color:#ffd79a;font-size:14.5px;line-height:1.5}
.aq-lines tr.aq-system td{background:#f6f7f9;padding-left:12px;padding-right:12px}
.aq-lines tr.aq-system b{font-size:16px}
.aq-lines tr.aq-system.is-out td{color:#5c6470}
.aq-lines tr.aq-system small a{color:#1a4480;text-decoration:underline}
.aq-lines tr.aq-sub td{padding:16px 0 6px;border-bottom:1px solid #d6dae0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5c6470;font-weight:600}
.aq-opt{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-weight:600;font-size:16px}
.aq-opt input{width:20px;height:20px;margin:1px 0 0;accent-color:#b8791c;flex:none}
.aq-opt em{display:block;font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a5a12;font-weight:700}
.aq-contact{margin-top:18px;font-size:14.5px;color:#14171a}
.aq-contact a{color:#1a4480;text-decoration:underline}
@media print{.aq-preview{display:none}}
.aq-lines .num{padding-left:14px}

/* Quote: each layout drawn and measured */
.aq-details{margin-top:30px;padding-top:22px;border-top:2px solid #14171a}
.aq-details h2{margin:0;font-size:20px;letter-spacing:-.02em;color:#14171a;font-weight:600}
.aq-area{margin-top:6px;font-size:15px;font-weight:600;color:#14171a}
.aq-detail{margin-top:18px;padding:16px;border:1px solid #d6dae0;border-radius:8px;break-inside:avoid}
.aq-detail h3{margin:0;font-size:17px;color:#14171a;font-weight:600}
.aq-detail h3 small{margin-left:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a5a12;font-weight:700}
.aq-detail-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;margin-top:12px;align-items:start}
.aq-plan{margin:0}
.aq-plan svg{display:block;width:100%;height:auto;max-height:320px;background:#f6f7f9;border:1px solid #e4e7ea;border-radius:6px}
.aq-plan figcaption{margin-top:6px;font-size:12px;color:#5c6470}
.aq-facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;line-height:1.4}
.aq-facts dt{color:#5c6470}
.aq-facts dd{margin:0;font-weight:600;color:#14171a}
.aq-rooms{margin-top:12px;font-size:13px;line-height:1.55;color:#5c6470}
.qp-p{stroke:#14171a;stroke-width:3.2;stroke-linecap:square}
.qp-h{stroke:#7b8794;stroke-width:3.2;stroke-linecap:square}
.qp-w{stroke:#2f7fc1;stroke-width:3.2;stroke-linecap:square}
.qp-o{stroke:#b8791c;stroke-width:1.4;stroke-dasharray:3 3}
.qp-t{stroke:#b8791c;stroke-width:1.6}
.qp-d{stroke:#b8791c;stroke-width:2.8}
.qp-f{stroke:#aab2bd;stroke-width:1.2;stroke-dasharray:6 3}
.qp-T{stroke:#c0392b;stroke-width:2.2}
.qp-M{stroke:#7d4fd1;stroke-width:2.2}
@media (max-width:700px){.aq-detail-body{grid-template-columns:minmax(0,1fr)}}
.aq-from{margin-top:12px;font-style:normal;font-size:13.5px;line-height:1.5;color:#3c444e}
.aq-from b{display:block;color:#14171a;font-size:14.5px}
.aq-from span{display:block}
.aq-from a{color:#1a4480;text-decoration:underline}
.aq-details h2,.aq-area{break-after:avoid}

/* The printed or saved quote holds only what is in the total: an option the
   client has not added is left off, and the tick boxes with it. */
@media print{
  .aq-lines tr.aq-system.is-out,.aq-detail.is-out{display:none}
  .aq-opt input{display:none}
  .aq-opt em,.aq-detail h3 small{display:none}
  .aq-opt{cursor:auto}
}

/* Quote options: plainly something to select */
.aq-lines tr.aq-system.is-option td{background:#fdf6e7;border-top:2px solid #e3b965;border-bottom:2px solid #e3b965}
.aq-lines tr.aq-system.is-option td:first-child{border-left:5px solid #eda83b}
.aq-lines tr.aq-system.is-option.is-on td{background:#eef8f0;border-color:#86c79a}
.aq-lines tr.aq-system.is-option.is-on td:first-child{border-left-color:#2e8b4e}
.aq-lines tr.aq-system.is-option.is-out td{color:#14171a}
.aq-opt{gap:14px;align-items:center}
.aq-opt input{width:30px;height:30px;margin:0;accent-color:#2e8b4e;cursor:pointer;outline:2px solid #b8791c;outline-offset:2px;border-radius:4px}
.aq-opt input:checked{outline-color:#2e8b4e}
.aq-opt input:disabled{outline-color:#c9cdd3;cursor:default}
.aq-opt:hover input:not(:disabled){outline-width:3px}
.aq-opt em{display:inline-block;margin-bottom:4px;padding:3px 8px;border-radius:999px;background:#eda83b;color:#1b1300;font-size:11px}
.aq-lines tr.aq-system.is-option.is-on .aq-opt em{background:#2e8b4e;color:#fff}
.aq-lines tr.aq-system.is-option small{margin-left:44px}
.aq-lines tr.aq-pick td{padding:14px 16px;border:2px dashed #b8791c;border-radius:8px;background:#fdf6e7;color:#14171a;font-size:16px;text-align:center}
.aq-lines tr.aq-pick b{color:#8a5a12}
@media print{
  .aq-lines tr.aq-system.is-option td,.aq-lines tr.aq-system.is-option.is-on td{background:#f6f7f9;border-top:0;border-bottom:1px solid #e4e7ea}
  .aq-lines tr.aq-system.is-option td:first-child{border-left:0}
  .aq-lines tr.aq-system.is-option small{margin-left:0}
  .aq-lines tr.aq-pick{display:none}
}
.aq-doc{color-scheme:light}
.aq-opt input{background:#fff}
.aq-opt em{display:block;width:fit-content}

/* The demo partner page */
.ap-demo{margin-bottom:26px;padding:14px 18px;border-radius:10px;border:1px dashed rgba(237,168,59,.7);background:rgba(237,168,59,.1);color:#ffe2b0;font-size:15px;line-height:1.55}
.ap-demo b{color:#fff}
.ap-track{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ap-track li{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.ap-track li>b{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#1b1300;font-family:var(--mono);font-size:14px}
.ap-track h3{margin-top:12px;font-size:16.5px;line-height:1.3}
.ap-track p{margin-top:8px;font-size:14px;line-height:1.55;color:var(--mist)}
.ap-demo-end{text-align:center}
.ap-demo-end .ac-lead{margin-left:auto;margin-right:auto}
.ap-demo-end .ap-actions{justify-content:center}
@media (max-width:1060px){.ap-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ap-track{grid-template-columns:minmax(0,1fr)}}
