@font-face{font-family:"Aleo";src:url(/theme/type/aleo-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:optional}
@font-face{font-family:"Aleo";src:url(/theme/type/aleo-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:optional}
@font-face{font-family:"Asap";src:url(/theme/type/asap-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:optional}
@font-face{font-family:"Asap";src:url(/theme/type/asap-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:optional}
@font-face{font-family:"Asap";src:url(/theme/type/asap-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:optional}

:root{
  --ink-qu2:#1B1B1B;--ink-soft-qu2:#4a5556;--deep:#3A7A79;--deep-dark:#2c5f5e;--mist-qu2:#78989A;--pale:#F4FCFC;--hair:#d9e6e6;
  --aqua:#69DEDD;--sky:#58A6E8;--paper-qu2:#fff;
  --s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;
  --wide-qu2:1020px;--read:62ch;--r:3px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper-qu2);color:var(--ink-qu2);font:400 18px/1.62 "Asap",system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--deep);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--deep-dark);text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
h1,h2,h3{font-family:"Aleo",Georgia,serif;font-weight:700;line-height:1.2;color:var(--ink-qu2);margin:0}
h1{font-size:2.37rem;letter-spacing:-.01em}
h2{font-size:1.78rem;margin-top:var(--s5);margin-bottom:var(--s2)}
h3{font-size:1.33rem;font-weight:500;margin-top:var(--s4);margin-bottom:var(--s1)}
p,ul,ol,dl,table{margin:0 0 var(--s2)}
li{margin-bottom:6px}
main{display:block}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:var(--s2);top:var(--s2);background:var(--paper-qu2);padding:var(--s1) var(--s2);z-index:30}

/* header: one bar, logo left, menu right */
header{position:relative;z-index:20;border-bottom:1px solid var(--hair);background:var(--paper-qu2)}
header>div{max-width:var(--wide-qu2);margin:0 auto;padding:10px var(--s3);display:flex;align-items:center;gap:var(--s3)}
header .brand{flex:none;display:block}
header .brand img{height:56px;width:auto}
nav{margin-left:auto}
nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
nav>ul>li{position:relative;margin:0}
nav button,nav>ul>li>a{font:500 17px/1 "Asap",sans-serif;color:var(--ink-qu2);background:none;border:0;border-radius:var(--r);padding:14px 12px;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:6px;min-height:44px}
nav button::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
nav button:hover,nav>ul>li>a:hover,nav li.open>button{background:var(--pale);color:var(--deep-dark)}
.pane{position:absolute;top:100%;left:0;padding-top:6px;min-width:260px;display:none}
.pane ul{list-style:none;margin:0;padding:var(--s1) 0;background:var(--paper-qu2);border:1px solid var(--hair);border-radius:6px;box-shadow:0 10px 28px rgba(27,27,27,.10)}
.pane li{margin:0}
.pane a{display:block;padding:10px var(--s2);color:var(--ink-qu2);text-decoration:none;line-height:1.35;font-size:16px}
.pane a:hover,.pane a:focus-visible{background:var(--pale);color:var(--deep-dark)}
nav>ul>li:nth-last-child(-n+3) .pane{left:auto;right:0}
@media (hover:hover) and (min-width:900px){nav>ul>li:not(.hush):hover .pane{display:block}}
nav li.open .pane{display:block}
.ph{display:none}
.burger{display:none;margin-left:auto;font:500 17px/1 "Asap",sans-serif;background:var(--paper-qu2);color:var(--ink-qu2);border:1px solid var(--hair);border-radius:var(--r);padding:0 16px;min-height:44px;cursor:pointer}
@media (max-width:899px){
  header>div{padding:8px var(--s2)}
  header .brand img{height:46px}
  .burger{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper-qu2);border-bottom:1px solid var(--hair);box-shadow:0 12px 24px rgba(27,27,27,.08);max-height:calc(100vh - 60px);overflow:auto}
  header.drawer nav{display:block;min-height:calc(100vh - 62px)}
  nav>ul{flex-direction:column;padding:var(--s1) var(--s2) var(--s3);gap:0}
  nav button{width:100%;justify-content:space-between;padding:12px 4px;font-size:18px}
  .pane{position:static;padding:0;min-width:0}
  nav>ul>li>a{padding:12px 4px;font-size:18px;min-height:48px}
  nav li.ph{display:block}
  .pane ul{border:0;box-shadow:none;padding:0 0 var(--s1) var(--s2)}
  .pane a{padding:12px 4px;font-size:17px}
}

/* page head: centred, a thin water band */
.head{position:relative;text-align:center;padding:var(--s4) var(--s3) var(--s3);background:linear-gradient(180deg,rgba(105,222,221,.16),rgba(88,166,232,.05) 70%,rgba(255,255,255,0))}
.head>*{max-width:var(--wide-qu2);margin-left:auto;margin-right:auto}
.head p{max-width:var(--read);margin:var(--s2) auto 0;color:var(--ink-soft-qu2);font-size:1.08rem}
.crumbs{font-size:15px;color:var(--ink-soft-qu2);margin:0 0 var(--s2)}
.crumbs a{color:var(--ink-soft-qu2)}

.wrap{max-width:var(--wide-qu2);margin:0 auto;padding:0 var(--s3)}
.read{max-width:var(--read);margin:0 auto}
.band{background:var(--pale);padding:var(--s4) 0;margin:var(--s4) 0}
.band h2:first-child{margin-top:0}
figure{margin:var(--s3) 0 var(--s4)}
dl.facts+figure{margin-top:0}
figure img{border-radius:6px;width:100%}

/* key facts */
dl.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);margin:var(--s3) auto var(--s4);max-width:920px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:var(--s3) 0}
dl.facts div{min-width:0}
dl.facts.three{grid-template-columns:repeat(3,minmax(0,1fr))}
dl.facts dt{font-size:15px;color:var(--ink-soft-qu2);margin-bottom:4px}
dl.facts dd{margin:0;font-family:"Aleo",Georgia,serif;font-weight:500;font-size:1.15rem;line-height:1.3}
@media (max-width:900px){dl.facts,dl.facts.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){dl.facts,dl.facts.three{gap:var(--s2) var(--s3)}dl.facts dd{font-size:1.02rem}}
.go{text-align:center;margin:0 auto var(--s4)}
.shades{list-style:none;padding:0;margin:0 auto var(--s3);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);max-width:var(--read)}
.shades li{margin:0;text-align:center;font-weight:600;font-size:16px}
.shades img{border-radius:6px;aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:6px}

