/* Cami Monroe — layout modeled on a Squarespace editorial template */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:Tinos,"Times New Roman",Times,serif;font-weight:400;font-size:16px;line-height:1.4;letter-spacing:.05em;color:#000;background:#fff;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:inherit}
img{display:block}
.logo{font-family:Zeyada,cursive;font-weight:400;letter-spacing:-.01em;line-height:1;white-space:nowrap;-webkit-text-stroke:.035em currentColor;text-decoration:none;display:inline-block}

/* header */
.header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:43px 58px 0 58px;height:130px;color:#fff}
.header .logo{font-size:46px;margin-top:-6px}
.header nav{display:flex;gap:36px;margin-right:163px}
.header nav a{text-decoration:none;font-size:16px;letter-spacing:.05em;line-height:22.4px;padding:1.6px 0}
.burger{display:none;background:none;border:0;width:36px;height:24px;position:relative;cursor:pointer;color:inherit}
.burger span{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .3s,top .3s}
.burger span:nth-child(1){top:7px}.burger span:nth-child(2){top:16px}
body.menu-open .burger span:nth-child(1){top:12px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){top:12px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;background:#fff;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.menu a{font-size:31px;letter-spacing:.02em;text-decoration:none;color:#000}
body.menu-open .menu{opacity:1;visibility:visible}
body.menu-open .header{color:#000;position:fixed}

/* full-bleed sections */
.bleed{position:relative;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}
.bleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.bleed::after{content:"";position:absolute;inset:0;background:#000;opacity:.15;pointer-events:none}
.bleed.hero::after{background:rgb(98,84,72);opacity:.04}
.bleed h1,.bleed h2{position:relative;z-index:2;font-weight:400;font-size:40px;line-height:47px;letter-spacing:.02em;text-align:center;max-width:1080px;padding:0 18px;margin-top:-16px}
.bleed h1 a,.bleed h2 a{color:rgb(230,228,232);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* intro */
.intro{display:grid;grid-template-columns:703fr 703fr;column-gap:34px;padding:16px 0 17px;min-height:1061px}
.intro .copy{padding-top:176px}
.intro .copy .logo{font-size:150px;margin-left:2px;-webkit-text-stroke:.045em currentColor}
.intro .copy .text{margin-top:84px;max-width:703px;padding-right:20px}
.intro p{margin:0 0 16px}
.intro p+p{margin-top:0}
.intro figure{aspect-ratio:703/1028;overflow:hidden}
.intro figure img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.35);transform-origin:52% 12%}

/* footer */
footer{background:#000;color:#fff;text-align:center;height:362px;padding-top:24px;position:relative}
footer .logo{font-size:98px}
footer .social{margin-top:40px;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 26px;font-size:16px}
footer .social a{text-decoration:none}
footer .social a:hover{text-decoration:underline}
footer .copy{position:absolute;left:0;right:0;top:284px}

/* gallery page */
.gallery-page .header{color:#000;position:relative}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:40px 0 80px}
.grid img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gallery-title{text-align:center;font-weight:400;font-size:40px;line-height:47px;letter-spacing:.02em;padding:40px 18px 0}
.gallery-cta{text-align:center;padding:0 18px 90px;font-size:40px;line-height:47px;letter-spacing:.02em}
.gallery-cta a{text-underline-offset:4px;text-decoration-thickness:1px}

/* SEO helpers + FAQ */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.faq{max-width:703px;margin:0 auto;padding:96px 20px 104px}
.faq h2{font-weight:400;font-size:40px;line-height:47px;letter-spacing:.02em;text-align:center;margin-bottom:44px}
.faq .q{margin-bottom:28px}
.faq h3{font-weight:700;font-size:16px;line-height:1.4;letter-spacing:.05em;margin-bottom:6px}
.faq p{margin:0}
.faq .aka{margin-top:40px;text-align:center;font-size:13px;color:#777}
.page-copy{max-width:703px;margin:28px auto 0;padding:0 20px;text-align:center}
.page-copy p{margin:0 0 12px}
.page-copy a,.page-home a{text-underline-offset:3px;text-decoration-thickness:1px}
.page-links{list-style:none;text-align:center;padding:36px 18px 10px;font-size:40px;line-height:47px;letter-spacing:.02em}
.page-links li{margin-bottom:14px}
.page-links a{text-underline-offset:4px;text-decoration-thickness:1px}
.page-photo{max-width:703px;margin:40px auto 0;padding:0 20px;aspect-ratio:3/4}
.page-photo img{width:100%;height:100%;object-fit:cover}
.page-home{text-align:center;padding:40px 18px 90px}
.faq a{text-underline-offset:3px;text-decoration-thickness:1px}

/* 18+ gate */
#gate{position:fixed;inset:0;z-index:100;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#000}
#gate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:blur(14px);transform:scale(1.08);opacity:.85}
#gate::after{content:"";position:absolute;inset:0;background:#000;opacity:.45}
#gate .inner{position:relative;z-index:2;padding:0 24px;max-width:720px}
#gate .logo{font-size:132px}
#gate p{margin:26px auto 34px;max-width:600px}
#gate .choices{display:flex;justify-content:center;gap:54px}
#gate .choices a,#gate .choices button{background:none;border:0;cursor:pointer;font:inherit;font-size:31px;letter-spacing:.02em;color:rgb(230,228,232);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
#gate.hidden{display:none}

@media (max-width:767px){
  .header{padding:26px 25px 0 25px;height:90px;align-items:flex-start}
  .header .logo{font-size:29px;margin-top:2px}
  .header nav{display:none}
  .burger{display:block;margin-top:6px}
  .bleed{height:100vh;height:100svh}
  .bleed h1,.bleed h2{font-size:31.19px;line-height:36.65px;letter-spacing:.02em;padding:0 16px}
  .intro{display:block;padding:0 0 32px;min-height:0}
  .intro .copy{padding:73px 0 0}
  .intro .copy .logo{font-size:86px;margin-left:2px;max-width:100%;-webkit-text-stroke:.045em currentColor}
  .intro .copy .text{margin-top:44px;padding:0 0 0 0}
  .intro figure{margin-top:34px;aspect-ratio:390/560}
  footer{height:353px;padding-top:30px}
  footer .logo{font-size:80px}
  footer .social{margin-top:28px;gap:6px 18px;padding:0 20px;font-size:15px}
  footer .copy{top:288px}
  .grid{grid-template-columns:1fr;gap:16px;padding:20px 0 50px}
  .faq{padding:64px 20px 72px}
  .page-links{font-size:31px;line-height:36.65px}
  .faq h2{font-size:31px;line-height:36.65px;margin-bottom:32px}
  .gallery-title,.gallery-cta{font-size:31px;line-height:36.65px}
  #gate .logo{font-size:74px}
  #gate .choices a,#gate .choices button{font-size:26px}
}
