
:root{
  --burgundy:#690f2f;
  --home-burgundy:#7d3747;
  --pink:#d9c1c8;
  --line:#d5a39f;
  --aqua:#38a399;
  --note:#ef745d;
  --paper:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--burgundy)}
body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
.stage{width:980px;height:900px;margin:0 auto;position:relative;background:#fff;overflow:hidden}
.condensed{font-family:'Anton','Arial Narrow',Arial,sans-serif;font-weight:400}
.typewriter{font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;font-weight:400}

/* HOME — positions taken from the Wix 980x900 desktop canvas */
.home-logo{
  position:absolute;left:0;right:0;top:39px;text-align:center;
  color:var(--home-burgundy);font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  font-size:30px;font-weight:600;letter-spacing:.48em;line-height:1;
  padding-left:.48em;
}
.home-nav{
  position:absolute;left:0;right:0;top:108px;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;font-size:10px;font-weight:400;line-height:15px;color:var(--pink)
}
.home-nav a:hover{color:var(--burgundy)}
.gallery{
  position:absolute;left:350px;top:200px;width:280px;height:560px;
  display:grid;grid-template-columns:repeat(4,70px);grid-template-rows:repeat(6,calc(560px / 6));gap:0;
  overflow:hidden
}
.gallery figure{margin:0;overflow:hidden;background:#eee}
.gallery img{display:block;width:100%;height:100%;object-fit:cover}

/* INTERNAL PAGE COMMON GEOMETRY */
.side-nav{
  position:absolute;left:72px;top:111px;width:155px;
  font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;font-size:10px;font-weight:400;line-height:18px;color:var(--pink)
}
.side-nav a{display:block}
.side-nav .active{
  color:var(--burgundy);font-family:'Anton','Arial Narrow',Arial,sans-serif;font-size:10px;font-weight:400;line-height:18px
}
.side-nav .wrap-line{display:block;line-height:15px}


/* Wix-style return arrow on every internal page */
.home-return{
  position:absolute;left:4px;top:106px;width:30px;height:34px;z-index:20;
  display:block;cursor:pointer;
}
.home-return::before{
  content:'';position:absolute;left:7px;top:9px;width:13px;height:13px;
  border-left:1.5px solid #e5e1e1;border-bottom:1.5px solid #e5e1e1;
  transform:rotate(45deg);transform-origin:center;
}
.home-return:hover::before{border-color:#cfcaca}

.about-content{position:absolute;left:210px;top:109px;width:560px;text-align:center}
.about-block{position:absolute;left:0;width:560px}
.about-block.b1{top:0}.about-block.b2{top:62px}.about-block.b3{top:137px}.about-block.b4{top:212px}
.about-title{margin:0 0 5px;font-family:'Anton','Arial Narrow',Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.05;color:var(--burgundy)}
.about-text{margin:0;font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;font-size:13px;font-weight:400;line-height:15px;color:var(--pink)}

.form-box{position:absolute;left:356px;top:111px;width:270px;font-family:'Anton','Arial Narrow',Arial,sans-serif;color:var(--burgundy)}
.form-label{display:block;margin:0;font-family:'Anton','Arial Narrow',Arial,sans-serif;font-size:11px;font-weight:400;line-height:14px;text-transform:uppercase}
.form-input{
  display:block;width:270px;height:35px;padding:4px 0 2px;border:0;border-bottom:1px solid var(--line);
  border-radius:0;outline:0;background:transparent;color:var(--burgundy);
  font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;font-size:12px
}
.form-input:focus{border-bottom-color:var(--burgundy)}
.icon-field{position:relative;height:47px}
.icon-field .form-label{height:16px}
.icon-field img{display:block;width:18px;height:18px;object-fit:contain;margin:0 0 0 0}
.icon-field .line{position:absolute;left:0;right:0;bottom:0;border-bottom:1px solid var(--line);height:1px}
.icon-field input{position:absolute;left:23px;right:0;bottom:1px;width:247px;height:20px;border:0;outline:0;background:transparent;color:var(--burgundy);font:400 12px 'American Typewriter','AmericanTypewriter','Courier New',serif}

.radio-set{margin-top:20px;margin-bottom:20px;display:grid;gap:6px;font:400 12px/1 'American Typewriter','AmericanTypewriter','Courier New',serif;color:#b98694}
.radio-row{display:flex;align-items:center;gap:8px}
.radio-row input{appearance:none;width:13px;height:13px;border:1.5px solid var(--burgundy);border-radius:50%;margin:0;background:#fff}
.radio-row input:checked{box-shadow:inset 0 0 0 3px #fff;background:var(--burgundy)}

.thanks-btn{
  position:absolute;left:355px;top:530px;width:270px;height:35px;border:0;border-radius:0;background:var(--aqua);color:#dff2ef;
  font:400 14px/35px 'Satisfy',cursive;text-align:center;cursor:pointer;padding:0
}
.thanks-btn:hover{filter:brightness(.97)}

.work-form .full{margin-bottom:17px}
.work-form .radio-set{margin-top:16px;margin-bottom:20px}
.work-form .icon-field{height:47px}

.model-form .full{margin-bottom:12px}
.model-form .icon-field{height:47px}
.model-note{
  position:absolute;left:300px;top:389px;width:380px;text-align:center;
  font:400 12px/14px 'American Typewriter','AmericanTypewriter','Courier New',serif;color:var(--note);text-transform:uppercase
}

.copy-meta{position:absolute;left:356px;top:111px;width:270px;font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;font-size:12px;line-height:18px}
.copy-meta .key{font-family:'Anton','Arial Narrow',Arial,sans-serif;font-size:13px;font-weight:400;line-height:18px;color:var(--burgundy);margin-right:7px}
.copy-meta .value{color:var(--pink)}
.copy-form{position:absolute;left:356px;top:218px;width:270px}

.contact-form .full{margin-bottom:12px}
.contact-form .icon-field{height:47px}
.message-box{display:block;width:270px;height:220px;margin-top:24px;border:0;outline:0;resize:none;background:#fcf8f8;color:var(--burgundy);padding:10px;font:400 12px 'American Typewriter','AmericanTypewriter','Courier New',serif}

.bot-field{display:none!important}

/* neutral thank-you endpoint after a successful Netlify submission */
.success{display:grid;place-items:center;height:100vh;text-align:center;font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;color:var(--burgundy)}
.success h1{font-family:'Anton','Arial Narrow',Arial,sans-serif;font-size:40px;font-weight:400;margin:0 0 12px}
.success a{text-decoration:underline}

/* TABLET / MOBILE — tuned from the supplied Wix responsive references */

/* TABLET
   Preserve the same composition and 4×6 gallery rather than reflowing it. */
@media (min-width:601px) and (max-width:980px){
  .stage{
    width:min(720px,100vw);
    height:900px;
    min-height:900px;
    margin:0 auto;
    padding:0;
    position:relative;
    overflow:hidden;
  }

  /* Home */
  .home-logo{
    position:absolute;left:0;right:0;top:39px;
    margin:0;padding-left:.48em;font-size:30px;
  }
  .home-nav{
    position:absolute;left:0;right:0;top:108px;
    margin:0;display:flex;flex-direction:column;align-items:center;
  }
  .gallery{
    position:absolute;left:50%;top:200px;
    transform:translateX(-50%);
    width:280px;height:560px;aspect-ratio:auto;margin:0;
    grid-template-columns:repeat(4,70px);
    grid-template-rows:repeat(6,calc(560px / 6));
  }

  /* Internal page common geometry */
  .home-return{
    position:absolute;left:18px;top:106px;width:30px;height:34px;
  }
  .side-nav{
    position:absolute;left:54px;top:111px;width:160px;
    margin:0;display:block;
  }
  .side-nav a{display:block;white-space:nowrap}

  .about-content{
    position:absolute;left:190px;top:109px;
    width:calc(100% - 230px);max-width:500px;margin:0;text-align:center;
  }
  .about-block{position:absolute;left:0;width:100%;margin:0}
  .about-block.b1{top:0}.about-block.b2{top:62px}.about-block.b3{top:137px}.about-block.b4{top:212px}

  .form-box{
    position:absolute;left:50%;top:111px;transform:translateX(-50%);
    width:270px;margin:0;
  }
  .copy-meta{
    position:absolute;left:50%;top:111px;transform:translateX(-50%);
    width:270px;margin:0;
  }
  .copy-form{
    position:absolute;left:50%;top:218px;transform:translateX(-50%);
    width:270px;margin:0;
  }
  .form-input,.icon-field{width:270px}
  .icon-field input{width:247px}
  .message-box{width:270px}

  .thanks-btn{
    position:absolute;left:50%;top:530px;transform:translateX(-50%);
    width:270px;height:35px;margin:0;line-height:35px;
  }

  .model-note{
    position:absolute;left:50%;top:389px;transform:translateX(-50%);
    width:380px;margin:0;
  }
}

/* MOBILE
   Wix mobile canvas is effectively a 320px design surface. We preserve that
   geometry and center it inside wider phone viewports. */
@media (max-width:600px){
  .stage{
    width:320px;
    max-width:100vw;
    height:800px;
    min-height:800px;
    margin:0 auto;
    padding:0;
    position:relative;
    overflow:hidden;
  }

  /* HOME — same 4×6 gallery, same 280×560 artwork block */
  .home-logo{
    position:absolute;left:0;right:0;top:74px;
    margin:0;padding-left:.48em;
    font-size:26px;text-align:center;
  }
  .home-nav{
    position:absolute;left:0;right:0;top:139px;
    margin:0;
    display:flex;flex-direction:column;align-items:center;
    font-size:10px;line-height:14px;
  }
  .gallery{
    position:absolute;left:20px;top:220px;
    width:280px;height:560px;
    margin:0;transform:none;aspect-ratio:auto;
    grid-template-columns:repeat(4,70px);
    grid-template-rows:repeat(6,calc(560px / 6));
  }

  /* RETURN + MENU */
  .home-return{
    position:absolute;left:9px;top:48px;width:28px;height:34px;
  }
  .side-nav{
    position:absolute;left:45px;top:49px;width:180px;
    margin:0;padding:0;display:block;
    font-size:10px;line-height:15px;
  }
  .side-nav a{
    display:block;
    width:max-content;
    max-width:180px;
    white-space:nowrap;
    line-height:15px;
  }
  .side-nav .active{
    font-size:10px;line-height:15px;
  }

  /* ABOUT US */
  .about-content{
    position:absolute;left:20px;top:136px;
    width:280px;margin:0;text-align:center;
  }
  .about-block{
    position:absolute;left:0;width:280px;margin:0;
  }
  .about-block.b1{top:0}
  .about-block.b2{top:56px}
  .about-block.b3{top:126px}
  .about-block.b4{top:210px}
  .about-title{
    margin:0 0 4px;
    font-size:11px;line-height:12px;
  }
  .about-text{
    margin:0;
    font-size:10px;line-height:12px;
  }

  /* FORM PAGES */
  .form-box{
    position:absolute;left:50px;top:145px;
    width:220px;margin:0;transform:none;
  }
  .form-input{
    width:220px;height:38px;
    font-size:10px;
  }
  .form-label{
    font-size:9px;line-height:12px;
  }
  .icon-field{
    width:220px;height:44px;
  }
  .icon-field .form-label{height:14px}
  .icon-field img{
    width:16px;height:16px;
  }
  .icon-field input{
    left:21px;right:0;width:199px;height:18px;
    font-size:10px;
  }
  .radio-set{
    margin-top:16px;margin-bottom:18px;
    gap:5px;
    font-size:10px;
  }
  .radio-row{gap:7px}
  .radio-row input{width:11px;height:11px}

  .work-form{top:145px}
  .work-form .full{margin-bottom:15px}
  .work-form .radio-set{margin-top:15px;margin-bottom:18px}
  .work-form .icon-field{height:44px}

  .model-form{top:134px}
  .model-form .full{margin-bottom:10px}
  .model-form .icon-field{height:44px}

  .contact-form{top:145px}
  .contact-form .full{margin-bottom:10px}
  .contact-form .icon-field{height:44px}

  .copy-meta{
    position:absolute;left:50px;top:134px;
    width:220px;margin:0;transform:none;
    font-size:10px;line-height:15px;
  }
  .copy-meta .key{
    font-size:10px;line-height:15px;margin-right:5px;
  }
  .copy-form{
    position:absolute;left:50px;top:221px;
    width:220px;margin:0;transform:none;
  }

  .message-box{
    width:220px;height:220px;
    margin-top:22px;padding:8px;
    font-size:10px;
  }

  /* Keep all submit buttons on one shared horizontal/vertical grid line. */
  .thanks-btn{
    position:absolute;left:50px;top:500px;
    width:220px;height:28px;margin:0;
    transform:none;
    font-size:12px;line-height:28px;
  }

  .model-note{
    position:absolute;left:34px;top:374px;
    width:252px;margin:0;transform:none;
    font-size:8px;line-height:10px;
  }
}

/* A little protection for very narrow legacy phones without changing the design. */
@media (max-width:319px){
  .stage{
    transform:scale(calc(100vw / 320));
    transform-origin:top center;
  }
}


/* V6 — Wix menu typography reference */
.home-nav,
.side-nav{
  font-size:10px !important;
}
.side-nav .active{
  font-size:10px !important;
}




/* ============================================================
   V8 — ABOUT US EXACT LINE CONTROL
   ============================================================ */

.about-copy{
  position:absolute;
  inset:0;
}
.responsive-about-copy{display:none;}

.about-text .fixed-line{
  display:block;
  white-space:nowrap;
}

/* Desktop: prescribed lines, including experimentation + merit on prior line */
@media (min-width:981px){
  .desktop-about-copy{display:block;}
  .responsive-about-copy{display:none;}

  .about-content{
    left:160px;
    width:660px;
  }

  .about-block{width:100%;}
  .about-block.b1{top:0}
  .about-block.b2{top:72px}
  .about-block.b3{top:154px}
  .about-block.b4{top:240px}
}

/* ============================================================
   V8 — TABLET + MOBILE are treated as the same responsive family
   ============================================================ */
@media (max-width:980px){
  .desktop-about-copy{display:none;}
  .responsive-about-copy{display:block;}

  /* Slightly tighter three-line menus */
  .home-nav{
    font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;
    font-size:11px !important;
    line-height:12px !important;
  }

  .side-nav{
    line-height:12px !important;
  }
  .side-nav a{
    line-height:12px !important;
    margin:0 !important;
  }

  /* Non-selected options: slightly larger American Typewriter */
  .side-nav a:not(.active){
    font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;
    font-size:11px !important;
    font-weight:400;
  }

  /* Selected option remains Anton, compact */
  .side-nav .active{
    font-family:'Anton','Arial Narrow',sans-serif;
    font-size:10px !important;
    line-height:12px !important;
    font-weight:400;
  }

  /* About content: maximise usable width so prescribed lines can remain intact */
  .about-content{
    left:2px !important;
    width:calc(100% - 4px) !important;
    max-width:none !important;
    text-align:center;
  }

  .about-block{
    left:0 !important;
    width:100% !important;
  }

  .about-title{
    margin-bottom:3px;
  }

  .about-text{
    line-height:1.20;
  }

  /* User-defined responsive line rhythm */
  .about-block.b1{top:0 !important}
  .about-block.b2{top:55px !important}
  .about-block.b3{top:128px !important}
  .about-block.b4{top:207px !important}
}

/* Mobile keeps the same tablet/mobile logic; only its absolute canvas positions remain from V5. */
@media (max-width:600px){
  .about-content{
    left:2px !important;
    width:316px !important;
  }
}


/* ============================================================
   V9 — FORM ALIGNMENT + WIX-STYLE RETURN ARROW
   ============================================================ */

/* Replace the small square CSS chevron with a tall, thin vector arrow. */
.home-return{
  width:24px !important;
  height:54px !important;
  background-repeat:no-repeat;
  background-position:center;
  background-size:24px 54px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 54'%3E%3Cpath d='M20 1 L4 27 L20 53' fill='none' stroke='%23e5e1e1' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.home-return::before,
.home-return::after{
  content:none !important;
  display:none !important;
}
.home-return:hover{
  opacity:.72;
}

/* Desktop: arrow spans approximately the full 3-line mini-menu height. */
@media (min-width:981px){
  .home-return{
    left:4px !important;
    top:108px !important;
    width:24px !important;
    height:54px !important;
    background-size:24px 54px;
  }
}

/* Tablet + mobile are one responsive family. */
@media (max-width:980px){
  .home-return{
    width:18px !important;
    height:36px !important;
    background-size:18px 36px;
  }
}

/* Tablet positioning: vertically aligned with the full compact menu. */
@media (min-width:601px) and (max-width:980px){
  .home-return{
    left:22px !important;
    top:110px !important;
  }
}

/* Mobile: Become A Model now starts at exactly the same Y as other form pages. */
@media (max-width:600px){
  .home-return{
    left:10px !important;
    top:49px !important;
  }

  .model-form{
    top:145px !important;
  }
}


/* ============================================================
   V10 — RESPONSIVE MENU SIZE
   Mobile + tablet are treated as the same responsive family.
   ============================================================ */
@media (max-width:980px){

  /* HOME: all menu options are inactive, so all use 14px American Typewriter */
  .home-nav{
    font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;
    font-size:14px !important;
    line-height:15px !important;
    font-weight:400;
  }

  /* Internal menus: inactive options larger */
  .side-nav{
    font-size:14px !important;
    line-height:15px !important;
  }

  .side-nav a{
    line-height:15px !important;
    margin:0 !important;
    white-space:nowrap !important;
  }

  .side-nav a:not(.active){
    font-family:'American Typewriter','AmericanTypewriter','Courier New',serif;
    font-size:14px !important;
    line-height:15px !important;
    font-weight:400;
  }

  /* Selected option remains visually smaller in Anton */
  .side-nav .active{
    font-family:'Anton','Arial Narrow',sans-serif;
    font-size:12px !important;
    line-height:15px !important;
    font-weight:400;
  }

  /* Give the menu a little more width so BECOME A MODEL stays on one line */
  .side-nav{
    width:210px !important;
  }
}

/* Slight mobile positioning compensation for the larger menu text */
@media (max-width:600px){
  .side-nav{
    left:45px !important;
    top:49px !important;
  }

  /* Arrow still spans the menu visually */
  .home-return{
    top:49px !important;
    height:45px !important;
    background-size:20px 45px !important;
  }
}
