/* Aaron Weiss Photography — site styles
   Colors and fonts live here. Change a value once and it updates everywhere. */
:root{
  --accent:#0011ff;          /* blue used for headings, nav, links */
  --darkAccent:#797979;      /* gray used for small italic notes */
  --black:#000;
  --white:#fff;
  --lightAccent:#f5f5f5;
  --body-font:"Poppins",sans-serif;
  --nav-font:proxima-nova,"Poppins",sans-serif;
  --sqs-site-gutter:3vw;
  --sqs-mobile-site-gutter:6vw;
  --sqs-site-max-width:1974px;
  --header-h:50px;
}
@media (max-width:767px){:root{--header-h:84px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#000;font-family:var(--body-font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{font-family:var(--body-font);font-weight:400;color:var(--accent);margin:0;letter-spacing:-.02em}
/* Type scale (same formula Squarespace used, so sizes match at every screen width) */
h1{font-size:calc((4 - 1)*1.2vw + 1rem);line-height:1.056}
h2{font-size:calc((2.8 - 1)*1.2vw + 1rem);line-height:1.12}
h3{font-size:calc((2.1 - 1)*1.2vw + 1rem);line-height:1.147}
h4{font-size:calc((1.4 - 1)*1.2vw + 1rem);line-height:1.18}
.sqsrte-large{font-size:calc((2.1 - 1)*1.2vw + 1rem);line-height:1.5}
.sqsrte-small{font-size:min(calc((.9 - 1)*1.2vw + 1rem),.9rem);line-height:1.5}
@media (max-width:767px){
  h1{font-size:calc((4 - 1)*.012*min(100vh,900px) + 1rem)}
  h2{font-size:calc((2.8 - 1)*.012*min(100vh,900px) + 1rem)}
  h3{font-size:calc((2.1 - 1)*.012*min(100vh,900px) + 1rem)}
  h4{font-size:calc((1.4 - 1)*.012*min(100vh,900px) + 1rem)}
  .sqsrte-large{font-size:calc((2.1 - 1)*.012*min(100vh,900px) + 1rem)}
  .sqsrte-small{font-size:calc((.9 - 1)*.012*min(100vh,900px) + 1rem)}
}
blockquote{margin:0 40px;padding:0;font-style:normal}
.sqs-html-content p{margin:1rem 0;line-height:1.5em}
.sqs-html-content .sqsrte-large,.sqs-html-content .sqsrte-small{line-height:1.5em}
.sqs-html-content h1,.sqs-html-content h2,.sqs-html-content h3,.sqs-html-content h4{margin:2rem 0}
.sqs-html-content{overflow-wrap:break-word}
.sqs-html-content a{color:inherit}
.sqs-html-content p a,.sqs-html-content h4 a{text-decoration:underline;text-underline-offset:.15em}
.sqs-html-content>*:first-child{margin-top:0}
.sqs-html-content>*:last-child{margin-bottom:0}
hr{border:0;height:1px;background:var(--accent);margin:0;width:100%}
.sqsrte-text-color--accent{color:var(--accent)}
.sqsrte-text-color--darkAccent{color:var(--darkAccent)}
.sqsrte-text-color--black{color:var(--black)}
.sqsrte-text-color--white{color:var(--white)}
.sqsrte-text-color--lightAccent{color:var(--lightAccent)}

/* ---------- Header ---------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;height:var(--header-h);display:flex;align-items:flex-start;padding:0 var(--sqs-site-gutter);background:transparent}
.site-header .logo{display:block;margin-top:1px;flex:0 0 auto}
.site-header .logo img{height:47px;width:auto}
.site-nav{display:flex;gap:4.6vw;margin-left:3.45vw;padding-top:5px}
.site-nav a{font-family:var(--nav-font);font-style:italic;font-weight:400;color:var(--accent);text-decoration:none;font-size:calc((1.1 - 1)*1.2vw + 1rem);line-height:2.1;letter-spacing:.01em}
.site-nav a{padding-bottom:.1em;background:linear-gradient(var(--accent),var(--accent)) no-repeat 0 100%/0 1px;transition:background-size .3s}
.site-nav a:hover,.site-nav a[aria-current=page]{background-size:100% 1px}
.burger{display:none}
@media (max-width:767px){
  .site-header{align-items:center;padding:0 var(--sqs-mobile-site-gutter)}
  .site-header .logo img{height:auto;width:min(70vw,300px)}
  .site-nav{display:none}
  .burger{display:block;margin-left:auto;width:35px;height:24px;position:relative;background:none;border:0;padding:0;cursor:pointer}
  .burger span{position:absolute;left:0;width:35px;height:1px;background:var(--accent);transition:transform .3s,top .3s}
  .burger span:nth-child(1){top:6px}.burger span:nth-child(2){top:17px}
  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)}
  .mobile-menu{position:fixed;inset:0;z-index:40;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  body.menu-open .mobile-menu{opacity:1;visibility:visible}
  .mobile-menu a{font-family:var(--nav-font);font-style:italic;color:var(--accent);text-decoration:none;font-size:30px;line-height:1.6}
}
@media (min-width:768px){.mobile-menu{display:none}}

/* ---------- Sections + layout grid (fluid engine) ---------- */
main{display:block}
.page-section{position:relative;display:block;width:100%}
.page-section .section-background{position:absolute;inset:0;z-index:0}
.page-section .content-wrapper{position:relative;z-index:1;width:100%;margin:0 auto}
.fluid-engine{display:grid;position:relative}
.fe-block{position:relative;display:flex;min-width:0}
.fe-block>.sqs-block{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-start;position:relative}
.fe-block>.sqs-block>.sqs-block-content{width:100%}
.fe-block .sqs-block-alignment-wrapper{display:flex;height:100%;width:100%}
.sqs-block-image>.sqs-block-content,.fluid-image-container{height:100%}
.fluid-image-container{position:relative;width:100%;height:100%;overflow:hidden}
.fluid-image-container a{position:absolute;inset:0;display:block}
.fluid-image-container img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--image-component-object-fit,cover);object-position:var(--image-component-focal-point,50% 50%)}
.sqs-block-horizontalrule>.sqs-block-content{display:flex;align-items:center;height:100%}
.sqs-block-code>.sqs-block-content{height:100%}

