/* v0.7.6 — Scope to the public homepage. Dashboard, booking and client gallery are unaffected. */
.editorial-site{
 --color-primary:#30483E;--color-background:#F8F7F2;--color-sage:#A6B4A5;
 --color-sand:#DDD3C3;--color-text:#26342D;--color-muted:#596C62;
 --color-white:#FFFFFF;--editorial-line:#dadfd7;
 background:var(--color-background);color:var(--color-text);
 font-family:'Plus Jakarta Sans',Inter,'Segoe UI',Arial,sans-serif;
}
.editorial-site h1,.editorial-site h2,.editorial-site .editorial-about-placeholder strong{font-family:'DM Serif Display',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em}
.editorial-site h2{font-size:clamp(2.2rem,3.9vw,4rem);line-height:1.12}
.editorial-site a:focus-visible,.editorial-site button:focus-visible,.editorial-site summary:focus-visible{outline:3px solid #759787;outline-offset:4px}
.editorial-site .btn{border-radius:4px;font-weight:700;min-height:48px;font-size:13px;padding:13px 19px;transition:background .2s,transform .2s}
.editorial-site .btn-primary{background:var(--color-primary);color:white;border-color:var(--color-primary)}
.editorial-site .btn-primary:hover{background:#24372f}
.editorial-site .btn-outline{border-color:var(--color-primary);background:transparent;color:var(--color-primary)}
.editorial-site .btn-outline:hover{background:#e8eee8}
.editorial-site .eyebrow{color:var(--color-muted);font-size:10px;letter-spacing:.16em}
.editorial-site .public-header.editorial-nav{position:sticky;z-index:40;top:0;background:#f8f7f2f5;backdrop-filter:blur(12px);border-color:#e7e7df;height:86px}
.editorial-site .wordmark{font-size:22px;color:var(--color-primary);line-height:1.1}
.editorial-site .wordmark span{display:block;letter-spacing:.27em;color:var(--color-muted);font-size:9px;margin-top:3px;font-weight:650}
.editorial-site .public-header nav{gap:clamp(13px,2vw,30px);font-size:12px}
.editorial-site .public-header nav>a:not(.btn){padding:8px 0;border-bottom:1px solid transparent;transition:border .2s}
.editorial-site .public-header nav>a:not(.btn):hover{border-bottom-color:var(--color-primary)}
.editorial-mobile-nav{display:none}
.editorial-site .hero.editorial-hero{min-height:min(720px,86vh);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--color-background)}
.editorial-site .hero-inner{padding:95px clamp(32px,5vw,100px) 100px max(5vw,calc((100vw - 1200px)/2));max-width:900px}
.editorial-site .hero h1{font-size:clamp(56px,5.4vw,88px);line-height:1.04;max-width:660px;margin:20px 0 24px;color:var(--color-text)}
.editorial-site .hero p{font-size:clamp(15px,1.5vw,18px);line-height:1.8;color:var(--color-muted);max-width:510px}
.editorial-site .hero .actions{margin-top:32px;gap:12px}
.editorial-site .hero-art.editorial-hero-photo{padding:0;min-height:575px;background:#e8ece5;overflow:hidden;position:relative}
.editorial-hero-photo>img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.editorial-photo-placeholder{width:100%;height:100%;min-height:575px;background:#cad4cb;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:60px 15px;color:var(--color-primary);text-align:center}
.editorial-photo-placeholder>span{font-size:12px;font-weight:800;letter-spacing:.32em}
.editorial-photo-placeholder>div{max-width:330px;font:italic clamp(36px,4vw,62px)/1.12 Georgia,serif}
.editorial-photo-placeholder>small{color:var(--color-primary);font-size:11px;letter-spacing:.14em}
.editorial-site .public-section.editorial-section{padding:100px max(5vw,calc((100vw - 1200px)/2));background:var(--color-background)}
.editorial-site .public-section.editorial-section.alt{background:#f1f3ed}
.editorial-heading{max-width:790px;margin-bottom:35px}
.editorial-heading h2{margin:12px 0 16px;max-width:760px}
.editorial-heading p{max-width:680px;color:var(--color-muted);font-size:15px;line-height:1.8}
.editorial-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px}
.editorial-work-item{min-width:0;margin:0}
.editorial-work-image{overflow:hidden;aspect-ratio:4/5;background:#dae2da}
.editorial-work-featured .editorial-work-image{aspect-ratio:4/5}
.editorial-work-item:nth-child(3n+2) .editorial-work-image{aspect-ratio:4/5}
.editorial-work-image img{height:100%;width:100%;display:block;object-fit:cover;transition:transform .45s}
.editorial-work-item:hover img{transform:scale(1.035)}
.editorial-work-item figcaption{padding:12px 0 3px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.editorial-work-item figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted)}
.editorial-work-item h3{font-size:16px;font-weight:650;margin:3px 0}
.editorial-work-item figcaption p{font-size:12px;color:var(--color-muted);max-width:200px;margin:2px 0}
.editorial-text-link{display:inline-flex;margin-top:31px;font-size:13px;font-weight:700;gap:10px;border-bottom:1px solid var(--color-primary);padding-bottom:5px}
.editorial-empty{padding:36px;border:1px dashed #a6b4a5;background:#f1f3ed;color:var(--color-muted);font-size:14px}
.editorial-site .website-package-heading{margin-bottom:32px}
.editorial-site .website-package-card{background:#fbfbf8;border-color:#d8dfd7;border-radius:8px;box-shadow:none}
.editorial-site .website-package-card:hover{box-shadow:0 9px 24px #30483e0d}
.editorial-site .website-package-number{color:#5a6e61}
.editorial-site .website-package-card h3{font-family:'DM Serif Display',Georgia,serif;font-size:29px;font-weight:400}
.editorial-site .website-package-open{color:var(--color-primary)}
.editorial-site .website-package-footnote a{color:var(--color-primary)}
.editorial-site .editorial-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,100px)}
.editorial-about-visual{aspect-ratio:4/5;max-height:670px;overflow:hidden;background:#cad4cb}
.editorial-about-visual img{height:100%;width:100%;object-fit:cover}
.editorial-about-placeholder{height:100%;min-height:440px;padding:32px;color:var(--color-primary);display:flex;flex-direction:column;justify-content:space-between;background:#e5e8dc}
.editorial-about-placeholder span{font-size:11px;letter-spacing:.18em}
.editorial-about-placeholder strong{font-size:clamp(39px,4vw,70px);line-height:1.12;font-weight:400}
.editorial-site .editorial-about h2{margin:18px 0 26px}
.editorial-site .editorial-about p{color:var(--color-muted);font-size:16px;line-height:1.95;max-width:500px;white-space:pre-line}
.editorial-site .editorial-kind-words{background:#efeee6!important}
.editorial-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.editorial-quote{margin:0;background:#faf9f5;border:1px solid #e5e3db;border-radius:8px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;min-height:240px}
.editorial-quote>p{font:italic 20px/1.65 Georgia,serif;white-space:pre-line}
.editorial-quote footer{display:flex;flex-direction:column;font-size:12px;color:var(--color-muted);border-top:1px solid #e6e2d9;padding-top:16px}
.editorial-quote footer strong{color:var(--color-text)}
.editorial-steps{list-style:none;margin:25px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px}
.editorial-steps li{border-top:1px solid #a6b4a5;padding-top:16px;min-width:0}
.editorial-steps li>span{display:block;color:var(--color-muted);font:normal 30px Georgia,serif;margin:0 0 24px}
.editorial-steps li h3{font-size:15px;line-height:1.45;margin:0 0 12px}
.editorial-steps li p{font-size:12px;line-height:1.9;color:var(--color-muted)}
.editorial-site .editorial-faq{background:#f1f3ed!important}
.editorial-faq-list{max-width:840px}
.editorial-faq-list details{border-bottom:1px solid #cdd7cd}
.editorial-faq-list summary{padding:21px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:16px;font-weight:650}
.editorial-faq-list summary::-webkit-details-marker{display:none}
.editorial-faq-list summary span{font-size:23px;font-weight:400}
.editorial-faq-list details[open] summary span{transform:rotate(45deg)}
.editorial-faq-list details p{white-space:pre-line;color:var(--color-muted);max-width:670px;line-height:1.85;margin-bottom:21px}
.editorial-final-cta{background:var(--color-primary);color:#f8f7f2;text-align:center;padding:100px 24px;display:flex;align-items:center;flex-direction:column}
.editorial-final-cta .eyebrow{color:#c4d2c6}
.editorial-final-cta h2{font-size:clamp(36px,5vw,70px);margin:16px 0 20px;max-width:900px}
.editorial-final-cta p{max-width:610px;line-height:1.8;color:#e1e9df}
.editorial-final-cta .btn-light{background:#f8f7f2;color:var(--color-primary);border-color:#f8f7f2;margin-top:14px}
.editorial-site .public-footer.editorial-footer{background:#263c33;color:#edf2e8;text-align:left;letter-spacing:normal;padding:65px max(5vw,calc((100vw - 1200px)/2)) 28px;font-size:13px}
.editorial-footer-grid{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:clamp(26px,6vw,100px);padding-bottom:70px}
.editorial-footer-grid>div{display:flex;flex-direction:column;gap:11px;min-width:0;align-items:flex-start}
.editorial-footer-grid>div p{line-height:1.7;color:#c8d8cf;max-width:295px;margin-top:10px}
.editorial-footer-brand{font-weight:800;font-size:24px;letter-spacing:.17em}
.editorial-footer-brand small{display:block;letter-spacing:.16em;color:#c8d8cf;font-size:10px}
.editorial-footer-grid strong{font-size:10px;letter-spacing:.14em;margin-bottom:6px;color:#c8d8cf}
.editorial-footer-grid a:not(.editorial-footer-brand),.editorial-footer-grid span{color:#e2e9e2;font-size:13px;overflow-wrap:anywhere}
.editorial-footer-grid a:hover,.editorial-footer-bottom a:hover{text-decoration:underline}
.editorial-footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:22px;color:#c8d8cf;font-size:11px;letter-spacing:.04em}
.editorial-site .website-package-dialog{border-radius:10px}
@media(max-width:980px){
 .editorial-site .hero.editorial-hero{grid-template-columns:1fr 1fr}
 .editorial-site .hero-inner{padding:65px 32px}
 .editorial-site .hero h1{font-size:clamp(43px,5vw,60px)}
 .editorial-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 .editorial-site .public-header.editorial-nav{height:74px;padding:13px 22px}
 .editorial-site .public-header .editorial-desktop-nav{display:none}
 .editorial-mobile-nav{display:block;position:relative}
 .editorial-mobile-nav summary{cursor:pointer;list-style:none;font-size:12px;font-weight:700;border:1px solid #b9c8ba;padding:9px 12px;border-radius:4px}
 .editorial-mobile-nav summary::-webkit-details-marker{display:none}
 .editorial-mobile-nav nav{position:absolute;display:flex;flex-direction:column;align-items:stretch;right:0;top:45px;width:220px;background:#f8f7f2;border:1px solid #c6d1c5;box-shadow:0 12px 30px #12261a20;padding:12px;z-index:50}
 .editorial-mobile-nav nav a{display:block;padding:9px 8px;font-size:13px}
 .editorial-site .hero.editorial-hero{grid-template-columns:1fr;min-height:0}
 .editorial-site .hero-inner{padding:75px 24px 55px}
 .editorial-site .hero h1{font-size:clamp(43px,10vw,65px)}
 .editorial-site .hero-art.editorial-hero-photo{height:430px;min-height:0}
 .editorial-photo-placeholder{min-height:430px}
 .editorial-site .public-section.editorial-section{padding:70px 23px}
 .editorial-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .editorial-work-item figcaption{flex-direction:column;gap:2px}
 .editorial-work-item figcaption p{font-size:11px}
 .editorial-site .editorial-about{grid-template-columns:1fr;gap:32px}
 .editorial-about-visual{max-height:500px}
 .editorial-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
 .editorial-testimonial-grid{grid-template-columns:1fr}
 .editorial-footer-grid{grid-template-columns:1fr 1fr;gap:40px}
 .editorial-footer-grid>div:first-child{grid-column:1/-1}
 .editorial-site .public-footer.editorial-footer{padding:55px 24px 23px}
 .editorial-final-cta{padding:80px 24px}
}
@media(max-width:390px){
 .editorial-work-grid{grid-template-columns:1fr}
 .editorial-site .hero .actions{flex-direction:column;align-items:stretch}
 .editorial-site .hero .actions .btn{justify-content:center}
 .editorial-steps{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.editorial-work-image img,.editorial-site .btn{transition:none}.editorial-work-item:hover img{transform:none}}

/* v0.7.7 event albums, editorial 3-image collage and accessible modal */
.editorial-event-trigger{padding:0;width:100%;display:block;text-align:left;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit}
.editorial-event-trigger:focus-visible{outline:3px solid #759787;outline-offset:5px}
.editorial-event-collage{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;aspect-ratio:4/4.4;overflow:hidden;background:#dce4d9;border-radius:6px}
.editorial-event-image{min-width:0;min-height:0;overflow:hidden;position:relative}
.editorial-event-image:first-child{grid-row:1/3}
.editorial-event-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.editorial-event-trigger:hover img{transform:scale(1.03)}
.editorial-event-collage-1{display:block}.editorial-event-collage-1 .editorial-event-image{display:block;height:100%}
.editorial-event-collage-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.editorial-event-collage-2 .editorial-event-image:first-child{grid-row:auto}
.editorial-event-more{position:absolute;inset:0;background:#12251c80;color:#fff;font-size:24px;display:grid;place-items:center;font-weight:700}
.editorial-event-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:13px 0 0}
.editorial-event-caption strong{font-size:18px;font-weight:650;line-height:1.35}
.editorial-event-view{font-size:12px;color:var(--color-primary);font-weight:700;margin-top:4px}
.portfolio-event-dialog{border:0;border-radius:9px;padding:0;background:var(--color-background);color:var(--color-text);width:min(960px,calc(100vw - 22px));max-height:94vh;box-shadow:0 25px 100px #0004;overflow-y:auto}
.portfolio-event-dialog::backdrop{background:#0e2219cc}
.portfolio-event-dialog-inner{padding:25px clamp(12px,3vw,34px);position:relative}
.portfolio-event-close{position:absolute;top:12px;right:12px;border:0;background:#e0e7de;border-radius:50%;height:38px;width:38px;cursor:pointer;font-size:24px;z-index:2}
.portfolio-event-header{padding-right:50px}.portfolio-event-header h2{font-size:clamp(28px,3vw,42px);margin:8px 0 9px}.portfolio-event-header p{font-size:13px;line-height:1.7;max-width:730px;white-space:pre-line;color:var(--color-muted)}
.portfolio-event-viewer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px;background:#e6ece5;min-height:180px;border-radius:4px;padding:8px}
.portfolio-event-viewer img{display:block;max-height:min(59vh,560px);width:calc(100% - 100px);height:auto;object-fit:contain}
.portfolio-event-viewer button{border:1px solid #a3b4a5;background:#f8f7f2;width:40px;height:48px;font-size:30px;cursor:pointer;border-radius:4px;flex-shrink:0}
.portfolio-event-footer{margin-top:15px;font-size:12px;color:var(--color-muted)}
.portfolio-event-thumbs{display:flex;gap:7px;overflow-x:auto;margin-top:9px;padding:2px 0 9px}
.portfolio-event-thumbs button{padding:0;width:60px;height:64px;flex:0 0 60px;border:2px solid transparent;background:transparent;cursor:pointer;border-radius:4px;overflow:hidden}
.portfolio-event-thumbs button[aria-current=true]{border-color:var(--color-primary)}
.portfolio-event-thumbs img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.portfolio-event-dialog-inner{padding:22px 12px}.portfolio-event-viewer img{width:calc(100% - 78px)}.portfolio-event-viewer button{width:32px;height:42px}.editorial-event-collage{aspect-ratio:4/3.4}}
@media(prefers-reduced-motion:reduce){.editorial-event-image img{transition:none}}
