/* Typography only. No box dimensions, spacing, positioning, images or motion rules. */
body{--body:"Montserrat",Arial,sans-serif;font-family:var(--body)}
#main-content{
  --display:"Lora",Georgia,serif;
  --reading:"Montserrat",Arial,sans-serif;
  --review:"Lora",Georgia,serif;
  --type-ui-scale:1;--type-heading-leading:.88;
  --type-heading-tracking:-.035em;
  --type-body-leading:1.4;
  --type-hero-eyebrow:27px;--type-hero-title:39px;--type-hero-subtitle:21px;--type-hero-material:24px;
  --type-promo:69px;--type-ribbon:23px;--type-script:34px;
  --type-before:23px;--type-spaces:29px;--type-bath:31px;--type-sizes:32px;
  --type-material:39px;--type-material-sub:37px;--type-why:24px;
  --type-feedback:21px;--type-review-name:15px;--type-review-copy:10px;--type-review-leading:13px;
  --type-last:34px;--type-commitments:30px;--type-contact:47px;--type-contact-sub:27px;
  --type-body:12px;--type-small:9px;--type-tiny:7px;--type-cta:18px;--type-form:12.6px;
  font-family:var(--body);font-size:var(--type-body);line-height:var(--type-body-leading)
}
#main-content :is(p,li,figcaption,dt,dd,label,input,textarea,button,small,.campaign-brand,.feedback-brand,.number-badge,.depth-medallion){font-family:var(--body)}
#main-content :is(.hero-eyebrow,.hero-subtitle,.hero-material,h1,h2,.section-heading h3,.material-copy h3,.pvd-panel h3,.depth-note h3,.campaign-commitments .section-heading p){
  font-family:var(--display);font-weight:600;font-style:normal;font-synthesis:none;
  letter-spacing:var(--type-heading-tracking);line-height:var(--type-heading-leading);color:#4b210f;text-shadow:none
}
#main-content :is(h1,h2) :is(span,strong){font-family:inherit;font-weight:600;font-synthesis:none;letter-spacing:inherit;line-height:inherit;color:inherit;text-shadow:none}
#main-content .hero-eyebrow{font-size:var(--type-hero-eyebrow)}
#main-content .campaign-hero h1{font-size:var(--type-hero-title)}
#main-content .hero-subtitle{font-size:var(--type-hero-subtitle)}
#main-content .hero-material{font-size:var(--type-hero-material)}
#main-content .promo-copy h2{font-size:var(--type-promo);letter-spacing:var(--type-heading-tracking)}
#main-content .promo-copy .sale-ribbon{font-family:var(--display);font-weight:600;font-size:var(--type-ribbon);line-height:1.15;letter-spacing:-.02em;text-shadow:none}
#main-content .sale-ribbon{font-family:var(--body);font-weight:600;font-size:calc(14px * var(--type-ui-scale,1));line-height:1.15;text-shadow:none}
#main-content .promo-eyebrow{font-size:calc(17px * var(--type-ui-scale,1));font-weight:600;line-height:calc(26.8px * var(--type-ui-scale,1));letter-spacing:.015em}
#main-content .promo-description{font-size:calc(10px * var(--type-ui-scale,1));line-height:calc(17.05px * var(--type-ui-scale,1));letter-spacing:0}
#main-content .promo-note{font-family:"Allura",cursive;font-size:var(--type-script);font-weight:400;line-height:calc(74px * var(--type-ui-scale,1));letter-spacing:0}
#main-content .campaign-before .section-heading h2{font-size:var(--type-before)}
#main-content .campaign-spaces .section-heading h2{font-size:var(--type-spaces)}
#main-content .campaign-bath .section-heading h2{font-size:var(--type-bath)}
#main-content .sizes-heading h2{font-size:var(--type-sizes)}
#main-content .material-copy h2{font-size:var(--type-material)}
#main-content .material-copy h2>span{font-size:var(--type-material-sub)}
#main-content .why-heading h2{font-size:var(--type-why)}
#main-content .feedback-v2 .section-heading h2{font-size:var(--type-feedback)}
#main-content .campaign-promo--last h2{font-size:var(--type-last)}
#main-content .campaign-promo--last h2 .heading-line+.heading-line{font-size:.87em;letter-spacing:inherit;color:#52250f}
#main-content .campaign-commitments .section-heading h2{font-size:var(--type-commitments)}
#main-content .contact-copy h2{font-size:var(--type-contact)}
#main-content .contact-copy h2>span{font-size:var(--type-contact-sub);color:#52250f}
#main-content .section-heading .eyebrow{font-family:var(--display);font-weight:600;font-size:calc(19px * var(--type-ui-scale,1));line-height:1.1;letter-spacing:-.025em;color:#52250f}
#main-content .campaign-bath .section-heading h3{font-size:calc(23px * var(--type-ui-scale,1))}
#main-content .material-copy .eyebrow{font-family:var(--display);font-weight:600;font-size:calc(23px * var(--type-ui-scale,1));line-height:1.05;letter-spacing:-.025em;color:#52250f}
#main-content .material-copy h3{font-size:calc(19px * var(--type-ui-scale,1));line-height:calc(30.45px * var(--type-ui-scale,1))}
#main-content .pvd-panel h3{font-size:calc(14px * var(--type-ui-scale,1));line-height:calc(18.65px * var(--type-ui-scale,1))}
#main-content .depth-note h3{font-size:calc(16px * var(--type-ui-scale,1));line-height:1}
#main-content .campaign-commitments .section-heading p{font-size:calc(20px * var(--type-ui-scale,1));line-height:calc(24.7px * var(--type-ui-scale,1))}
#main-content :is(.section-heading p,.bath-description,.material-description){font-family:var(--body);font-size:var(--type-body);line-height:1.4}
#main-content .serif-italic{font-style:italic}
#main-content .hero-price :is(span,small,strong){font-family:var(--body)}
#main-content .hero-price strong{font-size:calc(34px * var(--type-ui-scale,1));font-weight:700;line-height:calc(39.5px * var(--type-ui-scale,1));letter-spacing:-.035em}
#main-content .hero-price>span{font-size:calc(8px * var(--type-ui-scale,1));line-height:1.2;letter-spacing:-.02em}
#main-content .hero-price small{font-size:calc(8px * var(--type-ui-scale,1))}
#main-content .campaign-benefits li{font-size:var(--type-tiny);line-height:1.3;font-weight:500;letter-spacing:-.015em}
#main-content :is(.material-copy,.pvd-panel) .campaign-benefits li{font-size:calc(6.5px * var(--type-ui-scale,1));line-height:1.3}
#main-content .contact-copy .campaign-benefits li{font-size:calc(5.5px * var(--type-ui-scale,1));line-height:1.3}
#main-content :is(.size-width,.size-height,.size-card figcaption,.versions h3,.versions figcaption,.finish-panel li){font-family:var(--body);font-size:var(--type-tiny);line-height:1.2}
#main-content .versions h3{font-weight:600;font-size:calc(8px * var(--type-ui-scale,1))}
#main-content .size-card figcaption small{font-size:calc(6px * var(--type-ui-scale,1))}
#main-content .finish-panel h3{font-family:var(--body);font-weight:600;font-size:calc(10px * var(--type-ui-scale,1));line-height:1.4}
#main-content .finish-panel li{font-size:calc(5.5px * var(--type-ui-scale,1))}
#main-content .pvd-panel p{font-size:calc(7px * var(--type-ui-scale,1));line-height:1.4}
#main-content .material-note{font-size:var(--type-small);line-height:1.3}
#main-content .space-card figcaption{font-size:var(--type-small);line-height:1.2}
#main-content .space-card:nth-child(n+3) figcaption{font-size:calc(7.5px * var(--type-ui-scale,1))}
#main-content .bath-card figcaption{font-size:calc(8px * var(--type-ui-scale,1));line-height:1.2}
#main-content .depth-note p{font-size:calc(10px * var(--type-ui-scale,1));line-height:1.4}
#main-content .comparison-copy :is(p,li){font-family:var(--body);font-size:calc(11px * var(--type-ui-scale,1));line-height:1.4}
#main-content .comparison-copy h3{font-family:var(--body);font-size:calc(12px * var(--type-ui-scale,1));font-weight:600;line-height:1.1}
#main-content .reason-grid h3{font-family:var(--body);font-size:calc(8px * var(--type-ui-scale,1));font-weight:500;line-height:1.25;letter-spacing:-.01em}
#main-content .reason-grid figure:nth-child(-n+2) h3{font-size:calc(11px * var(--type-ui-scale,1));line-height:1.25}
#main-content .feedback-v2 .review-person :is(h3,h3 strong){font-family:var(--review);font-weight:600;font-style:normal;font-size:var(--type-review-name);line-height:calc(18.48px * var(--type-ui-scale,1));letter-spacing:-.025em;font-synthesis:none}
#main-content .feedback-v2 .review-card blockquote{font-family:var(--review);font-style:italic;font-weight:400;font-size:var(--type-review-copy);line-height:var(--type-review-leading);letter-spacing:-.01em;font-synthesis:none}
#main-content .feedback-v2 .review-location{font-family:var(--body);font-size:calc(11px * var(--type-ui-scale,1));line-height:calc(14.8px * var(--type-ui-scale,1))}
#main-content .feedback-v2 .section-heading p{font-family:var(--body);font-size:calc(11px * var(--type-ui-scale,1));line-height:calc(16px * var(--type-ui-scale,1))}
#main-content .feedback-v2 .reviews-note{font-family:var(--body);font-size:calc(8.3px * var(--type-ui-scale,1));line-height:calc(11.65px * var(--type-ui-scale,1));letter-spacing:-.01em}
#main-content .feedback-handwritten{font-family:"Allura",cursive;font-weight:400;font-size:calc(13px * var(--type-ui-scale,1));line-height:1.05;letter-spacing:0}
#main-content .last-offer :is(p,p:first-child,p:nth-child(2),strong,small){font-family:var(--body)}
#main-content .last-offer p:first-child{font-size:calc(13px * var(--type-ui-scale,1));font-weight:600;line-height:calc(20.8px * var(--type-ui-scale,1));letter-spacing:-.025em}
#main-content .last-offer strong{font-size:calc(57px * var(--type-ui-scale,1));font-weight:700;line-height:calc(67.2px * var(--type-ui-scale,1));letter-spacing:-.04em}
#main-content .last-offer p:nth-child(2){font-size:calc(12px * var(--type-ui-scale,1));line-height:calc(24.36px * var(--type-ui-scale,1));letter-spacing:-.02em;font-weight:500}
#main-content .last-offer small{font-size:calc(9px * var(--type-ui-scale,1));line-height:calc(15.5px * var(--type-ui-scale,1));letter-spacing:-.01em}
#main-content .commitment-layout :is(h3,p){font-family:var(--body);font-size:calc(11px * var(--type-ui-scale,1));font-weight:600;line-height:calc(15.015px * var(--type-ui-scale,1));letter-spacing:-.035em;color:#52250f}
#main-content .commitment-layout li:nth-child(3) p{font-family:var(--display);font-weight:600;font-size:calc(30px * var(--type-ui-scale,1));line-height:calc(36.96px * var(--type-ui-scale,1));letter-spacing:-.035em;text-shadow:none}
#main-content .contact-intro{font-size:calc(8px * var(--type-ui-scale,1));line-height:calc(12.83px * var(--type-ui-scale,1));letter-spacing:1.3px}
#main-content .contact-details dt{font-size:calc(6.8px * var(--type-ui-scale,1));line-height:1.3}
#main-content .contact-details dd{font-size:calc(8px * var(--type-ui-scale,1));line-height:calc(10.83px * var(--type-ui-scale,1))}
#main-content .contact-details dd a{font-family:var(--body);font-size:calc(16px * var(--type-ui-scale,1));font-weight:600;line-height:1.2;letter-spacing:-.035em}
#main-content :is(.campaign-cta,.campaign-form input[type=submit],.campaign-submit),.campaign-dock input[type=submit],.campaign-dock__quote,.campaign-call strong{font-family:"Montserrat",Arial,sans-serif;font-weight:600;text-transform:uppercase}
#main-content .campaign-cta{font-size:var(--type-cta);line-height:calc(23.69px * var(--type-ui-scale,1));letter-spacing:-.025em}
#main-content .commitment-image .campaign-cta{font-size:calc(10px * var(--type-ui-scale,1));line-height:calc(15.12px * var(--type-ui-scale,1));letter-spacing:-.04em}
#main-content .campaign-contact .campaign-cta{font-size:calc(22px * var(--type-ui-scale,1));line-height:calc(30.24px * var(--type-ui-scale,1))}
#main-content .campaign-form input:not([type=submit]),#main-content .campaign-form textarea{font-family:var(--body);font-size:var(--type-form);font-weight:400;line-height:calc(15.12px * var(--type-ui-scale,1));letter-spacing:-.01em}
#main-content .campaign-form input[type=submit]{font-size:calc(14px * var(--type-ui-scale,1));line-height:calc(22.533px * var(--type-ui-scale,1));letter-spacing:-.015em}
.campaign-dock :is(input,.campaign-dock__phone,.campaign-dock__contact>span),.campaign-call strong{font-family:"Montserrat",Arial,sans-serif}
.campaign-dock__phone{font-size:calc(15px * var(--type-ui-scale,1));letter-spacing:-.025em}.campaign-dock__quote{font-size:calc(11px * var(--type-ui-scale,1));letter-spacing:-.03em}.campaign-call strong{font-size:calc(12px * var(--type-ui-scale,1));letter-spacing:-.02em}