ol.steps{padding-left:1.3em}
ol.steps li{margin-bottom:var(--s2);padding-left:6px}
ol.steps li::marker{font-family:"Aleo",Georgia,serif;font-weight:700;color:var(--deep)}

table{width:100%;border-collapse:collapse;font-size:16px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--hair);vertical-align:top}
th{font-weight:600;color:var(--ink-qu2);background:var(--pale)}
td strong{font-weight:600}
.scroll{margin:0 0 var(--s3)}
.scroll.read{margin:0 auto var(--s3)}
.facts dd small{display:block;font-family:"Asap",sans-serif;font-size:15px;font-weight:400;color:var(--ink-soft-qu2);margin-top:4px}
@media (max-width:700px){.scroll{overflow-x:auto}}

.more{list-style:none;padding:0;margin:var(--s2) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px var(--s3)}
.more li{margin:0}
.more a{display:inline-block;padding:8px 0}
@media (max-width:640px){.more{grid-template-columns:1fr}}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:var(--r);background:var(--deep);color:#fff;font:600 17px/1 "Asap",sans-serif;text-decoration:none;border:0;cursor:pointer}
.button:hover{background:var(--deep-dark);color:#fff}

/* troubleshooter */
#fixer{max-width:912px;margin:var(--s3) auto 0;padding:0 var(--s2);text-align:center}
#fixer .where{font-size:15px;color:var(--ink-soft-qu2);margin:0 0 var(--s1)}
#fixer h2{margin:0 0 var(--s3);font-size:1.5rem}
.looks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.looks li{margin:0}
.looks a,.looks button{display:block;width:100%;padding:0;border:1px solid var(--hair);box-shadow:0 1px 3px rgba(27,27,27,.06);border-radius:8px;background:var(--paper-qu2);cursor:pointer;text-align:left;text-decoration:none;color:var(--ink-qu2);font:inherit;overflow:hidden;transition:border-color .15s,transform .15s}
.looks a:hover,.looks button:hover,.looks a:focus-visible{border-color:var(--deep);box-shadow:0 4px 14px rgba(58,122,121,.18);transform:translateY(-2px)}
.looks img{aspect-ratio:4/3;object-fit:cover;width:100%}
.looks span{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 12px;font-weight:500;font-size:17px}
.looks span::after{content:"";width:8px;height:8px;border-right:2px solid var(--deep);border-top:2px solid var(--deep);transform:rotate(45deg);flex:none;margin-left:8px}
@media (max-width:640px){.looks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.looks span{font-size:16px;padding:8px 10px 10px}}
.answers{list-style:none;padding:0;margin:0 auto;max-width:560px;display:grid;gap:10px}
.answers li{margin:0}
.answers button{width:100%;min-height:56px;padding:12px 18px;border:1px solid var(--hair);border-radius:8px;background:var(--paper-qu2);font:500 17px/1.3 "Asap",sans-serif;color:var(--ink-qu2);cursor:pointer;text-align:left}
.answers button:hover{border-color:var(--deep);background:var(--pale)}
.back{margin-top:var(--s3);background:none;border:0;color:var(--deep);font:500 16px "Asap",sans-serif;cursor:pointer;min-height:44px;padding:0 8px;text-decoration:underline;text-underline-offset:3px}
#plan{text-align:left;max-width:var(--read);margin:0 auto}
#plan:empty{display:none}
#plan .verdict{font-family:"Aleo",Georgia,serif;font-weight:700;font-size:1.7rem;line-height:1.25;margin:0 0 var(--s1)}
#plan .why{color:var(--ink-soft-qu2);margin-bottom:var(--s3)}
#plan .size{background:var(--pale);border-radius:8px;padding:var(--s2) var(--s3);margin:0 0 var(--s3)}
#plan label{display:block;font-weight:600;margin-bottom:6px}
#plan input,#plan select{font:400 18px "Asap",sans-serif;min-height:48px;padding:0 12px;border:1px solid #9fb5b6;border-radius:var(--r);background:#fff;color:var(--ink-qu2);width:100%;max-width:260px}
#plan .row{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:end}
#plan .row>div{flex:1 1 140px}
#plan .row input{max-width:none}
#plan .hint{font-size:15px;color:var(--ink-soft-qu2);margin:6px 0 0}
#plan .linkish{background:none;border:0;padding:0;color:var(--deep);font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
#plan .dose{font-size:1.25rem;font-weight:600;color:var(--deep-dark)}
#plan .time{font-family:"Aleo",Georgia,serif;font-weight:500;font-size:1.1rem}
#plan .redo{margin-top:var(--s3);display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}

/* footer: split, tinted legal strip */
footer{margin-top:var(--s5);border-top:1px solid var(--hair);font-size:14px}
footer .top{max-width:var(--wide-qu2);margin:0 auto;padding:var(--s4) var(--s3);display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:var(--s3)}
footer .about img{width:44px;height:44px;margin-bottom:var(--s1)}
footer .about p{color:var(--ink-soft-qu2);max-width:30ch;font-size:15px}
footer .fh{font-family:"Asap",sans-serif;font-size:14px;font-weight:600;margin:0 0 var(--s1);color:var(--ink-qu2)}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:0}
footer a{color:var(--ink-qu2);text-decoration:none;display:inline-block;padding:5px 0}
footer a:hover{color:var(--deep);text-decoration:underline}
footer .legal{background:var(--pale);color:var(--ink-soft-qu2)}
footer .legal>div{max-width:var(--wide-qu2);margin:0 auto;padding:var(--s2) var(--s3);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);align-items:center}
footer .legal a{color:var(--ink-soft-qu2)}
footer .legal span{margin-right:auto}
@media (max-width:820px){footer .top{grid-template-columns:repeat(2,minmax(0,1fr))}footer .about{grid-column:1/-1}}