/* Classic (older) column layouts */
.classic-section .content-wrapper{max-width:var(--sqs-site-max-width);padding:2vw var(--sqs-site-gutter)}
.sqs-layout .row{display:flex;flex-wrap:nowrap;margin:0 -17px}
.sqs-layout .col .row{margin:0}
.sqs-layout .col{padding:0;min-width:0}
.sqs-layout>.row>.col,.sqs-layout .row .col{flex:0 0 auto}
.sqs-layout .sqs-block{padding:17px;position:relative}
@media (min-width:768px){.sqs-layout .first-block{padding-top:0}.sqs-layout .first-block:last-child{padding-bottom:0}}
.sqs-html-content p:empty::before{content:"\200B"}
.sqs-block-markdown p:empty::before,.sqs-layout .sqs-html-content>p:only-child:empty::before{content:none}
.sqs-layout .sqs-block-horizontalrule hr{margin:8px 0}
.sqs-block-gallery .aw-grid{padding-bottom:var(--gap)}
@media (max-width:767px){.sqs-layout .sqs-block-spacer{display:none}.sqs-block-gallery .aw-grid{padding-bottom:var(--m-gap)}}
.sqs-layout .image-block-img{margin:0 auto}
.sqs-layout .sqs-block-spacer{min-height:1px}
.sqs-layout .image-block-img img{width:100%;height:auto}
.sqs-layout .video-wrap{position:relative;padding-top:56.25%}
.sqs-layout .video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:767px){
  .classic-section .content-wrapper{padding:6vw var(--sqs-mobile-site-gutter)}
  .sqs-layout .row{flex-direction:column;margin:0 -17px}
  .sqs-layout .col .row{margin:0}
  .sqs-layout .col{width:100% !important;padding:0}
}