/* Phones up to 360px: independent sizes/leading/tracking, not viewport scaling. */
@media(max-width:360px){
  #main-content{--type-ui-scale:.762;--type-heading-leading:.91;--type-heading-tracking:-.04em;--type-body-leading:1.35;
    --type-hero-eyebrow:21px;--type-hero-title:30px;--type-hero-subtitle:16px;--type-hero-material:18px;
    --type-promo:53px;--type-ribbon:18px;--type-script:27px;--type-before:18px;--type-spaces:22px;--type-bath:24px;--type-sizes:25px;
    --type-material:30px;--type-material-sub:29px;--type-why:18px;--type-feedback:16px;--type-review-name:12px;--type-review-copy:8px;--type-review-leading:10px;
    --type-last:26px;--type-commitments:23px;--type-contact:36px;--type-contact-sub:21px;--type-body:9px;--type-small:7px;--type-tiny:5.5px;--type-cta:14px;--type-form:10px}
  #main-content .promo-note{line-height:56px}
}
@media(min-width:361px) and (max-width:399px){
  #main-content{--type-ui-scale:.91;--type-heading-leading:.9;--type-heading-tracking:-.038em;--type-body-leading:1.38;
    --type-hero-eyebrow:24px;--type-hero-title:35px;--type-hero-subtitle:19px;--type-hero-material:21px;
    --type-promo:62px;--type-ribbon:21px;--type-script:30px;--type-before:20px;--type-spaces:26px;--type-bath:28px;--type-sizes:29px;
    --type-material:35px;--type-material-sub:34px;--type-why:21px;--type-feedback:19px;--type-review-name:13.5px;--type-review-copy:9px;--type-review-leading:11.6px;
    --type-last:30px;--type-commitments:27px;--type-contact:42px;--type-contact-sub:24px;--type-body:10.5px;--type-small:8px;--type-tiny:6.3px;--type-cta:16px;--type-form:11.5px}
  #main-content .promo-note{line-height:66px}
}
@media(min-width:400px) and (max-width:767px){
  #main-content{--type-heading-leading:.9;--type-heading-tracking:-.037em;--type-body-leading:1.4}
}
/* Desktop still uses the existing 420px landing-page canvas. */
@media(min-width:768px){
  #main-content{--type-heading-leading:.88;--type-heading-tracking:-.035em;--type-body-leading:1.45}
}
@media(hover:none){#main-content .campaign-form input:not([type=submit]):focus,#main-content .campaign-form textarea:focus{font-size:calc(16px * var(--type-ui-scale,1))}}

/* Matching the original heading line boxes without changing section geometry. */
#main-content{--type-feedback:calc(6.7083cqw);--type-commitments:calc(8.5cqw);--type-last:calc(8.82cqw);--type-review-leading:3.1005cqw}
@media(max-width:360px){#main-content{--type-feedback:6.6346cqw;--type-commitments:8.4066cqw;--type-last:8.723cqw;--type-review-leading:3.304cqw}}
@media(min-width:340px) and (max-width:360px){#main-content{--type-ui-scale:.857;--type-review-copy:9px;--type-review-name:13px}}
@media(min-width:380px) and (max-width:399px){#main-content{--type-ui-scale:.929}}
@media(min-width:400px) and (max-width:419px){#main-content{--type-ui-scale:.986}}
@media(min-width:768px){#main-content{--type-feedback:6.8608cqw;--type-commitments:8.6932cqw;--type-last:9.0205cqw}}
.campaign-dock__contact>span{line-height:17.4px}.campaign-dock__quote{line-height:20.3px}
@media(max-width:360px){.campaign-dock__contact>span{line-height:14.5px}.campaign-dock__quote{line-height:15.95px}}

#main-content .finish-panel h3{line-height:calc(17.052px * var(--type-ui-scale,1))}
#main-content .finish-panel li{line-height:calc(7.56px * var(--type-ui-scale,1))}
@media(hover:none){#main-content .campaign-form input:not([type=submit]):focus,#main-content .campaign-form textarea:focus{font-size:16px}}

/* Match the established text line boxes; section/image/layout declarations stay intact. */
#main-content .material-top .material-copy h3{line-height:35.709px}
#main-content .promo-note{line-height:71.844px}
#main-content .size-card figcaption{line-height:2.07cqw}
#main-content .size-card figcaption small{line-height:1.6675cqw}
#main-content .campaign-form input:not([type=submit]),#main-content .campaign-form textarea{line-height:3.6cqw}
#main-content .campaign-form input[type=submit]{line-height:5.365cqw}
.campaign-dock__contact>span{line-height:15px}.campaign-dock__quote{line-height:19px}
@media(max-width:339px){
  #main-content{--type-review-copy:8.3px}
  #main-content .material-top .material-copy h3{line-height:26.019px}
  #main-content .promo-note{line-height:53.219px}
}
@media(min-width:340px) and (max-width:360px){
  #main-content{--type-review-copy:9.3px}
  #main-content .material-top .material-copy h3{line-height:39.130px}
  #main-content .promo-note{line-height:68.578px}
}
@media(max-width:360px){.campaign-dock__contact>span{line-height:12px}.campaign-dock__quote{line-height:16px}}
@media(min-width:361px) and (max-width:379px){
  #main-content{--type-review-copy:8.7px}
  #main-content .material-top .material-copy h3{line-height:30.749px}
  #main-content .promo-note{line-height:62.6px}
}
@media(min-width:380px) and (max-width:399px){
  #main-content .material-top .material-copy h3{line-height:36.417px}
  #main-content .promo-note{line-height:68.922px}
}
@media(min-width:400px) and (max-width:419px){
  #main-content .material-top .material-copy h3{line-height:16.923px}
  #main-content .promo-note{line-height:69.558px}
}
@media(min-width:768px){
  #main-content .material-top .material-copy h3{line-height:37.236px}
  #main-content .promo-note{line-height:73.219px}
}
@media(min-width:361px) and (max-width:379px){
  #main-content .feedback-v2 .reviews-note{font-size:7.3px}
  #main-content .last-offer small{line-height:12.265px}
}

/* Give Vietnamese accents room in the banner title on phones and desktop. */
#main-content .campaign-hero .hero-copy :is(.hero-eyebrow,h1,.hero-subtitle){line-height:1.3}
