/* Product photography layout. Existing GhostCalc palette and theme are inherited. */
.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}
body{overflow-x:clip}
section[id]{scroll-margin-top:96px}
a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.hero.photo-hero{min-height:690px;height:calc(100svh - 106px);max-height:980px;padding:0;isolation:isolate}
.hero-product{position:absolute;width:min(850px,85vw);height:auto;left:64%;top:-10%;transform:translateX(-50%) rotate(-9deg);max-width:none;mask-image:radial-gradient(ellipse closest-side,#000 75%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 75%,transparent 100%)}
.photo-hero::after{content:'';position:absolute;inset:35% 0 0;z-index:1;pointer-events:none;background:linear-gradient(transparent,rgba(6,7,14,.58) 70%,var(--bg))}
.hero-signature{position:absolute;z-index:2;bottom:76px;left:max(24px,calc((100vw - 1200px)/2));right:0;text-align:left}
.hero.photo-hero .photo-hero-title{font-size:clamp(3.3rem,7.2vw,6.7rem);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:0;padding:0;max-width:850px;text-shadow:0 4px 40px rgba(6,7,14,.5)}
.hero.photo-hero .photo-hero-title .grad-text{text-shadow:none}
.hero-wordmark{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:600;font-size:2.4rem;letter-spacing:-.04em;line-height:1}
.hero-wordmark img{width:62px;height:62px;object-fit:contain;mix-blend-mode:screen}
.hero-signature .btn{min-width:230px}
.photo-section{position:relative;padding:100px 0;overflow:hidden}
.camera-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:clamp(32px,6vw,88px);border-top:1px solid var(--line);padding-top:40px}
.camera-photo{position:relative;width:min(100%,480px);margin:0 auto;isolation:isolate}
.camera-photo>img{width:100%;height:auto;mask-image:radial-gradient(ellipse closest-side,#000 77%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse closest-side,#000 77%,transparent 100%)}
.camera-label{position:absolute;left:61%;top:4.5%;color:var(--ink);font:500 .82rem var(--mono);letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px 10px var(--bg)}
.camera-pointer{position:absolute;left:43%;top:18.6%;width:30%;height:1px;background:var(--cyan);transform:rotate(-32deg);transform-origin:left center;pointer-events:none}
.camera-pointer::before{content:'';position:absolute;left:0;top:0;width:8px;height:8px;border-left:1px solid var(--cyan);border-bottom:1px solid var(--cyan);transform:translateY(-50%) rotate(45deg)}
.camera-copy h2,.menu-copy h2{font-size:clamp(2.5rem,4.7vw,4.3rem);line-height:1.08;margin:20px 0 25px;letter-spacing:-.035em}
.camera-copy>p,.menu-copy>p{font-size:1.06rem;line-height:1.85;color:var(--ink2);max-width:40ch}
.model-names{margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}
.model-names .eyebrow{font-size:.62rem;letter-spacing:.2em}
.model-names ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:15px;font:500 .95rem var(--display);color:var(--ink)}
.photo-menu{padding-top:55px;padding-bottom:135px}
.menu-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(35px,6vw,90px)}
.menu-photo{margin:0;min-width:0}
.menu-window{position:relative;aspect-ratio:1.11;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow);background:var(--panel)}
.menu-window img{position:absolute;max-width:none;width:163%;height:auto;left:-39%;top:-14%}
.menu-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;color:var(--ink3);font:400 .68rem var(--mono);letter-spacing:.05em}
.menu-photo figcaption span:first-child{color:var(--cyan)}
.menu-link{display:inline-flex;margin-top:28px;color:var(--cyan);font:600 .93rem var(--display)}
.menu-link:hover{color:var(--ink)}
.photo-shop{padding-top:30px!important}
.photo-shop>.buy-logos{display:none}
.photo-shop .sec-head{max-width:730px;margin-left:auto;margin-right:auto}
.photo-shop .sec-head p{max-width:56ch;margin-left:auto;margin-right:auto}
.photo-shop .cards{gap:22px}
.photo-shop .pcard{box-shadow:none}
.photo-shop .pcard.feat{box-shadow:var(--shadow)}
.photo-shop .checkout-faq-grid{margin-top:34px}
.photo-shop .checkout-faq{background:rgba(14,17,32,.55);box-shadow:none}
.photo-shop .shop-assurance{margin:24px auto 0;max-width:680px;text-align:center;color:var(--ink2);font-size:.82rem}
.photo-reviews{padding:25px 0 100px!important}
.photo-faq{padding-bottom:95px}
.photo-faq .sec-head{margin-bottom:35px}
.photo-support .support-head{max-width:680px;margin-left:auto;margin-right:auto;text-align:center}
.photo-support .support-head h2{font-size:clamp(2.1rem,4vw,3.5rem)}
.photo-support .support-head p{max-width:50ch;margin-left:auto;margin-right:auto}
.photo-support .support-panel{max-width:850px;margin-left:auto;margin-right:auto}
.photo-support .discord-widget{max-width:350px;margin-left:auto;margin-right:auto}
.photo-support .support-panel>h3,.photo-support .support-panel>p{text-align:center}
.photo-support .contact-email-aside{max-width:850px;margin-left:auto;margin-right:auto}
@media(min-width:900px){.photo-menu .menu-copy{padding-left:10px}}
@media(max-width:960px){
  .mobile-menu{position:absolute;inset:100% 0 auto;max-height:calc(100svh - 140px);overflow-y:auto;visibility:hidden;pointer-events:none}
  .mobile-menu.show{visibility:visible;pointer-events:auto}
}
@media(max-width:1000px){.nav-links{gap:18px}.photo-section{padding:75px 0}.photo-menu{padding-top:35px;padding-bottom:100px}}
@media(max-width:800px){
  .hero.photo-hero{min-height:660px;height:calc(90svh - 100px);max-height:850px}
  .hero-product{width:108vw;left:65%;top:-12%;transform:translateX(-50%) rotate(-8deg)}
  .hero-signature{bottom:60px;left:28px}
  .hero-wordmark{font-size:2rem}.hero-wordmark img{width:51px;height:51px}
  .camera-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
  .camera-copy h2,.menu-copy h2{font-size:2.6rem}
  .camera-copy>p,.menu-copy>p{font-size:.96rem}
  .camera-label{font-size:.7rem}
  .menu-layout{grid-template-columns:1fr;gap:34px}
  .menu-copy{max-width:570px}.menu-copy>p{max-width:48ch}
  .menu-photo{width:min(100%,580px);margin:auto}
  .model-names{margin-top:24px;padding-top:19px}.model-names ul{font-size:.82rem;gap:7px 14px}
}
@media(max-width:700px){.camera-layout{grid-template-columns:1fr;gap:30px}.camera-copy{max-width:540px}.camera-photo{width:min(100%,390px)}}
@media(max-width:560px){
  section[id]{scroll-margin-top:88px}
  .hero.photo-hero{min-height:570px;height:calc(94svh - 112px);max-height:760px}
  .hero-product{width:140vw;left:66%;top:-3%;transform:translateX(-50%) rotate(-8deg)}
  .photo-hero::after{inset:52% 0 0}
  .hero-signature{bottom:53px;left:24px;right:20px}
  .hero-wordmark{font-size:1.9rem}.hero-wordmark img{width:46px;height:46px}
  .hero.photo-hero .photo-hero-title{font-size:clamp(2.5rem,10.6vw,3.7rem);padding:0;line-height:1.05}
  .photo-section{padding:45px 0 65px}
  .camera-layout{grid-template-columns:1fr;gap:30px;padding-top:40px}
  .camera-photo{width:min(100%,350px);margin:auto}
  .camera-copy{padding:0 8px}
  .camera-copy h2,.menu-copy h2{font-size:2.7rem;margin:16px 0 20px}
  .camera-copy>p,.menu-copy>p{max-width:40ch}
  .camera-label{font-size:.74rem}
  .photo-menu{padding-top:40px;padding-bottom:85px}
  .menu-copy{padding:0 8px}.menu-layout{gap:30px}
  .menu-photo figcaption{font-size:.59rem}
  .photo-shop .sec-head h2{font-size:2.65rem}
  .photo-shop .sec-head p{font-size:.96rem}
  .photo-reviews{padding-bottom:75px!important}
  .photo-support .support-panel{padding:24px 16px}
  .photo-support .support-head h2{font-size:2.35rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1!important;transform:none!important}
  .rev-coltrack{animation:none!important;transform:none!important}
}
