/* Photography, warm paper and generous typography. */
/* Keep the baseline stable when hovering a justified row. */
.portfolio-gallery figure:hover{transform:none!important}
.portfolio-lightbox,.shooting-login{z-index:200}
:root{--muted:#79665b}
.hero-copy{max-width:560px}.hero-region{letter-spacing:.16em;font-size:10px}.hero-qualification{display:flex;align-items:center;gap:11px;width:fit-content;margin:18px 0 22px;padding:11px 16px 11px 12px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(255,250,245,.7);color:#785440}.hero-qualification svg{width:31px;height:31px;flex-shrink:0}.hero-qualification>span{font-size:11px;font-weight:600;letter-spacing:.01em}.hero-qualification small{display:block;margin-top:2px;font-size:9px;font-weight:400;color:var(--muted)}
.hero-copy p{font-size:14px!important}.hero-copy h1{margin-top:0}.service-body p,.about-copy p{color:#79665b}.about-copy p{font-size:14px;line-height:1.8}
#portfolio .portfolio-panel{padding:28px 0 0;border:0;box-shadow:none;background:none!important;backdrop-filter:none}.portfolio-head{margin-bottom:36px}.portfolio-gallery{gap:24px}.portfolio-gallery figure{border-radius:4px;box-shadow:0 12px 28px rgba(80,54,40,.09);transition:box-shadow .4s ease,transform .4s ease;isolation:isolate}.portfolio-gallery figure:nth-child(6n+1),.portfolio-gallery figure:nth-child(6n+6){border-radius:52px 4px 4px 4px}.portfolio-gallery figure:nth-child(6n+3){border-radius:4px 4px 48px 4px}.portfolio-gallery figure::before{content:attr(data-category);position:absolute;left:14px;bottom:14px;z-index:2;padding:7px 12px;border-radius:30px;background:rgba(255,250,244,.94);color:#634a3d;font-size:10px;letter-spacing:.04em;opacity:0;transition:opacity .35s ease;pointer-events:none}.portfolio-gallery figure[data-category=""]::before{display:none}.portfolio-gallery figure:hover::before,.portfolio-gallery figure:focus-visible::before{opacity:1}.portfolio-gallery figure:hover{transform:translateY(-3px);box-shadow:0 20px 34px rgba(80,54,40,.14)}.portfolio-gallery img{opacity:1!important;filter:none!important}.portfolio-note{max-width:620px;margin:28px auto 0;color:#79665b}.portfolio-lightbox figure{gap:16px}.lightbox-thumbs{padding:8px}.lightbox-thumb{border-radius:6px}
.bottom-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.faq,.contact{padding:32px}.contact{position:sticky;top:105px}.faq h2{margin:10px 0;font-size:32px}.faq-intro{font-size:12px;color:var(--muted)}.faq-category{margin:28px 0 8px;font:600 11px 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#99684e}.faq summary{padding:15px 26px 15px 0;font-size:13px;line-height:1.5}.faq details p{font-size:12px;line-height:1.8;color:#79665b}.contact-form input,.contact-form textarea{font-size:15px!important;padding:12px!important}.contact-form label{font-size:11px!important}.contact-form .btn{min-height:44px}
.booking-form label[hidden],.booking-form button[hidden],.booking-result[hidden]{display:none!important}.booking-form input,.booking-form select{font:400 15px 'DM Sans',sans-serif;min-height:44px}.booking-form label{font-size:11px;letter-spacing:.02em;text-transform:none}.booking-form input:disabled,.booking-form select:disabled{opacity:.65}.booking-step{font-size:11px;font-weight:600;margin:0 0 18px}.booking-edit{background:none;border:0;padding:8px 0;text-decoration:underline;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}.booking-alternative{font-size:11px;line-height:1.7;margin:20px 0 0}.booking-alternative a{text-decoration:underline;text-underline-offset:3px}.booking-result{margin-top:22px;padding:24px;border-radius:18px;border:1px solid #cdd7bf;background:#f3f6ed}.booking-result h3{font-family:'Libre Caslon Display',serif;font-size:27px;font-weight:400}.booking-result p{font-size:12px;line-height:1.6}.booking-form #bookingStatus{font-size:12px;line-height:1.6;color:#79513d}.booking-calendar-head p{line-height:1.6}
.privacy-notice{width:min(590px,calc(100% - 40px));display:block;padding:18px 20px}.privacy-notice p{font-size:11px;color:#79665b}.consent-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.consent-actions .btn{padding:10px 13px;font-size:11px;min-height:40px;box-shadow:none}.consent-actions a{margin-left:auto;font-size:10px;text-decoration:underline}.mobile-booking-bar{display:none}.btn.fill{color:#50362a;background:#d6b09b}.btn.fill:hover{background:#c99e87}
.consent-option{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px;padding:12px 13px;border-radius:14px;background:rgba(234,212,199,.28);cursor:pointer}.consent-option>span strong,.consent-option>span small{display:block}.consent-option>span strong{font:600 11px 'DM Sans',sans-serif}.consent-option>span small{color:var(--muted);font-size:9px}.consent-option input{position:absolute;opacity:0}.consent-option i{position:relative;width:40px;height:23px;flex:none;border-radius:99px;background:#c7b9b1;transition:background .2s}.consent-option i::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:transform .2s}.consent-option input:checked+i{background:#9baa8f}.consent-option input:checked+i::after{transform:translateX(17px)}.consent-option input:focus-visible+i{outline:2px solid #8a5946;outline-offset:2px}
@media(max-width:700px){.consent-actions{flex-wrap:wrap}.consent-actions .btn{flex:1}.consent-actions a{width:100%;margin:2px 0 0;text-align:center}}
@media(max-width:900px){.bottom-grid{grid-template-columns:1fr}.contact{position:static}.faq,.contact{padding:26px}.hero-copy{max-width:500px}}
@media(max-width:700px){.hero-copy{min-height:auto!important;width:min(95%,410px);padding:24px 22px 28px}.hero-qualification{margin:14px 0 20px;padding:10px 12px}.hero-region{font-size:9px}.hero-qualification>span{font-size:10.5px}.hero-copy p{font-size:13px!important}.portfolio-gallery{gap:12px}.portfolio-gallery figure:nth-child(6n+1),.portfolio-gallery figure:nth-child(6n+6){border-top-left-radius:25px}.portfolio-gallery figure:nth-child(6n+3){border-bottom-right-radius:25px}.portfolio-gallery figure::before{left:7px;bottom:7px;padding:5px 8px;font-size:8px;opacity:1}.portfolio-gallery figure:hover{transform:none}.portfolio-head{margin-bottom:24px}.portfolio-note{font-size:11px;padding-inline:16px}.faq,.contact{padding:23px 20px}.faq summary{font-size:13px}.faq details p{font-size:13px}.booking-form input,.booking-form select,.contact-form input,.contact-form textarea{font-size:16px!important}.booking-form .dashboard-actions{flex-direction:column;align-items:stretch}.booking-form .btn{min-height:44px}.privacy-notice{bottom:10px;right:10px;width:calc(100% - 20px);padding:13px 15px;border-radius:16px}.privacy-notice strong{font-size:18px}.privacy-notice p{font-size:10.5px;line-height:1.45}.consent-actions{gap:7px;margin-top:10px}.consent-actions .btn{padding:8px 11px;font-size:10.5px}.mobile-booking-bar:not([hidden]){display:flex;position:fixed;z-index:90;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);align-items:center;justify-content:space-between;gap:18px;width:min(390px,calc(100% - 28px));padding:13px 17px;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:rgba(255,249,243,.96);box-shadow:0 8px 32px rgba(69,45,32,.2);backdrop-filter:blur(16px);text-decoration:none}.mobile-booking-bar>span{max-width:130px;font-size:10px;line-height:1.4;color:#79665b}.mobile-booking-bar strong{font-size:12px;font-weight:600}.mobile-booking-bar strong span{margin-left:8px}footer{padding-bottom:90px!important}.service-row{padding-bottom:15px}.about-heading{padding-top:35px}}
@media(prefers-reduced-motion:reduce){.portfolio-gallery figure{transform:none!important;transition:none!important}}