/* ---------- Galleries ---------- */
.aw-gallery figure{margin:0}
.aw-gallery img{width:100%;height:100%;object-fit:cover}
.aw-gallery button.lb{all:unset;cursor:zoom-in;display:block;width:100%;height:100%}
/* Grid */
.aw-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:var(--gap);padding:var(--pad-t,0) var(--pad) var(--pad-b,0)}
.aw-grid figure{aspect-ratio:var(--ratio);overflow:hidden}
.aw-grid.contain img{object-fit:contain}
@media (min-width:768px) and (max-width:999px){.aw-masonry .mcols,.aw-masonry .mcol{gap:1.07vw}.gallery-section .aw-grid{grid-template-columns:repeat(var(--t-cols,var(--cols)),1fr)}}
@media (max-width:767px){.aw-grid{grid-template-columns:repeat(var(--m-cols),1fr);gap:var(--m-gap);padding:var(--m-pad-t,0) var(--m-pad) var(--m-pad-b,0)}.aw-grid figure{aspect-ratio:var(--m-ratio,var(--ratio))}}
/* Masonry (laid out by site.js) */
.aw-masonry{position:relative;padding:var(--pad-t,0) var(--pad) var(--pad-b,0)}
.aw-masonry .mcols{display:flex;gap:var(--gap);align-items:flex-start}
.aw-masonry .mcol{flex:1 1 0;display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.aw-masonry img{height:auto}
@media (max-width:767px){.aw-masonry{padding:var(--m-pad-t,0) var(--m-pad) var(--m-pad-b,0)}.aw-masonry .mcols,.aw-masonry .mcol{gap:var(--m-gap)}}
/* Reel (horizontal carousel, current image centered) */
.aw-reel{position:relative;height:calc(var(--vh,100)*1vh);overflow:hidden}
.aw-reel .track{position:absolute;left:0;top:0;height:calc(100% - 59px);width:100%}
.aw-reel figure{position:absolute;top:0;left:0;height:100%;will-change:transform}
.aw-reel figure img{height:100%;width:100%;max-width:none}
.aw-reel .ctrl{position:absolute;left:25px;bottom:0;display:flex;gap:10px;height:44px}
.aw-reel .ctrl button{width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;color:#000;display:flex;align-items:center;justify-content:center}
.aw-reel .ctrl svg{width:30px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.98);display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:calc(100vw - 160px);max-height:calc(100vh - 80px);width:auto;height:auto;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;cursor:pointer;color:#000;padding:20px;font:inherit}
.lightbox .lb-close{top:10px;right:10px}
.lightbox .lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.lightbox .lb-next{right:10px;top:50%;transform:translateY(-50%)}
.lightbox svg{width:30px;height:30px;stroke:#000;fill:none;stroke-width:1.5}
@media (max-width:767px){.lightbox img{max-width:100vw;max-height:calc(100vh - 120px)}.lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:10px;transform:none}}

/* Social icons */
@media (min-width:768px){.sqs-block-sociallinks>.sqs-block-content{min-height:52px}}
.social-links{display:flex;gap:12px;flex-wrap:wrap;height:100%;align-items:flex-end}
.social-links a{display:block;width:20px;height:20px;color:#000;position:relative}
.social-links svg{position:absolute;left:-10px;top:-10px;width:40px;height:40px;fill:currentColor}

/* Buttons + forms */
.sqs-block-button-element{display:inline-block;background:var(--accent);color:#fff !important;text-decoration:none;font-family:var(--nav-font);font-weight:700;font-style:italic;border-radius:0;padding:14px 32px;line-height:1.2}
.aw-form{display:grid;gap:14px;font-family:var(--body-font)}
.aw-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aw-form label{display:block;font-size:14px;margin-bottom:6px}
.aw-form input,.aw-form textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #a9a9a9;border-radius:0;background:#fff;color:#000}
.aw-form textarea{min-height:100px;resize:vertical}
.aw-form button{justify-self:start;background:var(--accent);color:#fff;border:0;border-radius:0;padding:14px 32px;font-family:var(--nav-font);font-weight:700;font-style:italic;font-size:16px;cursor:pointer}
.aw-form .msg{font-size:15px}
.aw-form label span{opacity:.6;font-size:.85em;margin-left:4px}
.aw-form .hp{position:absolute;left:-9999px}

/* Footer */
.site-footer{position:relative}
.section-background{position:absolute;inset:0;z-index:0;overflow:hidden}

/* ---------- Page-specific styles (carried over from Squarespace Custom CSS) ---------- */
/* Pets page: tagline black */
#block-a26bfe4175951eea9d7f#block-a26bfe4175951eea9d7f h4,#block-a26bfe4175951eea9d7f#block-a26bfe4175951eea9d7f h4 *{color:#000 !important}
/* Pets page bio */
#block-yui_3_17_2_1_1790374001643_18718 p{font-size:17.82px !important}
#block-yui_3_17_2_1_1790374001643_18718 strong{font-weight:inherit !important;font-size:1.2em}
#block-yui_3_17_2_1_1790374001643_18718 p:first-child strong{font-size:1.54em}
/* Pets page: white text + stars on desktop (links unchanged) */
@media screen and (min-width:768px){
  body.page-pets main :not(a):not(a *):not(input):not(textarea):not(select){color:#fff !important}
}
/* Pets page: crop hat photo bottom on mobile */
@media screen and (max-width:767px){
  .fe-block-yui_3_17_2_1_1790285291729_5388 .fluid-image-container{aspect-ratio:319/369.075;height:auto !important}
}
/* Pets page: asterisk link, no underline */
main a[href="/"],main a[href="/"]:hover{text-decoration:none !important;color:rgb(0,17,255) !important}
body.page-pets .site-footer{display:none}
@media (max-width:767px){body.page-pets .site-header{display:none}}
/* Strip gallery (row of images, scroll sideways) */
.aw-strip{display:flex;gap:10px;overflow-x:auto;aspect-ratio:var(--ar);scrollbar-width:thin}
.aw-strip figure{flex:0 0 auto;height:100%}
.aw-strip figure button.lb,.aw-strip img{height:100%;width:auto;object-fit:contain}
@media (max-width:767px){.aw-strip{aspect-ratio:var(--m-ar)}}
/* Older pages: leave room for the header */
main>.classic-section:first-child .content-wrapper{padding-top:calc(var(--header-h) + 2vw)}
.classic-section .sqs-html-content a{color:var(--accent)}
