:root{
    --green:#1e4a3b;
    --green-dark:#12281f;
    --gold:#a9a55c;
    --cream:#f7f3e9;
    --cream-light:#fbf9f4;
    --charcoal:#2b2b26;
    --muted:#73766f;
    --white:#fff;
    --line:rgba(30,74,59,.14);
  }
  
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  
  body{
    margin:0;
    font-family:"Inter",sans-serif;
    color:var(--charcoal);
    background:var(--cream-light);
  }
  
  body.gallery-open{overflow:hidden}
  a{color:inherit;text-decoration:none}
  button{font:inherit}
  img{display:block;max-width:100%}
  
  .pillows-shell{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
  }
  
  /* HEADER */
  
  .pillows-header{
    position:sticky;
    top:0;
    z-index:60;
    background:rgba(251,249,244,.95);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
  }
  
  .pillows-header-inner{
    width:min(1180px,calc(100% - 40px));
    min-height:82px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
  }
  
  .pillows-logo{width:235px}
  
  .pillows-nav{
    display:flex;
    align-items:center;
    gap:24px;
  }
  
  .pillows-nav a{
    font-size:11px;
    font-weight:800;
    color:var(--green-dark);
  }
  
  .pillows-nav a:hover{color:var(--gold)}
  
  .pillows-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
  }
  
  .pillows-menu-toggle span{
    width:24px;
    height:2px;
    border-radius:999px;
    background:var(--green-dark);
  }
  
  /* SHARED */
  
  .eyebrow{
    display:inline-block;
    margin-bottom:14px;
    font-family:"Archivo",sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--gold);
  }
  
  .btn{
    min-height:48px;
    padding:14px 22px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:800;
    transition:.2s ease;
  }
  
  .btn-primary{
    background:var(--green);
    color:#fff;
  }
  
  .btn-primary:hover{
    background:var(--green-dark);
    transform:translateY(-1px);
  }
  
  .btn-secondary{
    border:1px solid var(--green);
    color:var(--green);
    background:transparent;
  }
  
  .btn-secondary:hover{
    background:rgba(30,74,59,.05);
  }
  
  /* HERO */
  
  .pillows-hero{
    padding:82px 0 90px;
    overflow:hidden;
    background:
      radial-gradient(circle at 70% 0%,rgba(169,165,92,.14),transparent 25%),
      linear-gradient(145deg,#fbfaf6 0%,#f1ece2 100%);
  }
  
  .pillows-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    gap:70px;
    align-items:center;
  }
  
  .pillows-hero-copy h1{
    max-width:760px;
    margin:0 0 22px;
    font-family:"Archivo",sans-serif;
    font-size:clamp(50px,6.2vw,78px);
    line-height:.96;
    letter-spacing:-.058em;
    color:var(--green-dark);
  }
  
  .pillows-hero-copy>p{
    max-width:630px;
    margin:0;
    font-size:16px;
    line-height:1.72;
    color:#61655f;
  }
  
  .hero-actions{
    margin-top:30px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }
  
  .pillow-art{
    min-height:470px;
    position:relative;
  }
  
  .pillow{
    position:absolute;
    border:1px solid rgba(30,74,59,.10);
    border-radius:46% 54% 48% 52% / 44% 45% 55% 56%;
    box-shadow:0 26px 70px rgba(18,40,31,.10);
  }
  
  .pillow::before{
    content:"";
    position:absolute;
    inset:15px;
    border:1px solid rgba(30,74,59,.07);
    border-radius:inherit;
  }
  
  .pillow-seam{
    position:absolute;
    left:12%;
    right:12%;
    top:50%;
    height:1px;
    background:rgba(30,74,59,.08);
  }
  
  .pillow-one{
    width:330px;
    height:200px;
    right:20px;
    top:24px;
    background:linear-gradient(145deg,#fefdf9,#ece4d8);
    transform:rotate(7deg);
  }
  
  .pillow-two{
    width:350px;
    height:205px;
    left:10px;
    top:135px;
    background:linear-gradient(145deg,#d8d3c2,#f5f0e7);
    transform:rotate(-8deg);
  }
  
  .pillow-three{
    width:310px;
    height:180px;
    right:0;
    bottom:24px;
    background:linear-gradient(145deg,#315c4e,#17392f);
    transform:rotate(4deg);
  }
  
  .hero-seal{
    width:255px;
    position:absolute;
    left:50%;
    top:50%;
    z-index:5;
    padding:22px;
    border:1px solid rgba(30,74,59,.09);
    border-radius:20px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(13px);
    transform:translate(-50%,-50%);
    box-shadow:0 18px 50px rgba(18,40,31,.08);
  }
  
  .hero-seal span{
    display:block;
    margin-bottom:5px;
    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--gold);
  }
  
  .hero-seal strong{
    display:block;
    font-family:"Archivo",sans-serif;
    font-size:24px;
    line-height:1;
    color:var(--green-dark);
  }
  
  .hero-seal small{
    display:block;
    margin-top:8px;
    font-size:9.5px;
    line-height:1.5;
    color:#777b74;
  }
  
  .hero-format{
    position:absolute;
    right:15px;
    bottom:4px;
    display:flex;
    gap:6px;
  }
  
  .hero-format span{
    padding:8px 10px;
    border:1px solid rgba(30,74,59,.13);
    border-radius:999px;
    background:#fff;
    font-size:8px;
    font-weight:800;
    color:var(--green);
  }
  
  /* COLLECTION */
  
  .collection-section{
    padding:94px 0;
    background:#fff;
  }
  
  .collection-intro{
    margin-bottom:38px;
  }
  
  .collection-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
    gap:50px;
    align-items:end;
  }
  
  .collection-heading h2{
    margin:0;
    font-family:"Archivo",sans-serif;
    font-size:clamp(42px,5.2vw,62px);
    line-height:.98;
    letter-spacing:-.05em;
    color:var(--green-dark);
  }
  
  .collection-heading p{
    margin:0;
    font-size:14px;
    line-height:1.72;
    color:var(--muted);
  }
  
  .format-switch{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
  }
  
  .format-tab{
    min-height:125px;
    padding:22px 24px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
    text-align:left;
    border:1px solid var(--line);
    border-radius:24px;
    background:#f7f3ea;
    color:var(--green-dark);
    cursor:pointer;
    transition:.2s ease;
  }
  
  .format-tab:hover{
    transform:translateY(-2px);
    border-color:rgba(30,74,59,.25);
  }
  
  .format-tab.is-active{
    background:var(--green-dark);
    color:#fff;
    border-color:var(--green-dark);
    box-shadow:0 18px 45px rgba(18,40,31,.10);
  }
  
  .format-code{
    font-family:"Archivo",sans-serif;
    font-size:11px;
    font-weight:800;
    color:var(--gold);
  }
  
  .format-copy{
    display:flex;
    flex-direction:column;
  }
  
  .format-copy small{
    margin-bottom:2px;
    font-size:8px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
    opacity:.52;
  }
  
  .format-copy strong{
    font-family:"Archivo",sans-serif;
    font-size:27px;
    letter-spacing:-.035em;
  }
  
  .format-copy em{
    margin-top:3px;
    font-style:normal;
    font-size:10px;
    opacity:.60;
  }
  
  .format-arrow{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(30,74,59,.14);
    border-radius:50%;
    font-size:18px;
  }
  
  .format-tab.is-active .format-arrow{
    border-color:rgba(255,255,255,.16);
  }
  
  .collection-panel{
    padding:42px;
    border:1px solid var(--line);
    border-radius:30px;
    background:#fbf9f4;
  }
  
  .collection-panel-head{
    margin-bottom:26px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:25px;
  }
  
  .panel-kicker{
    display:block;
    margin-bottom:5px;
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold);
  }
  
  .collection-panel h3{
    margin:0;
    font-family:"Archivo",sans-serif;
    font-size:38px;
    letter-spacing:-.04em;
    color:var(--green-dark);
  }
  
  .panel-mark{
    font-family:"Archivo",sans-serif;
    font-size:64px;
    line-height:.8;
    font-weight:900;
    letter-spacing:-.07em;
    color:rgba(30,74,59,.07);
  }
  
  .product-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .pillow-card:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
  
  .pillow-card{
    min-height:245px;
    padding:25px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(30,74,59,.11);
    border-radius:22px;
    background:#fff;
    transition:.2s ease;
  }
  
  .pillow-card:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 44px rgba(18,40,31,.055);
  }
  
  .pillow-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
  }
  
  .pillow-index{
    font-family:"Archivo",sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    color:var(--gold);
  }
  
  .quality-pill{
    padding:7px 9px;
    border-radius:999px;
    background:#f3efe2;
    font-size:7.5px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--green);
  }
  
  .pillow-card h4{
    max-width:360px;
    margin:28px 0 8px;
    font-family:"Archivo",sans-serif;
    font-size:26px;
    line-height:1;
    letter-spacing:-.035em;
    color:var(--green-dark);
  }
  
  .pillow-meta{
    margin:0;
    font-size:10px;
    color:#777b74;
  }
  
  .pillow-card-bottom{
    margin-top:auto;
    padding-top:25px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    border-top:1px solid var(--line);
  }
  
  .weight-block small{
    display:block;
    margin-bottom:3px;
    font-size:7.5px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.10em;
    color:#9a9d97;
  }
  
  .weight-block strong{
    font-family:"Archivo",sans-serif;
    font-size:20px;
    color:var(--green-dark);
  }
  
  .gallery-button{
    min-height:40px;
    padding:0 13px;
    border:1px solid rgba(30,74,59,.20);
    border-radius:999px;
    background:#fff;
    color:var(--green);
    font-size:9px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
    transition:.2s ease;
  }
  
  .gallery-button:hover{
    border-color:var(--green);
    background:rgba(30,74,59,.04);
  }
  
  .gallery-button span{
    margin-left:4px;
    color:var(--gold);
  }
  

  /* MEMORY FOAM */

  .memory-section{
    padding:92px 0;
    background:
      radial-gradient(circle at 88% 15%,rgba(169,165,92,.12),transparent 24%),
      var(--green-dark);
    color:#fff;
  }

  .memory-heading{
    margin-bottom:38px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.58fr);
    gap:52px;
    align-items:end;
  }

  .memory-heading h2{
    max-width:760px;
    margin:0;
    font-family:"Archivo",sans-serif;
    font-size:clamp(40px,5vw,60px);
    line-height:1;
    letter-spacing:-.045em;
    color:#fff;
  }

  .memory-heading>p{
    margin:0;
    font-size:14px;
    line-height:1.72;
    color:rgba(255,255,255,.62);
  }

  .memory-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .memory-card{
    min-height:255px;
    padding:28px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(10px);
  }

  .memory-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }

  .memory-number{
    font-family:"Archivo",sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    color:var(--gold);
  }

  .memory-type{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
  }

  .memory-card h3{
    margin:32px 0 8px;
    font-family:"Archivo",sans-serif;
    font-size:34px;
    letter-spacing:-.04em;
    color:#fff;
  }

  .memory-measure{
    display:block;
    font-family:"Archivo",sans-serif;
    font-size:20px;
    color:rgba(255,255,255,.74);
  }

  .memory-card .gallery-button{
    margin-top:auto;
    align-self:flex-start;
    border-color:rgba(255,255,255,.20);
    background:rgba(255,255,255,.08);
    color:#fff;
  }

  .memory-card .gallery-button:hover{
    border-color:rgba(255,255,255,.40);
    background:rgba(255,255,255,.12);
  }

  /* VISUAL CLOSURE */
  
  .rest-section{
    padding:72px 0 94px;
    background:#fff;
  }
  
  .rest-card{
    min-height:290px;
    padding:46px 50px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    border-radius:30px;
    background:
      radial-gradient(circle at 82% 35%,rgba(169,165,92,.16),transparent 24%),
      linear-gradient(135deg,#183b31,#10271f);
    color:#fff;
  }
  
  .rest-copy{
    max-width:760px;
    position:relative;
    z-index:2;
  }
  
  .rest-copy h2{
    margin:0;
    font-family:"Archivo",sans-serif;
    font-size:clamp(38px,5vw,58px);
    line-height:1;
    letter-spacing:-.045em;
  }
  
  .rest-lines{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:44%;
  }
  
  .rest-lines span{
    position:absolute;
    right:-10%;
    width:110%;
    height:1px;
    background:rgba(255,255,255,.11);
    transform:rotate(-18deg);
  }
  
  .rest-lines span:nth-child(1){top:24%}
  .rest-lines span:nth-child(2){top:52%}
  .rest-lines span:nth-child(3){top:79%}
  
  /* CTA */
  
  .pillows-cta{
    padding:0 0 96px;
    background:#fff;
  }
  
  .cta-card{
    padding:46px 50px;
    border-radius:28px;
    background:linear-gradient(135deg,#eee7da,#f8f5ee);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:42px;
  }
  
  .cta-card h2{
    margin:0 0 10px;
    font-family:"Archivo",sans-serif;
    font-size:38px;
    color:var(--green-dark);
  }
  
  .cta-card p{
    max-width:700px;
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:var(--muted);
  }
  
  /* GALLERY */
  
  .gallery-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:none;
  }
  
  .gallery-modal.is-open{display:block}
  
  .gallery-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,12,9,.80);
    backdrop-filter:blur(10px);
  }
  
  .gallery-dialog{
    width:min(1080px,calc(100% - 34px));
    max-height:calc(100vh - 34px);
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:27px;
    background:#101b17;
    color:#fff;
    box-shadow:0 28px 90px rgba(0,0,0,.40);
  }
  
  .gallery-header{
    min-height:76px;
    padding:15px 18px 15px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  
  .gallery-kicker{
    display:block;
    margin-bottom:3px;
    font-size:8px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold);
  }
  
  .gallery-header h2{
    margin:0;
    font-family:"Archivo",sans-serif;
    font-size:20px;
  }
  
  .gallery-header-actions{
    display:flex;
    align-items:center;
    gap:8px;
  }
  
  .gallery-zoom{
    min-height:40px;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
  }
  
  .gallery-close{
    width:40px;
    height:40px;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:26px;
    line-height:1;
    cursor:pointer;
  }
  
  .gallery-stage{
    min-height:520px;
    height:min(65vh,650px);
    padding:22px 70px;
    display:grid;
    place-items:center;
    position:relative;
    background:#09110e;
    overflow:hidden;
  }
  
  .gallery-image-wrap{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    cursor:zoom-in;
  }
  
  .gallery-image-wrap.is-zoomed{
    cursor:zoom-out;
    overflow:auto;
    display:block;
  }
  
  .gallery-image-wrap img{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center;
  }
  
  .gallery-image-wrap.is-zoomed img{
    width:auto;
    height:auto;
    max-width:none;
    max-height:none;
    min-width:150%;
    min-height:150%;
    object-fit:contain;
  }
  
  .gallery-empty{
    max-width:380px;
    text-align:center;
  }
  
  .gallery-empty-monogram{
    width:70px;
    height:70px;
    margin:0 auto 18px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    font-family:"Archivo",sans-serif;
    font-size:26px;
    font-weight:900;
    color:var(--gold);
  }
  
  .gallery-empty strong{
    display:block;
    margin-bottom:8px;
    font-family:"Archivo",sans-serif;
    font-size:24px;
  }
  
  .gallery-empty span{
    display:block;
    font-size:11px;
    line-height:1.6;
    color:rgba(255,255,255,.55);
  }
  
  .gallery-arrow{
    width:46px;
    height:46px;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:4;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:30px;
    cursor:pointer;
  }
  
  .gallery-arrow-prev{left:17px}
  .gallery-arrow-next{right:17px}
  
  .gallery-footer{
    min-height:88px;
    padding:13px 18px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:18px;
    align-items:center;
    border-top:1px solid rgba(255,255,255,.09);
  }
  
  .gallery-counter{
    min-width:60px;
    font-size:10px;
    color:rgba(255,255,255,.58);
  }
  
  .gallery-thumbs{
    min-width:0;
    display:flex;
    gap:8px;
    overflow-x:auto;
  }
  
  .gallery-thumb{
    width:64px;
    height:58px;
    flex:0 0 64px;
    padding:0;
    border:2px solid transparent;
    border-radius:10px;
    overflow:hidden;
    background:#1d2924;
    cursor:pointer;
    opacity:.58;
  }
  
  .gallery-thumb.is-active{
    border-color:var(--gold);
    opacity:1;
  }
  
  .gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  
  /* FOOTER */
  
  .pillows-footer{
    padding:44px 0;
    background:#0d1d17;
    color:#fff;
  }
  
  .pillows-footer-inner{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:35px;
    align-items:center;
  }
  
  .pillows-footer-logo{width:220px}
  
  .pillows-footer p{
    margin:0;
    font-size:11px;
    color:rgba(255,255,255,.56);
  }
  
  .pillows-footer a{
    font-family:"Archivo",sans-serif;
    font-size:11px;
    font-weight:700;
    color:var(--gold);
  }
  
  @media(max-width:900px){
  
    .pillows-menu-toggle{display:flex}
  
    .pillows-nav{
      display:none;
      position:absolute;
      top:82px;
      left:0;
      right:0;
      padding:16px 20px 22px;
      background:var(--cream-light);
      border-bottom:1px solid var(--line);
      flex-direction:column;
      align-items:stretch;
      gap:0;
    }
  
    .pillows-nav.mobile-open{display:flex}
  
    .pillows-nav a{
      padding:15px 0;
      border-bottom:1px solid var(--line);
    }
  
    .pillows-nav a:last-child{border-bottom:0}
  
    .pillows-hero-grid{
      grid-template-columns:1fr;
      gap:38px;
    }
  
    .collection-heading{
      grid-template-columns:1fr;
      gap:15px;
    }
  
    .product-grid{
      grid-template-columns:1fr;
    }

    .pillow-card:last-child:nth-child(odd){
      grid-column:auto;
    }
  
    .pillows-footer-inner{
      grid-template-columns:1fr;
    }
  }
  
  @media(max-width:650px){
  
    .pillows-shell,
    .pillows-header-inner{
      width:min(100% - 30px,1180px);
    }
  
    .pillows-header-inner{min-height:72px}
    .pillows-logo{width:175px}
    .pillows-nav{top:72px}
  
    .pillows-hero{padding:58px 0 64px}
    .pillows-hero-copy h1{font-size:42px}
    .pillows-hero-copy>p{font-size:15px}
  
    .hero-actions{flex-direction:column}
    .hero-actions .btn{width:100%}
  
    .pillow-art{min-height:365px}
  
    .pillow-one{
      width:260px;
      height:160px;
      right:0;
    }
  
    .pillow-two{
      width:270px;
      height:160px;
      left:0;
      top:110px;
    }
  
    .pillow-three{
      width:245px;
      height:145px;
      right:0;
    }
  
    .hero-seal{
      width:220px;
      padding:18px;
    }
  
    .hero-seal strong{font-size:20px}
  
    .collection-section{padding:70px 0}
    .collection-heading h2{font-size:39px}
  
    .format-switch{grid-template-columns:1fr}
  
    .format-tab{
      min-height:102px;
      padding:18px;
    }
  
    .collection-panel{
      padding:25px 18px;
      border-radius:22px;
    }
  
    .collection-panel h3{font-size:30px}
    .panel-mark{font-size:48px}
  
    .pillow-card{
      min-height:225px;
      padding:21px;
    }
  
    .pillow-card h4{font-size:24px}
  
    .pillow-card-bottom{
      align-items:flex-start;
      flex-direction:column;
    }
  
    .gallery-button{width:100%}
  
    .rest-section{padding-bottom:70px}
  
    .rest-card{
      min-height:330px;
      padding:32px 24px;
      border-radius:22px;
    }
  
    .rest-copy h2{font-size:38px}
    .rest-lines{width:75%}
  
    .pillows-cta{padding-bottom:72px}
  
    .cta-card{
      padding:34px 24px;
      border-radius:22px;
      flex-direction:column;
      align-items:flex-start;
    }
  
    .cta-card h2{font-size:30px}
    .cta-card .btn{width:100%}
  
    .gallery-dialog{
      width:calc(100% - 16px);
      max-height:calc(100vh - 16px);
      border-radius:20px;
    }
  
    .gallery-header{
      min-height:68px;
      padding:12px 12px 12px 17px;
    }
  
    .gallery-header h2{font-size:17px}
  
    .gallery-zoom{
      min-height:38px;
      padding:0 11px;
      font-size:8px;
    }
  
    .gallery-close{
      width:38px;
      height:38px;
    }
  
    .gallery-stage{
      min-height:0;
      height:62vh;
      padding:12px 42px;
    }
  
    .gallery-arrow{
      width:36px;
      height:36px;
      font-size:24px;
    }
  
    .gallery-arrow-prev{left:5px}
    .gallery-arrow-next{right:5px}
  
    .gallery-footer{
      min-height:78px;
      grid-template-columns:1fr;
      gap:7px;
    }
  
    .gallery-thumb{
      width:56px;
      height:50px;
      flex-basis:56px;
    }
  
    .pillows-footer-logo{width:200px}
  }