@media (max-width:640px){
  body{font-size:17px}
  h1{font-size:2rem}
  h2{font-size:1.5rem;margin-top:var(--s4)}
  .head{padding:var(--s4) var(--s2) var(--s2)}
  .wrap{padding:0 var(--s2)}
  #plan .verdict{font-size:1.45rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

@media (max-width:640px){
  table.keep{font-size:14px}
  table.keep th,table.keep td{padding:8px 6px}
  table.stack thead{position:absolute;left:-9999px}
  table.stack,table.stack tbody,table.stack tr,table.stack td,table.stack th{display:block;width:100%}
  table.stack tr{border-bottom:1px solid var(--hair);padding:10px 0}
  table.stack td,table.stack th{border:0;padding:3px 0}
  table.stack td::before{content:attr(data-label);display:block;font-size:14px;color:var(--ink-soft-qu2)}
  table.stack tr>*:first-child{font-weight:600}
}
@media print{
  header,footer,.skip,.noprint{display:none!important}
  body{font-size:12pt}
    .head{padding:0 0 8pt}
  h2{margin-top:10pt;font-size:14pt}
  table{font-size:9pt}
  th,td{padding:3pt 5pt}
  .chart img{max-height:4.2in;width:auto;margin:0 auto}
  .printfoot{display:block!important;font-size:10pt;margin-top:8pt}
  @page{size:letter;margin:0.45in}
}
.printfoot{display:none}
.sizer{background:var(--pale);border-radius:8px;padding:var(--s2) var(--s3);margin:0 auto var(--s4)}
.sizer label{display:block;font-weight:600;margin-bottom:6px}
.sizer input{font:400 18px "Asap",sans-serif;min-height:48px;padding:0 12px;border:1px solid #9fb5b6;border-radius:var(--r);background:#fff;color:var(--ink-qu2);width:100%;max-width:260px}
.sizer output{display:block}
.sizer output p{margin:var(--s2) 0 6px}
.sizer output ul{margin:0;padding-left:1.1em}
.sizer output strong{font-size:1.15rem;color:var(--deep-dark)}
@media (max-width:640px){.shades{gap:8px}.shades li{font-size:14px}}
.shades{max-width:560px}
.note{font-size:16px;color:var(--ink-soft-qu2)}
.sizer .linkish{display:block;background:none;border:0;padding:0;margin-top:6px;color:var(--deep);font:inherit;font-size:16px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.sizer .shape{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s2);margin:var(--s1) 0}
.sizer .shape label{font-weight:500;font-size:16px}
.sizer .shape select,.sizer .shape input{display:block;margin-top:4px;width:100%;font:400 17px "Asap",sans-serif;min-height:44px;padding:0 10px;border:1px solid #9fb5b6;border-radius:var(--r);background:#fff}
caption{caption-side:top;text-align:left;font-size:15px;color:var(--ink-soft-qu2);padding:0 0 8px}
ul.cue{list-style:none;padding:var(--s2) var(--s3);background:var(--pale);border-radius:8px}
ul.cue li{margin:4px 0}
ul.cue strong{font-weight:600}
tr.unit td{font-size:14px;color:var(--ink-soft-qu2);background:var(--pale);padding-top:4px;padding-bottom:6px}
@media (max-width:900px){dl.facts.three div:last-child{grid-column:1/-1}}
@media (max-width:640px){
  dl.facts.three{padding:var(--s2) 0;margin:var(--s2) auto}
}
th img.shade{display:block;width:100%;max-width:150px;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin:0 0 6px}
@media (max-width:640px){th img.shade{max-width:84px;margin-bottom:4px}.sizer{padding:12px var(--s2);margin-bottom:var(--s3)}}
dl.facts.narrow{max-width:var(--read)}
.contact{list-style:none;padding:0}
.contact li{margin:2px 0}

.sizer .unit{margin-left:10px;color:var(--ink-soft-qu2)}
.sizer input{width:calc(100% - 80px)}
.sizer output p.for{margin:var(--s2) 0 6px;font-weight:600}
.sizer output p{margin:0 0 4px}
.sizer output p.alt{font-size:15px;color:var(--ink-soft-qu2);margin-top:6px}
.sizer:has(+ dl.facts){margin-bottom:0}
.sizer + dl.facts{margin-top:var(--s2)}
.sizer .linkish{min-height:40px;margin-top:2px}
.sizer .linkish{width:100%;text-align:left}
