:root{--ink:#171717;--paper:#f5f2eb;--accent:#b7472a;--white:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select{font:inherit}#about,#book,#experience,#faq,#location,#pricing,#work{scroll-margin-top:100px}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;min-height:74px;padding:10px 5vw;background:var(--ink);color:var(--white);font-weight:900}.site-header nav{display:flex;gap:.55rem;align-items:center;font-size:.84rem;text-transform:uppercase}.site-header>.button{justify-self:end}.brand{width:186px;height:90px;display:flex;align-items:center;justify-content:center}.brand img{display:block;width:100%;height:100%;object-fit:contain;filter:invert(1)}.about-heading-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:4vw;margin:32px 0}.about-heading-row h2{font-size:clamp(2.8rem,5.5vw,6rem);line-height:.9;margin:0}.about-lead{max-width:820px;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.6}.about-photo{display:block;width:100%;max-width:460px;min-width:0;height:auto;margin:0;justify-self:end;border:2px solid var(--ink)}.about-story{display:grid;grid-template-columns:1fr 1.3fr;gap:6vw;margin-top:64px;padding-top:40px;border-top:2px solid var(--ink)}.about-story h2{font-size:clamp(2.5rem,5vw,4.5rem)}.about-story p{font-size:1.08rem;line-height:1.7;margin:0 0 24px}@media (max-width:1100px){.site-header nav{font-size:.72rem;gap:.35rem}}@media (max-width:700px){.about-heading-row{grid-template-columns:1fr;gap:28px}.about-photo{justify-self:start}.about-story{grid-template-columns:1fr;gap:28px}}.button{display:inline-block;width:fit-content;padding:12px 16px;border:2px solid var(--ink);background:var(--accent);color:var(--paper);box-shadow:4px 4px 0 var(--ink);text-decoration:none;font-weight:900;text-transform:uppercase;cursor:pointer}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);align-items:center;gap:6%;width:min(1180px,90vw);margin:0 auto;padding:48px 0}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:0}.hero h1{font-size:clamp(3rem,5.4vw,5.2rem);line-height:.95;margin:24px 0;letter-spacing:-.075em}.hero .intro{max-width:510px}.hero-image{min-height:520px;background:url(/images/morgan-ryan-seated-studio-fashion-portrait.jpg) center 25%/cover no-repeat}.hero-slider{position:relative;width:100%;max-width:360px;justify-self:end;aspect-ratio:2/3;max-height:540px;min-height:0;background:var(--paper);overflow:hidden}.hero-slider>img{object-fit:contain;object-position:center}.hero-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:42px;height:42px;border:1px solid var(--paper);background:#171717b3;color:var(--paper);font-size:1.5rem;cursor:pointer}.hero-slide-previous{left:16px}.hero-slide-next{right:16px}.hero-slide-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--paper)}.hero-slide-dots{display:flex;gap:10px}.hero-slide-dots button{width:12px;height:12px;padding:0;border:1px solid var(--paper);border-radius:50%;background:transparent;cursor:pointer}.hero-slide-dots button.active{background:var(--paper)}@media (max-width:700px){.hero{width:88vw;padding:36px 0;gap:32px}.hero-slider{max-width:100%;max-height:none;min-height:0}}h1,h2{margin:.23em 0;font-size:clamp(3rem,9vw,8rem);line-height:.78;letter-spacing:-.09em;text-transform:uppercase}h3{font-size:1.65rem}.tag{font-size:.75rem;letter-spacing:.12em;font-weight:900;text-transform:uppercase}.intro{max-width:640px;font-size:1.08rem;line-height:1.55}.price-link{display:inline-block;width:fit-content;margin-top:20px;color:var(--accent);font-weight:700;text-transform:uppercase}.section{padding:68px 5vw;border-bottom:2px solid var(--ink)}.dark{background:var(--ink);color:var(--paper)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:26px}.card{padding:20px;border:2px solid var(--ink);background:var(--white);color:var(--ink);font-size:1rem;line-height:1.5}.card strong{display:block;margin:8px 0;font-size:1.25rem}.dark .card{border-color:var(--accent);background:#242424;color:var(--paper)}.carousel{position:relative;max-width:800px;margin:25px auto}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.slide{position:relative;flex:0 0 100%;height:560px;margin:0;border:2px solid var(--ink);background:var(--ink);scroll-snap-align:center}.slide img{object-fit:contain;object-position:center}.slide figcaption{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:42px 16px 14px;background:linear-gradient(transparent,#171717e8);color:var(--paper);font-size:.92rem;font-weight:700;text-transform:uppercase}.carousel-arrow{position:absolute;top:42%;z-index:2;width:42px;height:42px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-size:1.55rem;font-weight:900;cursor:pointer}.previous{left:-17px}.next{right:-17px}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:11px}.dot{width:12px;height:12px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--paper);cursor:pointer}.dot.active{background:var(--accent)}.booking-grid,.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:stretch;margin-top:28px}.booking-form,.location-copy{padding:28px;border:2px solid var(--ink);background:var(--white)}.location-copy h3{margin-top:0}.location-copy p,.price-card p:not(.price),.pricing-note{font-size:1rem;line-height:1.65}.location-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:22px;font-weight:900}.map{width:100%;min-height:360px;border:2px solid var(--ink)}.pricing-group{margin-top:36px}.pricing-group h3{margin:0 0 16px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.price-card{padding:24px;border:1px solid var(--ink);border-top:4px solid var(--accent);background:var(--white)}.price-card h4{margin:0;font-size:1.1rem}.price{margin:16px 0;font-size:2.75rem;font-weight:900;letter-spacing:-.04em}.price-card a{color:var(--accent);font-weight:700}.faq-list{max-width:920px;margin-top:28px;border-top:2px solid var(--ink)}.faq-item{border-bottom:2px solid var(--ink);background:var(--white)}.faq-item summary{position:relative;padding:20px 52px 20px 20px;list-style:none;font-size:1.2rem;font-weight:900;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{position:absolute;top:14px;right:20px;color:var(--accent);content:"+";font-size:1.8rem}.faq-item[open] summary:after{content:"−"}.faq-item p{max-width:780px;margin:0;padding:0 20px 22px;font-size:1rem;line-height:1.6}.booking-form{display:grid}.booking-form label{margin:14px 0 6px;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.booking-form input,.booking-form select{width:100%;min-height:46px;padding:11px;border:2px solid var(--ink);background:var(--white);color:var(--ink)}.booking-form small{margin-top:6px;line-height:1.4}.booking-form .button{margin-top:22px}.form-status{margin:20px 0 0;padding:16px;border-left:4px solid var(--accent);background:var(--paper);line-height:1.5}.booking-fields{display:grid;border:0;padding:0;margin:0;min-width:0}.booking-honeypot,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.booking-form .consent-label{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5}.booking-form .consent-label input{width:18px;min-height:18px;flex:0 0 18px;margin-top:3px}button:disabled{cursor:wait;opacity:.6}.booking-fields button:disabled,.booking-fields:disabled{cursor:default}.policy-page{max-width:850px;line-height:1.7}.admin-page h1{margin:20px 0}.admin-login{max-width:460px;margin-top:28px}.admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.admin-list{display:grid;gap:24px;margin-top:24px}.admin-card{border:2px solid var(--ink);padding:24px;background:var(--white);overflow-wrap:anywhere}.admin-card h2{font-size:1.5rem;margin:0 0 16px}.admin-card select{display:block;padding:10px;margin-top:8px;background:var(--white);border:2px solid var(--ink)}.request-reference{font-size:.8rem}.gallery-panel{padding:30px;border:2px solid var(--accent);background:var(--ink);color:var(--paper)}.gallery-panel a{font-weight:900;text-transform:uppercase}.site-footer{padding:46px 5vw 22px;background:var(--ink);color:var(--paper)}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr .8fr;gap:32px;padding-bottom:34px}.footer-brand{font-size:1.55rem;font-weight:900;line-height:1.05;letter-spacing:-.04em;text-transform:uppercase}.footer-brand small,.footer-title{display:block;margin:12px 0;color:#d6d2c8;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.footer-links{display:grid;gap:7px}.footer-links a{font-size:.8rem;font-weight:700;line-height:1.3}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid #57534b;font-size:.75rem;line-height:1.4}@media (max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}}@media (max-width:700px){.site-header{min-height:68px;padding:10px 6vw}.site-header>.button{padding:10px 12px;font-size:.78rem}.brand{width:132px;height:76px}.booking-grid,.footer-grid,.hero,.location-grid{grid-template-columns:1fr}.hero-image{min-height:390px}.section{padding:46px 6vw}.card-grid,.pricing-grid{grid-template-columns:1fr}.slide{height:460px}.carousel-arrow{top:39%;width:38px;height:38px}.previous{left:-10px}.next{right:-10px}.map{min-height:300px}.site-footer{padding:38px 6vw 20px}.footer-bottom{display:grid}}@media (prefers-reduced-motion:reduce){.carousel-track,html{scroll-behavior:auto}}