*{box-sizing:border-box}

  html{
    margin:0;
    padding:0;
    min-height:100%;
    background:var(--color-background-base);
  }

  body{
    position:relative;
    isolation:isolate;
    margin:0;
    min-height:100dvh;
    background:transparent;
    color:var(--prelaunch-color-text-primary);
    font-family:var(--font-mono);
    overflow-x:hidden;
  }

  body::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    z-index:-1;
    height:100%;
    min-height:100vh;
    min-height:100lvh;
    pointer-events:none;
    background-color:var(--color-background-base);
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .03'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),
      linear-gradient(
        200deg,
        transparent 18%,
        rgba(0,0,0,.08) 42%,
        rgba(0,0,0,.15) 58%,
        transparent 82%
      ),
      linear-gradient(
        180deg,
        #1E1E1E 0%,
        rgba(0,0,0,.14) 28%,
        rgba(0,0,0,.28) 68%,
        #1E1E1E 100%
      );
    background-size:160px 160px,100% 100%,100% 100%;
    background-repeat:repeat,no-repeat,no-repeat;
  }

  @media (max-width:767px){
    body::before{background-image:none}
  }

  a{color:inherit;text-decoration:none}

  .page{
    min-height:100dvh;
    background:transparent;
  }

  /* 02. Site header */
  .site-header{
    width:min(100%,var(--prelaunch-shell-max-width));
    height:76px;
    margin:0 auto;
    display:flex;
    align-items:center;
    padding:clamp(32px,3.6vw,48px) clamp(32px,5.6vw,80px) 0;
  }

  .site-header.has-language{
    justify-content:space-between;
  }

  .site-language{
    color:var(--prelaunch-color-text-muted);
    font-family:var(--menu-item-font-family);
    font-size:var(--caption-web);
    font-weight:var(--menu-item-weight);
    line-height:var(--caption-line-height);
    letter-spacing:var(--menu-item-letter-spacing);
    transition:color 160ms ease;
    transform:translateY(6px);
  }

  .site-language:hover,
  .site-language:focus-visible{
    color:var(--prelaunch-color-text-primary);
  }

  .site-language:focus-visible{
    outline:1px solid var(--prelaunch-color-text-muted);
    outline-offset:6px;
  }

  .brand{
    display:inline-flex;
    align-items:flex-end;
    gap:8px;
    line-height:0;
    border-radius:8px;
  }

  .brand-status{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:1px;
    color:var(--prelaunch-color-text-muted);
    font-family:var(--font-suranna-serif);
    font-size:13px;
    font-style:italic;
    font-weight:400;
    line-height:1;
    letter-spacing:.01em;
    white-space:nowrap;
  }

  .brand-status-rule{
    width:28px;
    height:1px;
    background:rgba(217,211,202,.16);
  }

  .brand:focus-visible{
    outline:1px solid var(--prelaunch-color-text-muted);
    outline-offset:8px;
  }

  .brand-logo{
    display:block;
    width:148px;
    height:auto;
    opacity:.94;
  }

  /* 03. Hero */
  .hero{
    min-height:calc(100dvh - 76px);
    width:min(100%,var(--prelaunch-shell-max-width));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
    gap:clamp(76px,6.5vw,112px);
    align-items:start;
    padding:clamp(188px,22vh,296px) clamp(32px,5.6vw,80px) 92px;
  }

  .hero-visual{
    position:relative;
    width:min(92%,696px);
    justify-self:center;
    align-self:start;
    margin-top:-18px;
  }

  .hero-art{
    display:block;
    width:100%;
    height:auto;
    opacity:.9;
    user-select:none;
    -webkit-user-drag:none;
  }

  .hero-copy{
    width:min(100%,680px);
    justify-self:center;
    align-self:start;
    padding-top:0;
  }

  .eyebrow{
    margin:0 0 16px;
    color:var(--prelaunch-color-text-muted);
    font-size:var(--prelaunch-kicker-font-size);
    letter-spacing:var(--prelaunch-kicker-letter-spacing);
    text-transform:uppercase;
  }

  h1{
    margin:0 0 22px;
    font-family:var(--font-display);
    font-size:var(--prelaunch-hero-title-base);
    line-height:var(--prelaunch-hero-title-line-height);
    letter-spacing:var(--prelaunch-hero-title-letter-spacing);
    font-weight:var(--prelaunch-hero-title-weight);
  }

  @media (min-width:768px){
    h1{font-size:var(--prelaunch-hero-title-tablet);}
  }

  @media (min-width:1024px){
    h1{font-size:var(--prelaunch-hero-title-web);}
  }

  @media (min-width:921px){
    .hero-copy{
      padding-top: clamp(60px, 10vh, 120px);
    }
  }

  .hero-subheading{
    max-width:560px;
    margin:0 0 44px;
    color:var(--prelaunch-color-text-secondary);
    font-family:var(--font-suranna-serif);
    font-size:var(--prelaunch-subheading-mobile);
    font-weight:var(--prelaunch-subheading-weight);
    line-height:var(--prelaunch-subheading-line-height);
    letter-spacing:var(--prelaunch-subheading-letter-spacing);
  }

  @media (min-width:768px){
    .hero-subheading{font-size:var(--prelaunch-subheading-tablet);}
  }

  @media (min-width:1024px){
    .hero-subheading{font-size:var(--prelaunch-subheading-web);}
  }

  .hero-subheading-brand{font-style:italic;white-space:nowrap}
  .hero-subheading-brand .tap{color:var(--prelaunch-color-accent-muted)}
  .hero-subheading-brand .rsvp{color:var(--prelaunch-color-text-primary)}

  /* 04. Host relief statement */
  .host-relief{
    min-height:100dvh;
    display:flex;
    align-items:center;
  }

  .host-relief-inner{
    position:relative;
    min-height:clamp(580px,76vh,800px);
  }

  .host-relief-heading{
    position:absolute;
    top:23%;
    left:6%;
    margin:0;
  }

  .host-relief-heading span{
    display:block;
  }

  .host-relief-heading span:first-child{
    color:var(--prelaunch-color-text-secondary);
    font-family:var(--font-suranna-serif);
    font-size:var(--prelaunch-subheading-mobile);
    font-style:italic;
    font-weight:var(--prelaunch-subheading-weight);
    line-height:var(--prelaunch-subheading-line-height);
    letter-spacing:var(--prelaunch-subheading-letter-spacing);
  }

  .host-relief-heading span:last-child{
    margin-top:4px;
    margin-left:.72em;
    color:var(--prelaunch-color-text-primary);
    font-family:var(--font-display);
    font-size:var(--prelaunch-section-title-size);
    font-style:normal;
    font-weight:var(--prelaunch-section-title-weight);
    line-height:var(--prelaunch-section-title-line-height);
    letter-spacing:var(--prelaunch-section-title-letter-spacing);
  }

  @media (min-width:768px){
    .host-relief-heading span:first-child{font-size:var(--prelaunch-subheading-tablet);}
  }

  @media (min-width:1024px){
    .host-relief-heading span:first-child{font-size:var(--prelaunch-subheading-web);}
  }

  .host-relief-steps{
    position:absolute;
    right:7%;
    bottom:27%;
    width:min(50%,620px);
    display:grid;
    gap:30px;
  }

  .host-relief-step{
    position:relative;
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:18px;
    align-items:center;
  }

  .host-relief-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:45px;
    bottom:-30px;
    left:28px;
    width:1px;
    background:rgba(234,231,224,.2);
  }

  .host-relief-step-number{
    position:relative;
    z-index:1;
    display:inline-flex;
    width:57px;
    justify-content:center;
    background:transparent;
    color:var(--prelaunch-color-accent-muted);
    font-family:var(--font-display);
    font-size:38px;
    font-weight:var(--prelaunch-step-number-weight);
    line-height:1;
  }

  .host-relief-step p{
    margin:0;
    color:var(--prelaunch-color-text-secondary);
    font-family:var(--font-mono);
    font-size:var(--prelaunch-step-body-size);
    font-weight:var(--prelaunch-step-body-weight);
    line-height:var(--prelaunch-step-body-line-height);
    letter-spacing:var(--prelaunch-step-body-letter-spacing);
  }

  @media (min-width:921px){
    .host-relief-step p{transform:translateY(6px);}
  }

  /* 05. Shared full-page sections */
  .section{
    padding:0 clamp(32px,5.6vw,80px);
  }

  .section-inner{
    max-width:1320px;
    margin:0 auto;
    width:100%;
  }

  .positioning,
  .addons,
  .final-cta{
    min-height:100dvh;
    display:flex;
    align-items:center;
  }

  .addons .section-inner{
    padding-top:0;
    text-align:left;
  }

  .final-cta .section-inner{
    text-align:center;
    padding-top:0;
  }

  /* 05. Positioning section */
  .positioning{
    padding-top:54px;
    padding-bottom:90px;
  }

  .positioning .section-inner{
    max-width:1080px;
    padding-top:0;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .positioning-rule{
    display:block;
    flex:0 0 auto;
    width:0;
    height:clamp(112px,12.4vh,190px);
    border-left:1px solid rgba(234,231,224,.42);
  }

  .positioning-rule:first-child{
    margin-bottom:clamp(72px,7.2vh,110px);
  }

  .positioning-rule:last-child{
    margin-top:clamp(72px,7.2vh,110px);
  }

  .positioning-subline{
    margin:0 auto 8px;
    max-width:900px;
    color:var(--prelaunch-color-text-secondary);
    font-style:italic;
    font-family:var(--font-suranna-serif);
    font-size:var(--prelaunch-subheading-mobile);
    font-weight:var(--prelaunch-subheading-weight);
    line-height:var(--prelaunch-subheading-line-height);
    letter-spacing:var(--prelaunch-subheading-letter-spacing);
  }

  .positioning-emphasis{
    font-weight:inherit;
    text-transform:uppercase;
  }

  @media (min-width:768px){
    .positioning-subline{font-size:var(--prelaunch-subheading-tablet);}
  }

  @media (min-width:1024px){
    .positioning-subline{font-size:var(--prelaunch-subheading-web);}
  }

  .positioning-heading{
    margin:0 auto;
    max-width:900px;
    font-family:var(--font-display);
    font-size:var(--prelaunch-section-title-size);
    line-height:var(--prelaunch-section-title-line-height);
    letter-spacing:var(--prelaunch-section-title-letter-spacing);
    font-weight:var(--prelaunch-section-title-weight);
    color:var(--prelaunch-color-text-primary);
  }

  .positioning-body{
    margin:36px auto 0;
    max-width:850px;
    white-space:nowrap;
    color:var(--prelaunch-color-text-soft);
    font-size:var(--prelaunch-body-size);
    line-height:var(--prelaunch-body-line-height);
    font-weight:var(--prelaunch-body-weight);
    letter-spacing:var(--prelaunch-body-letter-spacing);
  }

  /* 06. Guest response flow */
  .scan-flow{
    min-height:100dvh;
    display:flex;
    align-items:center;
    padding:clamp(24px,3.5vw,56px);
    background:#171717;
    color:#252321;
  }

  .scan-flow-inner{
    position:relative;
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:1360px;
    min-height:calc(100dvh - clamp(48px,7vw,112px));
    margin:0 auto;
    padding:clamp(64px,6.5vw,104px) clamp(56px,7vw,112px);
    overflow:hidden;
    background-color:#E9E3D9;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .018'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    box-shadow:0 28px 80px rgba(0,0,0,.2);
  }

  .scan-flow-inner::before,
  .scan-flow-inner::after{
    content:"";
    position:absolute;
    left:50%;
    width:1px;
    height:clamp(44px,5vh,70px);
    background:rgba(37,35,33,.32);
  }

  .scan-flow-inner::before{
    top:0;
  }

  .scan-flow-inner::after{
    bottom:0;
  }

  .scan-flow-intro{
    align-self:flex-start;
    padding-left:22px;
    border-left:1px solid rgba(37,35,33,.28);
  }

  .scan-flow-kicker{
    margin:0;
    color:#746E67;
    font-family:var(--font-mono);
    font-size:var(--prelaunch-kicker-font-size);
    font-style:normal;
    font-weight:400;
    line-height:1.4;
    letter-spacing:var(--prelaunch-kicker-letter-spacing);
    text-transform:uppercase;
    white-space:nowrap;
  }

  .scan-flow-kicker::after{
    content:none;
  }

  .scan-flow-message{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(72%,760px);
    text-align:center;
  }

  .scan-flow-heading{
    margin:0;
    text-align:center;
    color:#252321;
    font-family:var(--font-display);
    font-size:var(--prelaunch-section-title-size);
    font-weight:var(--prelaunch-section-title-weight);
    line-height:var(--prelaunch-section-title-line-height);
    letter-spacing:var(--prelaunch-section-title-letter-spacing);
    white-space:nowrap;
  }

  .scan-flow-heading span{
    display:inline;
  }

  .scan-flow-heading span:first-child{
    color:#716A63;
    font-family:var(--font-suranna-serif);
    font-size:var(--prelaunch-subheading-mobile);
    font-style:italic;
    line-height:var(--prelaunch-subheading-line-height);
    letter-spacing:var(--prelaunch-subheading-letter-spacing);
  }

  .scan-flow-heading span:last-child{
    margin-top:0;
    margin-left:.34em;
    padding-left:0;
  }

  @media (min-width:768px){
    .scan-flow-heading span:first-child{font-size:var(--prelaunch-subheading-tablet)}
  }

  @media (min-width:1024px){
    .scan-flow-heading span:first-child{font-size:var(--prelaunch-subheading-web)}
  }

  .scan-flow-lead{
    width:100%;
    margin:10px 0 0;
    color:#777069;
    font-family:var(--font-mono);
    font-style:italic;
    text-align:left;
    font-size:var(--prelaunch-kicker-font-size);
    font-weight:var(--prelaunch-body-weight);
    line-height:1.55;
    letter-spacing:.035em;
  }

  .scan-flow-footer{
    position:absolute;
    right:clamp(56px,7vw,112px);
    bottom:clamp(64px,6.5vw,104px);
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:16px;
    width:min(82%,620px);
    margin:0;
    color:#777069;
    text-align:right;
    font-size:var(--prelaunch-kicker-font-size);
    font-weight:var(--prelaunch-body-weight);
    line-height:var(--prelaunch-body-line-height);
    letter-spacing:var(--prelaunch-body-letter-spacing);
  }

  .scan-flow-footer p{
    min-width:0;
    margin:0 0 13px;
  }

  .scan-flow-footer-emphasis{
    color:#5E5852;
    font-weight:400;
  }

  .scan-flow-footer-break{
    display:none;
  }

  .scan-flow-qr{
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
    align-items:center;
    gap:4px;
    color:#655F59;
    font-family:var(--font-mono);
    font-size:7.5px;
    font-style:normal;
    line-height:1;
    letter-spacing:.08em;
    opacity:.9;
  }

  .scan-flow-qr img{
    display:block;
    width:60px;
    height:60px;
  }

  /* Keep the invitation sheet composed like a printed piece on tall screens. */
  @media (max-width:1100px) and (orientation:portrait){
    .scan-flow{
      min-height:100dvh;
      padding:clamp(12px,3vw,30px);
    }

    .scan-flow-inner{
      min-height:0;
      aspect-ratio:4 / 5;
    }
  }

  /* 07. Add-ons section */
  .addons{
    padding-top:72px;
    padding-bottom:72px;
  }

  .addon-layout{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(500px,.82fr);
    gap:clamp(64px,7vw,108px);
    align-items:center;
  }

  .addon-layout > *{
    min-width:0;
  }

  .addon-copy{
    max-width:580px;
    padding-left:clamp(8px,2vw,28px);
  }

  .addons .pricing-title{
    max-width:620px;
  }

  .addons .pricing-title span{display:block}

  .addons .pricing-title span:last-child{
    color:var(--prelaunch-color-text-muted);
    font-family:var(--font-suranna-serif);
    font-size:var(--prelaunch-subheading-mobile);
    font-style:italic;
    font-weight:400;
    line-height:var(--prelaunch-subheading-line-height);
    letter-spacing:var(--prelaunch-subheading-letter-spacing);
  }

  @media (min-width:768px){
    .addons .pricing-title span:last-child{font-size:var(--prelaunch-subheading-tablet)}
  }

  @media (min-width:1024px){
    .addons .pricing-title span:last-child{font-size:var(--prelaunch-subheading-web)}
  }

  .addons .section-body{margin-top:28px}

  .addon-sheet{
    position:relative;
    max-width:100%;
    min-height:min(740px,calc(100dvh - 96px));
    display:flex;
    align-items:center;
    padding:clamp(64px,6vw,88px) clamp(42px,4.5vw,68px);
    overflow:hidden;
    color:#252321;
    background-color:#E9E3D9;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 .018'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    box-shadow:0 28px 80px rgba(0,0,0,.2);
  }

  .addon-sheet::before,
  .addon-sheet::after{
    content:"";
    position:absolute;
    left:50%;
    width:1px;
    height:48px;
    background:rgba(37,35,33,.28);
  }

  .addon-sheet::before{top:0}
  .addon-sheet::after{bottom:0}

  /* 08. Final CTA + footer */
  .final-cta{
    position:relative;
    padding-top:72px;
    padding-bottom:72px;
  }

  .prelaunch-footer{
    position:absolute;
    left:50%;
    bottom:clamp(24px,3.6vw,48px);
    transform:translateX(-50%);
    width:min(calc(100% - 64px),1320px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:var(--prelaunch-color-text-muted);
    font-family:var(--menu-item-font-family);
    font-size:var(--caption-web);
    font-weight:var(--menu-item-weight);
    line-height:var(--caption-line-height);
    letter-spacing:var(--menu-item-letter-spacing);
  }

  .footer-links{
    display:flex;
    align-items:center;
    gap:24px;
  }

  .footer-links a{
    transition:color 160ms ease;
  }

  .footer-links a:hover,
  .footer-links a:focus-visible{
    color:var(--prelaunch-color-text-primary);
  }

  .footer-links a:focus-visible{
    outline:1px solid var(--prelaunch-color-text-muted);
    outline-offset:4px;
  }

  .section-kicker{
    margin:0 0 16px;
    color:var(--prelaunch-color-text-muted);
    font-size:var(--prelaunch-kicker-font-size);
    letter-spacing:var(--prelaunch-kicker-letter-spacing);
    text-transform:uppercase;
  }

  .addons .section-kicker,
  .addons .section-heading,
  .addons .section-body{text-align:left}

  .pricing-title span{display:block}

  .section-heading{
    margin:0 auto;
    max-width:900px;
    font-family:var(--font-display);
    font-size:var(--prelaunch-section-title-size);
    line-height:var(--prelaunch-section-title-line-height);
    letter-spacing:var(--prelaunch-section-title-letter-spacing);
    font-weight:var(--prelaunch-section-title-weight);
    color:var(--prelaunch-color-text-primary);
  }

  .section-body{
    margin:36px auto 0;
    max-width:640px;
    color:var(--prelaunch-color-text-soft);
    font-size:var(--prelaunch-section-body-mobile);
    line-height:var(--prelaunch-body-line-height);
    font-weight:var(--prelaunch-body-weight);
    letter-spacing:var(--prelaunch-body-letter-spacing);
  }

  @media (min-width:1024px){
    .section-body{font-size:var(--prelaunch-section-body-web);}
  }

  .addon-grid{
    margin:0;
    width:100%;
    border-top:1px solid rgba(37,35,33,.12);
  }

  .addon-card{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:22px;
    padding:27px 0 29px;
    text-align:left;
    border-bottom:1px solid rgba(37,35,33,.11);
  }

  .addon-number{
    grid-column:1;
    grid-row:1;
    align-self:baseline;
    margin-top:0;
    color:#898178;
    font-family:var(--font-display);
    font-size:28px;
    font-style:italic;
    font-weight:400;
    line-height:1;
  }

  .addon-card b{
    display:block;
    grid-column:2;
    grid-row:1;
    align-self:baseline;
    font-family:var(--font-display);
    font-size:var(--prelaunch-card-title-size);
    line-height:var(--prelaunch-card-title-line-height);
    font-weight:var(--prelaunch-card-title-weight);
    color:#252321;
  }

  .addon-card > span:not(.addon-number){
    display:block;
    grid-column:2;
    grid-row:2;
    margin-top:12px;
    color:#6F6962;
    font-size:var(--prelaunch-card-body-size);
    line-height:var(--prelaunch-card-body-line-height);
  }

  .cta-wrap{
    max-width:700px;
    margin:0 auto;
    text-align:center;
  }

  .cta-heading{
    margin:0;
    font-family:var(--font-display);
    font-size:var(--prelaunch-section-title-size);
    font-style:italic;
    line-height:var(--prelaunch-section-title-line-height);
    letter-spacing:var(--prelaunch-section-title-letter-spacing);
    font-weight:var(--prelaunch-section-title-weight);
    color:var(--prelaunch-color-text-primary);
  }

  /* 08. Contact page */
  .contact-page{
    position:relative;
    min-height:100dvh;
  }

  .contact-main{
    min-height:calc(100dvh - 76px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px clamp(32px,5.6vw,80px) 156px;
  }

  .contact-content{
    width:min(100%,680px);
    text-align:center;
  }

  .contact-kicker{
    margin:0 0 16px;
    color:var(--prelaunch-color-text-muted);
    font-size:var(--prelaunch-kicker-font-size);
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .contact-heading{
    margin:0;
    font-family:var(--font-display);
    font-size:var(--prelaunch-section-title-size);
    line-height:var(--prelaunch-section-title-line-height);
    letter-spacing:var(--prelaunch-section-title-letter-spacing);
    font-weight:var(--prelaunch-section-title-weight);
    color:var(--prelaunch-color-text-primary);
  }

  .contact-body{
    margin:24px auto 0;
    max-width:520px;
    color:var(--prelaunch-color-text-soft);
    font-size:var(--prelaunch-body-size);
    line-height:var(--prelaunch-body-line-height);
    font-weight:var(--prelaunch-body-weight);
    letter-spacing:var(--prelaunch-body-letter-spacing);
  }

  .contact-email{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    margin-top:20px;
    padding:8px 20px;
    color:#1E1E1E;
    background:#E9E3D9;
    border:1px solid #E9E3D9;
    border-radius:999px;
    font-size:16px;
    line-height:1.4;
    transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease;
  }

  .contact-email:hover,
  .contact-email:focus-visible{
    color:#1E1E1E;
    background:#F0ECE4;
    border-color:#F0ECE4;
  }

  .contact-email:focus-visible{
    outline:1px solid var(--prelaunch-color-text-muted);
    outline-offset:6px;
  }

  /* Intentional line breaks used only on very narrow screens. */
  .narrow-break{display:none}

  /* =========================================================
     Responsive overrides
     Keep broad max-width rules before narrower rules so the
     <=390px overrides remain the final source of truth.
     ========================================================= */

  @media (min-width:1600px){
    .hero{
      grid-template-columns:minmax(620px,.84fr) minmax(720px,1.16fr);
      gap:clamp(60px,4.2vw,96px);
      padding-left:clamp(72px,5vw,112px);
      padding-right:clamp(72px,5vw,112px);
    }
    .hero-visual{width:min(92%,854px)}
    .hero-copy{width:min(100%,820px)}
    .addon-grid{max-width:100%}
  }

  @media (max-width:1120px){
    .hero{
      grid-template-columns:1fr 1fr;
      gap:34px;
    }
    .hero-copy{width:min(100%,680px)}
    .addon-layout{
      grid-template-columns:minmax(0,.72fr) minmax(440px,1.28fr);
      gap:40px;
    }
    .addon-grid{grid-template-columns:1fr}
    .addon-card{
      padding:24px;
      text-align:left;
    }
  }

  /* Tablet body copy: keep informational text at a consistent 15px.
     Allow the positioning paragraph to wrap instead of overflowing. */
  @media (min-width:681px) and (max-width:1023px){
    .site-header,
    .hero,
    .section,
    .contact-main{
      padding-left:64px;
      padding-right:64px;
    }

    .prelaunch-footer{
      width:calc(100% - 128px);
    }

    .footer-links a{
      min-width:44px;
      min-height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0 4px;
    }

    .eyebrow{
      margin-bottom:12px;
    }

    h1{
      margin-bottom:16px;
    }

    .hero-subheading{
      margin-bottom:36px;
    }

    .hero-visual{
      width:min(108%,460px);
    }


    .positioning-body,
    .section-body,
    .addon-card > span:not(.addon-number){
      font-size:15px;
    }

    .positioning-body{
      white-space:normal;
    }
  }

  @media (max-width:920px){
    .hero{
      grid-template-columns:1fr;
      gap:28px;
      padding-top:46px;
      min-height:auto;
    }
    .hero-visual{
      order:1;
      justify-self:center;
      width:min(72vw,560px);
    }
    .hero-copy{
      order:2;
      justify-self:center;
      width:min(100%,720px);
      padding-top:0;
    }

    .addon-layout{
      grid-template-columns:1fr;
      gap:64px;
    }

    .addon-copy{
      max-width:620px;
      padding-left:0;
    }

    .addon-sheet{
      width:min(100%,680px);
      min-height:620px;
      justify-self:end;
    }
  }

  @media (max-width:680px){
    .site-header{
      height:68px;
      padding:32px var(--page-gutter-mobile) 0;
    }

    .site-language{
      font-size:12.5px;
    }

    .contact-main{
      min-height:calc(100dvh - 68px);
      padding:88px var(--page-gutter-mobile) 156px;
    }

    .contact-kicker{
      margin-bottom:8px;
      font-size:var(--prelaunch-kicker-mobile-font-size);
    }

    .contact-heading{
      font-size:28px;
      line-height:1.28;
    }

    .contact-body{
      margin-top:24px;
      font-size:14.5px;
    }

    .contact-email{
      margin-top:16px;
      font-size:14.5px;
    }

    .brand-logo{
      width:106px;
    }

    .brand{
      gap:12px;
    }

    .brand-status{
      gap:8px;
      margin-bottom:0;
      font-size:11px;
    }

    .brand-status-rule{
      width:22px;
      background:rgba(217,211,202,.13);
    }

    .hero{
      padding:140px var(--page-gutter-mobile) 56px;
      gap:24px;
    }

    .section{
      padding:0 var(--page-gutter-mobile);
    }

    .host-relief{
      min-height:100dvh;
      display:flex;
      padding-top:88px;
      padding-bottom:88px;
    }

    .host-relief-inner{
      min-height:0;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .host-relief-heading{
      position:static;
    }

    .host-relief-heading span:last-child{
      margin-top:2px;
      margin-left:.55em;
    }

    .host-relief-steps{
      position:static;
      align-self:flex-end;
      width:100%;
      margin-top:76px;
      gap:24px;
    }

    .host-relief-step{
      grid-template-columns:58px minmax(0,1fr);
      gap:12px;
      align-items:baseline;
    }

    .host-relief-step-number,
    .host-relief-step p{align-self:baseline}

    .host-relief-step-number{transform:translateY(7px)}

    .host-relief-step:not(:last-child)::after{top:46px}

    .host-relief-step p{
      font-size:var(--prelaunch-step-body-mobile-size);
    }

    .addons .section-inner{
      text-align:left;
      padding-top:44px;
    }

    .addon-layout{gap:48px}

    .addons .section-body{
      max-width:100%;
      font-size:13px;
      white-space:normal;
    }

    .addons .narrow-break{display:none}

    .addon-sheet{
      width:100%;
      min-height:0;
      padding:56px 20px;
      box-shadow:none;
    }

    .addon-sheet::before,
    .addon-sheet::after{height:28px}

    .addon-card{
      grid-template-columns:40px minmax(0,1fr);
      column-gap:12px;
      padding:22px 0 24px;
    }

    .addon-number{
      font-size:25px;
      transform:translateY(2px);
    }

    .final-cta .section-inner{
      text-align:left;
      padding-top:100px;
    }

    .cta-wrap{
      text-align:left;
      padding-top:0;
    }

    .section-heading,
    .section-body,
    .section-kicker{
      margin-left:0;
      margin-right:0;
    }

    .addon-grid{
      width:100%;
      margin-left:0;
    }
    .positioning,
    .addons{
      min-height:auto;
      display:block;
    }

    .final-cta{
      min-height:100dvh;
      display:block;
    }

    .positioning{
      padding-top:24px;
      padding-bottom:80px;
    }
    .positioning .section-inner{
      padding-top:80px;
      text-align:center;
    }

    .positioning-rule{
      width:1px;
      height:96px;
      border-left:0;
      background:rgba(234,231,224,.5);
    }

    .positioning-rule:first-child{
      margin-bottom:58px;
    }

    .positioning-rule:last-child{
      margin-top:58px;
    }
    .positioning-heading{
      margin-left:auto;
      margin-right:auto;
      font-size:28px;
      line-height:1.26;
    }
    .positioning-body{
      margin-left:auto;
      margin-right:auto;
      font-size:14.5px;
      white-space:normal;
      margin-top:20px;
    }

    .scan-flow{
      min-height:100dvh;
      display:flex;
      align-items:center;
      padding:12px;
    }

    .scan-flow-inner{
      min-height:0;
      height:min(calc((100vw - 24px) * 1.25),calc(100dvh - 24px));
      aspect-ratio:auto;
      padding:76px 28px 72px;
      box-shadow:none;
    }

    .scan-flow-inner::before,
    .scan-flow-inner::after{
      height:42px;
    }

    .scan-flow-kicker{
      font-size:var(--prelaunch-kicker-mobile-font-size);
    }

    .scan-flow-intro{
      padding-left:16px;
    }

    .scan-flow-message{
      top:50%;
      left:50%;
      width:calc(100% - 56px);
      transform:translate(-50%,-50%);
    }

    .scan-flow-heading{
      margin:0;
      text-align:center;
      font-size:28px;
      line-height:var(--prelaunch-section-title-line-height);
    }

    .scan-flow-heading span:first-child{
      font-size:var(--prelaunch-subheading-mobile);
    }

    .scan-flow-heading span:last-child{
      margin-top:0;
      margin-left:.26em;
      padding-left:0;
    }

    .scan-flow-lead{
      width:100%;
      margin-top:8px;
      text-align:left;
      font-size:12px;
      line-height:var(--prelaunch-body-line-height);
    }

    .scan-flow-footer{
      right:28px;
      bottom:72px;
      gap:12px;
      width:calc(100% - 56px);
      margin:0;
      text-align:right;
      font-size:12.5px;
      line-height:var(--prelaunch-body-line-height);
    }

    .scan-flow-footer p{
      margin-bottom:11px;
    }

    .scan-flow-footer-break{
      display:inline;
    }

    .scan-flow-footer-copy{
      white-space:normal;
    }

    .scan-flow-footer-detail{
      white-space:normal;
    }

    .scan-flow-qr img{
      width:50px;
      height:50px;
    }


    .addons{
      padding-top:28px;
      padding-bottom:84px;
    }

    .final-cta{
      padding-top:200px;
      padding-bottom:80px;
    }

    .prelaunch-footer{
      width:calc(100% - 48px);
      bottom:24px;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:8px;
      font-size:12.5px;
      text-align:center;
      white-space:nowrap;
    }

    .prelaunch-footer > span{
      order:2;
      width:100%;
      text-align:center;
    }

    .footer-links{
      order:1;
      gap:12px;
      justify-content:center;
      white-space:nowrap;
    }

    .footer-links a{
      min-width:44px;
      min-height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0 4px;
    }

    .final-cta .section-kicker,
    .final-cta .cta-heading{
      text-align:center;
    }
    .eyebrow{
      margin-bottom:8px;
      font-size:var(--prelaunch-kicker-mobile-font-size);
    }

    h1{
      margin-bottom:12px;
      font-size:34px;
      line-height:1.3;
    }

    .hero-subheading{
      margin-bottom:24px;
      font-size:var(--prelaunch-subheading-mobile);
      line-height:var(--prelaunch-subheading-line-height);
    }

    .hero-visual{
      width:min(82vw,460px);
      margin-left:0;
      margin-right:0;
    }

    .section-kicker{
      margin-bottom:8px;
      font-size:var(--prelaunch-kicker-mobile-font-size);
    }

    .section-heading{
      font-size:28px;
      line-height:1.28;
    }

    .addons .section-body{
      margin-top:20px;
      font-size:13px;
    }

    .addons .addon-grid{
      margin-top:0;
    }

    .section-body,
    .addon-card > span:not(.addon-number){
      font-size:14.5px;
    }

    .addon-card b{
      font-size:18px;
    }
  }

  @media (max-width:380px){
    .hero{
      padding-top:32px;
    }

    .narrow-break{
      display:inline;
    }

    h1{
      font-size:30px;
    }

    .hero-subheading,
    .host-relief-heading span:first-child,
    .positioning-subline{
      font-size:24px;
    }

    .positioning-heading{
      font-size:26px;
      letter-spacing:-0.028em;
    }

    .positioning-body,
    .section-body,
    .addon-card > span:not(.addon-number){
      font-size:14px;
    }

    .addons .section-body{font-size:12.5px}

    .section-heading{
      font-size:26px;
      letter-spacing:-0.028em;
    }

    .scan-flow-heading{font-size:26px}
    .scan-flow-heading span:first-child{font-size:24px}
    .addons .pricing-title span:last-child{font-size:24px}


    .cta-heading{
      font-size:29px;
    }

  }

  /* Preserve the approved two-line pricing composition on narrow screens. */
  @media (max-width:350px){
    .addons{
      padding-left:12px;
      padding-right:12px;
    }

    .addons .section-body{
      font-size:12px;
    }

    .pricing-title span{
      display:block;
    }

    .hero{
      padding-top:140px;
      padding-bottom:64px;
    }
  }

  /* Galaxy Z Fold 5 */
  @media (max-width:350px) and (min-height:800px){
    .hero{
      padding-top:104px;
      padding-bottom:64px;
      gap:56px;
    }
  }

  /* iPhone 5/SE */
  @media (max-width:320px) and (max-height:700px){
    .hero{
      padding-top:32px;
      padding-bottom:64px;
      gap:12px;
    }
    .hero-visual{
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .hero-art{
      width:90%;
    }

    h1{
      font-size:29px;
    }

    .hero-subheading{
      margin-bottom:12px;
      font-size:22px;
    }

    .steps .step p{
      font-size:14px;
    }

    .positioning-subline{
      font-size:22px;
    }

    .positioning-heading,
    .section-heading{
      font-size:24px;
      letter-spacing:-0.028em;
    }

    .final-cta{
      padding-top:100px;
      padding-bottom:80px;
    }
  }


  /* French pre-launch copy adjustments */
  .page-fr .positioning-heading{
    max-width:980px;
  }

  @media (max-width:680px){
    .page-fr .addons .section-body{
      white-space:normal;
      max-width:440px;
    }

    .page-fr .footer-links{
      max-width:350px;
      flex-wrap:wrap;
      row-gap:0;
      column-gap:8px;
      white-space:normal;
    }

    .page-fr .footer-links a{
      min-width:auto;
      padding-left:3px;
      padding-right:3px;
    }
  }


  /* 09. Launch notification signup */
  .sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  .launch-notify{
    width:min(100%,400px);
    margin:34px auto 0;
  }

  .launch-notify-copy{
    margin:0 0 14px;
    color:var(--prelaunch-color-text-soft);
    font-size:var(--prelaunch-supporting-copy-size);
    line-height:1.5;
    letter-spacing:.01em;
  }

  .launch-notify-form{
    position:relative;
    width:100%;
  }

  .launch-notify-fields{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:8px;
    width:100%;
  }

  .launch-notify-input,
  .launch-notify-button{
    min-height:46px;
    font:inherit;
    font-size:14px;
    line-height:1.2;
  }

  .launch-notify-input{
    width:100%;
    padding:11px 0 11px 6px;
    border:0;
    border-bottom:1px solid rgba(217,211,202,.38);
    background:transparent;
    color:var(--prelaunch-color-text-primary);
    outline:none;
    transition:border-color 160ms ease;
  }

  .launch-notify-input:hover{
    border-color:rgba(217,211,202,.58);
  }

  .launch-notify-input:focus{
    border-color:rgba(243,239,232,.88);
  }

  .launch-notify-form[data-state="error"] .launch-notify-input{
    border-color:#D7AAA8;
  }

  .launch-notify-input::placeholder{
    color:rgba(155,150,143,.68);
    font-style:italic;
    opacity:1;
  }

  .launch-notify-input:-webkit-autofill,
  .launch-notify-input:-webkit-autofill:hover,
  .launch-notify-input:-webkit-autofill:focus,
  .launch-notify-input:-webkit-autofill:active{
    -webkit-text-fill-color:var(--prelaunch-color-text-primary);
    caret-color:var(--prelaunch-color-text-primary);
    -webkit-box-shadow:0 0 0 1000px var(--color-background-base) inset;
    box-shadow:0 0 0 1000px var(--color-background-base) inset;
    border-bottom-color:rgba(217,211,202,.38);
    transition:background-color 9999s ease-out 0s;
  }

  .launch-notify-button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    min-width:44px;
    min-height:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#1E1E1E;
    cursor:pointer;
    transition:opacity 160ms ease,transform 120ms ease;
  }

  .launch-notify-button::before{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--color-text-inverse-faint,#D1C3C3);
    transition:background-color 160ms ease,transform 180ms ease,opacity 180ms ease;
  }

  .launch-notify-button svg{
    position:absolute;
    right:8px;
    bottom:6px;
    z-index:1;
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
    transform-origin:50% 50%;
  }

  .launch-notify-button:active:not(:disabled){
    transform:scale(.92);
  }

  .launch-notify-form[data-submit-state="sending"] .launch-notify-button::before{
    animation:launch-notify-pulse 1100ms ease-in-out 720ms infinite;
  }

  .launch-notify-form[data-submit-state="sending"] .launch-notify-button svg{
    animation:launch-notify-plane 840ms cubic-bezier(.22,.65,.28,1) both;
  }

  .launch-notify-form[data-submit-state="sending"] .launch-notify-input{
    opacity:.72;
  }

  @keyframes launch-notify-plane{
    0%{opacity:1;transform:translate(0,0) rotate(0deg)}
    22%{opacity:1;transform:translate(1px,-1px) rotate(-1deg)}
    74%{opacity:1;transform:translate(5px,-4px) rotate(-2deg)}
    100%{opacity:0;transform:translate(8px,-7px) rotate(-3deg)}
  }

  @keyframes launch-notify-pulse{
    0%,100%{transform:scale(1);opacity:1}
    50%{transform:scale(.92);opacity:.72}
  }

  .launch-notify-button:hover{
    color:#1E1E1E;
    transform:translateY(-1px);
  }

  .launch-notify-button:hover::before{
    background:var(--color-text-helper,#CFB8BB);
  }

  .launch-notify-button:focus-visible{
    outline:1px solid var(--prelaunch-color-text-muted);
    outline-offset:4px;
  }

  .launch-notify-input:focus-visible{
    outline:none;
  }

  .launch-notify-button:disabled{
    cursor:wait;
    opacity:1;
  }

  .launch-notify-status{
    margin:9px 0 0;
    color:var(--prelaunch-color-text-muted);
    font-size:12px;
    line-height:1.4;
  }

  .launch-notify-status:empty{
    display:none;
  }

  .launch-notify-status[data-state="success"]{
    color:var(--prelaunch-color-text-secondary);
  }

  .launch-notify-status[data-state="error"]{
    color:#D7AAA8;
  }

  .launch-notify-honeypot{
    position:absolute !important;
    left:-10000px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .launch-notify-dialog{
    width:min(calc(100% - 40px),440px);
    padding:0;
    border:.5px solid rgba(217,211,202,.18);
    border-radius:0;
    background:#1E1E1E;
    color:var(--prelaunch-color-text-primary);
    box-shadow:0 24px 80px rgba(0,0,0,.42);
  }

  .launch-notify-dialog[open]{
    animation:launch-notify-dialog-in 280ms cubic-bezier(.22,1,.36,1) both;
  }

  .launch-notify-dialog::backdrop{
    background:rgba(10,10,10,.72);
    backdrop-filter:blur(3px);
  }

  .launch-notify-dialog[open]::backdrop{
    animation:launch-notify-backdrop-in 180ms ease-out both;
  }

  @keyframes launch-notify-dialog-in{
    from{opacity:0;transform:translateY(6px) scale(.985)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }

  @keyframes launch-notify-backdrop-in{
    from{opacity:0}
    to{opacity:1}
  }

  .launch-notify-dialog-inner{
    padding:42px 40px 34px;
    text-align:center;
  }

  .launch-notify-dialog-kicker{
    margin:0 0 18px;
    color:var(--prelaunch-color-text-muted);
    font-size:var(--prelaunch-kicker-font-size);
    letter-spacing:var(--prelaunch-kicker-letter-spacing);
    text-transform:uppercase;
  }

  .launch-notify-dialog-title{
    margin:0;
    font-family:var(--font-suranna-serif);
    font-size:30px;
    font-weight:500;
    line-height:1.25;
  }

  .launch-notify-dialog-title:focus{
    outline:none;
  }

  .launch-notify-dialog-copy{
    margin:16px auto 0;
    max-width:32ch;
    color:var(--prelaunch-color-text-soft);
    font-size:var(--prelaunch-supporting-copy-size);
    line-height:1.6;
  }

  .launch-notify-dialog-close{
    margin-top:28px;
    padding:9px 0 5px;
    border:0;
    border-bottom:1px solid rgba(217,211,202,.48);
    background:transparent;
    color:var(--prelaunch-color-text-secondary);
    font:inherit;
    font-size:var(--caption-web);
    cursor:pointer;
    transition:color 160ms ease,border-color 160ms ease;
  }

  .launch-notify-dialog-close:hover,
  .launch-notify-dialog-close:focus-visible{
    color:var(--prelaunch-color-text-primary);
    border-color:var(--prelaunch-color-text-primary);
  }

  .launch-notify-dialog-close:focus-visible{
    outline:1px solid var(--prelaunch-color-text-muted);
    outline-offset:5px;
  }


  @media (prefers-reduced-motion:reduce){
    .launch-notify-button,
    .launch-notify-button::before,
    .launch-notify-button svg,
    .launch-notify-input,
    .launch-notify-dialog[open],
    .launch-notify-dialog[open]::backdrop{
      animation:none !important;
      transition:none !important;
    }

    .launch-notify-form[data-submit-state="sending"] .launch-notify-button svg{
      opacity:.45;
    }
  }

  @media (max-width:680px){
    .launch-notify{
      width:min(100%,320px);
      margin-top:28px;
    }

    .launch-notify-dialog-kicker{
      font-size:var(--prelaunch-kicker-mobile-font-size);
    }

    .launch-notify-dialog-copy{
      font-size:var(--prelaunch-supporting-copy-mobile-size);
    }

    .launch-notify-dialog-close{
      font-size:var(--prelaunch-kicker-mobile-font-size);
    }

    .launch-notify-copy{
      margin-bottom:12px;
      font-size:var(--prelaunch-supporting-copy-mobile-size);
      text-align:center;
    }

    .launch-notify-input{
      min-height:44px;
      font-size:16px;
    }

    .launch-notify-button{
      min-height:44px;
    }

    .launch-notify-dialog-inner{
      padding:36px 28px 30px;
    }
  }

  @media (max-width:480px){
    .launch-notify-fields{
      grid-template-columns:minmax(0,1fr) auto;
      gap:4px;
    }

    .launch-notify-button{
      width:44px;
    }
  }
