@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--plum:#321d31;--muted:#6d606b;--gold:#aa8548;--ivory:#faf8f5;--line:#dfd7dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--plum);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b08742;outline-offset:6px}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{font-family:'Playfair Display',Georgia,serif;font-size:28px;line-height:1.25;white-space:nowrap}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.18em;margin-top:9px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover,.text-link:hover,.socials a:hover{color:var(--gold)}.nav-cta{border-bottom:1px solid var(--gold);padding:8px 0}.nav-cta span{margin-left:12px}.hero{max-width:1440px;margin:auto;padding:74px 5% 64px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.17em;line-height:1.6;margin:0 0 24px;color:#85622f}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(48px,5.3vw,78px);margin-bottom:28px}em{font-weight:500;color:#8e6b38}h1 em{color:#805575}.intro{max-width:470px;color:var(--muted);font-size:18px;line-height:1.8}.actions{display:flex;gap:24px;align-items:center;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:54px;padding:15px 25px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--plum);color:#fff}.primary:hover{background:#55304e}.text-link{font-size:14px;border-bottom:1px solid #bcacb7;padding:8px 0}.hero-note{font-size:12px;margin:32px 0 0;color:var(--muted);letter-spacing:.04em}.hero-art{background:#f1ebe8;border-radius:220px 220px 6px 6px;overflow:hidden;padding:50px 18px 24px;min-width:0}.logo-stage{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}.logo-stage img{width:100%;height:auto;mix-blend-mode:multiply}.art-caption{border-top:1px solid #d6c8cb;margin:0 22px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.13em}.service-ribbon{background:var(--plum);color:#ede0ca;display:flex;justify-content:center;gap:9vw;padding:24px;font-family:'Playfair Display',Georgia,serif;font-size:23px}.section{padding:96px max(5%,calc((100vw - 1296px)/2));}h2{font-size:clamp(36px,3.7vw,54px);margin-bottom:24px}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end;margin-bottom:44px}.section-heading>p{max-width:350px;color:var(--muted);margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.service-grid article{border-top:1px solid #bca68a;padding-top:26px}.number{font-size:12px;letter-spacing:.15em;color:#896c40;display:block;margin-bottom:29px;font-weight:600}h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:500;line-height:1.3;margin-bottom:17px}.service-grid p{color:var(--muted);max-width:350px}.service-detail{display:block;margin-top:26px;font-size:12px;letter-spacing:.04em;font-weight:600}.experience{background:var(--plum);color:#faf5ee;display:grid;grid-template-columns:1.15fr 1fr;gap:90px}.experience .eyebrow,.experience em{color:#d6b77e}.experience-intro>p:not(.eyebrow){max-width:460px;color:#d2c6d0}.light{background:#f2e9d9;color:var(--plum);margin-top:15px}.light:hover{background:#e3cfaa}.steps{list-style:none;padding:0;margin:0;align-self:center}.steps li{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #634f60}.steps li:first-child{padding-top:0}.steps li>span{color:#d6b77e;font-size:14px;padding-top:5px}.steps h3{font-size:24px;margin-bottom:9px}.steps p{color:#d2c6d0;font-size:15px;margin:0}.area{text-align:center;border-bottom:1px solid var(--line)}.area>p:not(.eyebrow){max-width:610px;margin-left:auto;margin-right:auto;color:var(--muted)}.area-notes{display:flex;justify-content:center;gap:0;margin:34px 0}.area-notes div{padding:0 45px}.area-notes div+div{border-left:1px solid var(--line)}.area-notes strong{display:block;font-size:20px;font-weight:500}.area-notes span{font-size:14px;color:var(--muted)}.fine{font-size:13px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;background:#f0e9ec}.contact>div>p:not(.eyebrow){max-width:400px;color:var(--muted)}.contact-tip{font-size:14px;margin-top:28px}.contact-card{padding:38px;background:#fffaf6;border:1px solid #e0d4da}.contact-card .number{margin-bottom:22px}.contact-card .button{display:flex;margin-bottom:12px;padding:15px 18px}.outline{border:1px solid #b7a5b2}.outline:hover{background:#f0e9ec}.contact-lines{display:flex;flex-direction:column;align-items:center;gap:5px;margin:26px 0;font-size:15px;overflow-wrap:anywhere}.socials{display:flex;justify-content:center;gap:30px;border-top:1px solid var(--line);padding-top:21px;font-size:14px}footer{padding:35px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer p{font-size:12px;color:var(--muted);text-align:right;margin:0}.skip{position:absolute;top:-80px;left:10px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.section{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:900px){header{padding:23px 5%}nav{gap:20px}nav>a:not(.nav-cta){display:none}.hero{gap:25px;padding-top:48px}h1{font-size:52px}.hero-art{padding-top:30px}.art-caption{margin:0 8px;font-size:9px}.section{padding:65px 5%}.section-heading{gap:35px}.experience{gap:40px}.contact{gap:35px}.contact-card{padding:25px}.service-grid{gap:25px}}@media(max-width:640px){.brand{font-size:23px}.brand span{font-size:9px}nav .nav-cta{font-size:12px;max-width:115px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:40px;gap:35px}h1{font-size:clamp(45px,11vw,66px)}.intro{font-size:16px}.hero-art{max-width:390px;width:100%;justify-self:center;padding-top:15px}.logo-stage{aspect-ratio:1.15}.art-caption{font-size:10px}.hero-note{font-size:12px}.service-ribbon{font-size:16px;gap:20px;padding:20px 12px;text-align:center}.section-heading,.service-grid,.experience,.contact{grid-template-columns:1fr;gap:25px}.section-heading{margin-bottom:16px}.section-heading>p{margin-bottom:10px}.service-grid{gap:32px}.service-grid article{padding-top:22px}.number{margin-bottom:17px}.service-detail{margin-top:17px}.experience{gap:40px}.area-notes div{padding:0 20px}.area-notes strong{font-size:18px}.area-notes span{font-size:12px}.contact-card{padding:28px 20px}footer{align-items:start;flex-direction:column}footer p{text-align:left}.section{padding-top:55px;padding-bottom:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.brand span,.art-caption{font-size:12px;letter-spacing:.08em}.brand{white-space:normal}@media(max-width:640px){.brand span{font-size:12px;letter-spacing:.03em}.art-caption{font-size:12px;flex-wrap:wrap}header{gap:16px}.service-ribbon{flex-wrap:wrap}}
/* Local photography portfolio */
.hero-signature{width:155px;height:auto;display:block;margin:-15px 0 23px;mix-blend-mode:multiply}.hero-art{padding:0 0 24px;border-radius:230px 230px 6px 6px}.logo-stage{aspect-ratio:4/5}.logo-stage img.hero-event-photo{height:100%;width:100%;object-fit:cover;object-position:48% center;mix-blend-mode:normal}.art-caption{margin-top:24px}.portfolio{background:#f4efeb;border-top:1px solid var(--line)}.portfolio-grid{columns:3;column-gap:28px}.portfolio-card{break-inside:avoid;margin:0 0 28px;background:#fffaf6;border:1px solid #e4d9d5}.photo-link{display:block;position:relative;overflow:hidden}.portfolio-card img{display:block;width:100%;height:auto;transition:transform .35s}.photo-link:hover img{transform:scale(1.025)}.photo-enlarge{position:absolute;bottom:14px;right:14px;background:rgba(50,29,49,.88);color:white;padding:6px 12px;font-size:12px}.portfolio-card figcaption{padding:20px 23px}.portfolio-card figcaption>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#78562c}.portfolio-card h3{font-size:24px;margin:7px 0 0}.photo-dialog{border:0;padding:50px 60px 25px;background:#261b25;color:#fff8ee;max-width:95vw;width:1100px;max-height:95dvh;overflow:auto}.photo-dialog::backdrop{background:rgba(17,10,17,.88)}.photo-dialog figure{margin:0;text-align:center}.photo-dialog figure img{max-width:100%;max-height:73dvh;object-fit:contain;display:block;margin:auto}.photo-dialog figcaption{font-size:15px;margin-top:14px}.photo-dialog button{position:absolute;background:#fff8ee;color:var(--plum);border:0;width:44px;height:44px;font-size:30px;cursor:pointer;border-radius:50%}.photo-dialog button:focus-visible{outline:3px solid #c6a46d;outline-offset:4px}.photo-close{right:10px;top:8px}.photo-prev{left:8px;top:45%}.photo-next{right:8px;top:45%}body.photo-open{overflow:hidden}@media(max-width:900px){.portfolio-grid{columns:2;column-gap:20px}.portfolio-card{margin-bottom:20px}.hero-signature{width:130px}}@media(max-width:640px){.portfolio-grid{columns:1}.hero-art{max-width:100%;border-radius:180px 180px 6px 6px}.logo-stage{aspect-ratio:4/4.4}.hero-signature{width:130px;margin-top:0}.photo-dialog{padding:55px 12px 70px;max-width:96vw}.photo-prev,.photo-next{top:auto;bottom:12px}.photo-prev{left:calc(50% - 55px)}.photo-next{right:calc(50% - 55px)}}@media(prefers-reduced-motion:reduce){.portfolio-card img{transition:none}.photo-link:hover img{transform:none}}
/* Customer inquiry form */
.contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:60px}.contact-card{min-width:0}.quote-form h3{margin-bottom:12px}.form-note,.form-privacy{font-size:13px;color:var(--muted);line-height:1.65}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quote-grid>label{display:block;font-size:14px;font-weight:600;min-width:0}.quote-grid label>span,.service-choices legend span{font-size:12px;font-weight:400}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{display:block;width:100%;min-width:0;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #b7a5b2;border-radius:3px;background:#fff;color:var(--plum);font:inherit;font-size:16px}.quote-form textarea{resize:vertical}.quote-form :is(input,select,textarea,button):focus-visible{outline:3px solid var(--gold);outline-offset:3px}.quote-grid .full{grid-column:1/-1}.field-help{display:block;margin-top:4px;color:var(--muted)}.service-choices{margin:0;padding:12px;border:1px solid var(--line);min-width:0}.service-choices legend{font-size:14px;font-weight:600;padding:0 5px}.service-choices label{display:inline-flex;align-items:center;gap:8px;margin:4px 15px 4px 0;font-size:14px;min-height:32px}.service-choices input{width:18px;height:18px;accent-color:var(--plum)}.form-privacy{margin:20px 0}.form-privacy a{text-decoration:underline}.quote-form .button{width:100%;font-family:inherit;cursor:pointer}.quote-form .primary{border:1px solid var(--plum)}.quote-form button:disabled{opacity:.65;cursor:wait;transform:none}.quote-status:empty{display:none}.quote-status{font-size:14px;padding:14px;border-left:3px solid var(--gold);background:#f0e9ec}.quote-status[data-kind=error]{border-color:#9c3349;color:#76283a}.quote-status[data-kind=success]{border-color:#476c50;color:#304e37;background:#edf3ed}.form-trap,.quote-form [hidden]{display:none!important}.contact-alternative{border-top:1px solid var(--line);padding-top:24px;font-size:14px;margin-top:24px}@media(max-width:900px){.contact{grid-template-columns:1fr;gap:30px}}@media(max-width:480px){.quote-grid{grid-template-columns:1fr}.contact-card{padding:20px 16px}.service-choices label{display:flex}.quote-form .button{gap:12px}}

/* Honor reduced-motion preferences throughout navigation and calls to action. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
/* Curated photography and Southern California presentation */
.hero{gap:42px}.hero .eyebrow{max-width:460px;letter-spacing:.12em}.hero-art{border-radius:6px;padding:0 0 20px;border:1px solid #dfd7d0;box-shadow:0 18px 50px rgba(50,29,49,.07);align-self:center}.hero-art .logo-stage{aspect-ratio:auto;display:block}.hero-art .logo-stage img.hero-event-photo{display:block;width:100%;height:auto;object-fit:contain}.hero-art .art-caption{margin:18px 20px 0;padding-top:16px}.hero-signature{width:130px;margin-bottom:20px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;gap:30px;align-items:start}.portfolio-card{margin:0;min-width:0}.portfolio-card img{aspect-ratio:auto;height:auto}.portfolio-card figcaption{padding:18px 20px}.portfolio-card h3{font-size:23px}.portfolio-card figcaption>span{font-size:10px;letter-spacing:.13em}.photo-enlarge{font-size:11px;padding:5px 10px}.portfolio-card .photo-link:focus-visible{outline-offset:-5px;outline:3px solid #d6b779}
.more-gallery{margin-top:48px;border-top:1px solid #cbb8a2;border-bottom:1px solid #cbb8a2}.more-gallery summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:30px 4px;min-height:100px}.more-gallery summary::-webkit-details-marker{display:none}.more-gallery summary:focus-visible{outline:3px solid #aa8548;outline-offset:5px}.more-gallery .eyebrow{display:block;margin:0 0 7px;font-size:10px}.gallery-summary-title{display:block;font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,3vw,34px);line-height:1.3}.gallery-summary-note{display:block;color:#6d606b;font-size:13px;margin-top:7px}.gallery-toggle{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid #bba181;border-radius:50%;font-size:27px;line-height:1;transition:transform .2s,background .2s}.more-gallery[open] .gallery-toggle{transform:rotate(45deg)}.more-gallery summary:hover .gallery-toggle{background:#e9dfd2}.gallery-expanded{padding:10px 0 32px}.gallery-intro{color:#6d606b;max-width:650px;margin-bottom:25px}
.service-cities{list-style:none;padding:0;margin:30px auto;max-width:780px;display:flex;gap:10px 12px;flex-wrap:wrap;justify-content:center}.service-cities li{border:1px solid #d5c4ae;padding:7px 17px;border-radius:2px;font-size:14px;background:#fffaf6}.area .fine{max-width:720px;margin:0 auto}.area>p:not(.eyebrow):not(.fine){max-width:680px;margin-left:auto;margin-right:auto}
.social-story{background:#f2ece7;border-top:1px solid #e0d6cb}.social-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.social-card{display:block;background:#fffaf6;border:1px solid #d8c8b9;min-width:0;transition:box-shadow .2s,border-color .2s}.social-photo{overflow:hidden}.social-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;transition:transform .4s}.social-card-label{display:flex;align-items:center;gap:16px;padding:23px}.social-icon{display:grid;place-items:center;border:1px solid #bda47e;width:56px;height:56px;flex-shrink:0;border-radius:50%;color:#321d31;background:#f7f0e5;transition:background .2s,color .2s}.social-icon svg{width:29px;height:29px}.social-card-label strong{font-family:Georgia,serif;font-size:26px;font-weight:400;display:block;line-height:1.3}.social-card-label>span:nth-child(2)>span{font-size:12px;color:#6d606b;display:block;margin-top:4px}.social-arrow{margin-left:auto;color:#8b6634;font-size:24px}.social-card:hover{border-color:#aa8548;box-shadow:0 10px 30px rgba(50,29,49,.08)}.social-card:hover .social-icon{background:#321d31;color:#f4e4c6}.social-card:hover .social-photo img{transform:scale(1.012)}.social-contact-link{display:inline-block;margin-top:24px;color:#6d4c67;text-decoration:underline;text-underline-offset:5px;font-size:13px}
@media(max-width:1100px){header{gap:20px}nav{gap:18px}.hero{gap:28px}.hero h1{font-size:clamp(44px,5vw,64px)}}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.social-card-label{padding:18px;gap:12px}.social-icon{width:46px;height:46px}.social-card-label strong{font-size:23px}.social-card-label>span:nth-child(2)>span{font-size:11px}}
@media(max-width:640px){header{gap:20px}nav{gap:15px;flex-wrap:wrap;justify-content:center}.hero{gap:30px}.hero-art{max-width:100%;border-radius:4px}.hero-signature{width:115px}.hero .eyebrow{font-size:10px}.hero h1{font-size:48px}.portfolio-grid{grid-template-columns:1fr;gap:25px}.portfolio-card figcaption{padding:18px 22px}.portfolio-card h3{font-size:25px}.more-gallery{margin-top:35px}.more-gallery summary{padding:24px 0;gap:15px}.gallery-summary-note{font-size:12px}.gallery-toggle{width:40px;height:40px}.social-showcase{grid-template-columns:1fr;gap:24px}.social-card-label{padding:20px}.social-icon{width:50px;height:50px}.social-card-label strong{font-size:26px}.service-cities{gap:9px}.service-cities li{padding:6px 12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.gallery-toggle,.social-card,.social-icon,.social-photo img{transition:none}.social-card:hover .social-photo img{transform:none}}
/* Keep small-screen navigation readable and available. */
@media(max-width:640px){header{flex-direction:column;align-items:flex-start;gap:16px;padding-top:22px;padding-bottom:14px}header nav{width:100%;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}header nav a.nav-cta{white-space:nowrap;gap:6px}header nav .nav-cta span{margin-left:0}header nav a[href="#experience"]{display:none}.hero{padding-top:32px}.hero-signature{width:95px;margin-bottom:12px}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(41px,11.5vw,48px)}}
@media(max-width:640px){header nav a[href="#services"],header nav a[href="#portfolio"]{display:inline-flex}}

/* Understated service destinations, without button-like labels. */
.area p.service-area-line{max-width:820px;margin:27px auto 24px;color:var(--muted);font-size:16px;line-height:1.9;font-weight:400;text-wrap:pretty}.area .fine{max-width:680px}@media(max-width:640px){.area p.service-area-line{font-size:15px;line-height:1.85;margin:24px auto 22px}}
.area>p.service-area-line:not(.fine){max-width:1000px;margin:28px auto 30px}@media(max-width:640px){.area>p.service-area-line:not(.fine){margin:24px auto 26px}}

.area .destination-names{font-family:"Playfair Display",Georgia,serif;font-size:1.2em;font-weight:500;color:var(--plum)}.area p strong{font-weight:700}
