:root{--white:#ffffff;--navy:#0b1524;--navy-2:#1c2a40;--gold:#c9a24b;--gold-ink:#8a6a22;--grey:#5d6470;--line:#e6e8ec;--soft:#f6f7f9;--serif:"Bodoni Moda",Didot,Georgia,serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--white);color:var(--navy);font:400 17px/1.65 var(--sans)}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;text-wrap:balance;margin:0}h1{font-size:clamp(2.2rem,5vw,3.8rem);letter-spacing:-.01em}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.3rem}p{margin:0}.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.narrow{max-width:760px}.label,.muted{color:var(--grey)}.label{font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.gold{color:var(--gold-ink)}.section{padding-block:clamp(48px,7vw,88px)}.section+.section{border-top:1px solid var(--line)}.stack{display:grid;gap:14px}.stack-lg{display:grid;gap:28px}.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font:600 .95rem/1 var(--sans);padding:15px 22px;border:1px solid var(--navy);cursor:pointer}.btn:hover{background:var(--navy-2)}.btn-ghost{background:transparent;color:var(--navy)}.btn-ghost:hover{background:var(--soft)}.btn-small{padding:10px 14px;font-size:.85rem}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.site-head{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.head-row{justify-content:space-between;gap:16px;min-height:68px}.head-row,.head-row nav{display:flex;align-items:center}.head-row nav{gap:22px;font-weight:500;font-size:.95rem}.head-row nav a:not(.btn),.logo{text-decoration:none}.logo{display:inline-flex;align-items:center;gap:10px;font:600 1.15rem/1 var(--serif);letter-spacing:.01em}.site-foot{background:var(--navy);color:#fff;padding-block:48px;margin-top:40px}.site-foot .muted{color:#aab2c0;margin-top:10px}.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px}.foot-row nav{display:grid;gap:8px}.foot-row nav a{color:#dfe4ec;text-decoration:none}.hero{padding-block:clamp(64px,10vw,120px) clamp(48px,7vw,80px);text-align:center}.hero .lead{font-size:1.15rem;color:var(--grey);max-width:620px;margin:18px auto 0}.search{display:flex;max-width:620px;margin:34px auto 0;border:1px solid var(--navy)}.search input{flex:1 1;min-width:0;border:0;padding:16px 18px;font:inherit;color:var(--navy);background:#fff}.search input:focus{outline:none}.search button{border:0}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.chip{border:1px solid var(--line);padding:7px 12px;font-size:.9rem;text-decoration:none}.chip:hover{border-color:var(--navy)}.crumbs{font:500 .75rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey);display:flex;flex-wrap:wrap;gap:8px;padding-top:28px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--navy)}.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-3{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.tile{display:grid;gap:10px;text-decoration:none;min-width:0}.tile .ph{aspect-ratio:4/3;background:var(--soft);overflow:hidden;position:relative}.tile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.tile:hover .ph img{transform:scale(1.03)}.tile .ph.empty{display:grid;place-items:center;background:linear-gradient(135deg,#f6f7f9,#eceef2);color:var(--grey);font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.credit{font-size:.8rem;color:var(--grey)}.credit a{text-decoration:underline;text-underline-offset:2px}.tile h3{font-size:1.25rem}.group-title{margin:36px 0 14px}.loc-list{columns:220px 3;column-gap:32px}.loc-list li{page-break-inside:avoid;break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--line);list-style:none}.loc-list{padding:0;margin:0}.loc-list a{text-decoration:none;display:flex;justify-content:space-between;gap:10px}.loc-list a:hover{color:var(--gold-ink)}.pcard{display:grid;grid-template-columns:240px 1fr;gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}.pcard .ph{aspect-ratio:4/3;background:var(--soft);overflow:hidden}.pcard .ph img{width:100%;height:100%;object-fit:cover}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font:500 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;border:1px solid var(--line)}.badge.top{background:var(--navy);color:#fff;border-color:var(--navy)}.badge.featured{border-color:var(--gold);color:var(--gold-ink)}@media (max-width:640px){.pcard{grid-template-columns:1fr}}.profile-head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}@media (max-width:860px){.profile-head{grid-template-columns:1fr}}.gallery{columns:260px 3;column-gap:12px}.gallery figure{margin:0 0 12px;page-break-inside:avoid;break-inside:avoid}.packages{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pack{border:1px solid var(--line);padding:22px;display:grid;gap:8px;align-content:start}.price{font:500 1rem var(--mono)}.quote{background:var(--navy);color:#fff}.quote .muted{color:#aab2c0}.form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form .full{grid-column:1/-1}.form label{display:grid;gap:6px;font-size:.85rem;font-weight:600}.form input,.form select,.form textarea{font:inherit;padding:12px 14px;border:1px solid #34425a;background:#fff;color:var(--navy);width:100%}.form textarea{min-height:110px}.quote .btn{background:var(--gold);border-color:var(--gold);color:var(--navy)}.quote .btn:hover{background:#d8b566}.notice{padding:14px 16px;border:1px solid var(--gold);color:#fff}@media (max-width:640px){.form{grid-template-columns:1fr}}.prose{max-width:720px}.prose h2{margin:36px 0 12px;font-size:1.6rem}.prose h3{margin:24px 0 8px}.prose li,.prose p{margin:0 0 12px}.prose table{border-collapse:collapse;width:100%;margin:12px 0 20px;font-size:.95rem;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.plan{border:1px solid var(--line);padding:28px;display:grid;gap:12px;align-content:start}.plan.hi{border-color:var(--navy);box-shadow:inset 0 3px 0 var(--gold)}.plan ul{margin:0;padding-left:18px;color:var(--grey)}@media (prefers-reduced-motion:reduce){.tile .ph img{transition:none}}.dwrap{max-width:760px}.small{font-size:.85rem}.dhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}.dform{display:grid;gap:14px;max-width:520px}.dform label{display:grid;gap:6px;font-size:.9rem;font-weight:600}.dform input,.dform textarea,.form select{font:inherit;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--navy);width:100%}.dform input:focus,.dform textarea:focus{outline:2px solid var(--gold);outline-offset:0}.dform .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.88rem;color:var(--grey)}.dform .check input{width:auto;margin-top:3px}.ok-msg{color:#1f6b3a;font-size:.9rem}.err-msg{color:#a33a2b;font-size:.9rem}.notice-light{border-left:3px solid var(--gold);background:var(--soft);padding:14px 16px}.inbox{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.inbox li a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none}.inbox li a:hover{background:var(--soft)}.inbox li.is-new strong:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:middle}.facts{border-collapse:collapse}.facts td{padding:6px 18px 6px 0;vertical-align:top}.facts td:first-child{color:var(--grey)}.thread{display:grid;gap:12px}.msg{padding:14px 16px;border:1px solid var(--line);max-width:85%;display:grid;gap:6px}.msg p{white-space:pre-line}.msg.from-photographer{justify-self:end;background:var(--soft)}.conv{border:1px solid var(--line);padding:22px;display:grid;gap:18px}.conv-head{display:flex;gap:14px;align-items:center}.conv-head img{width:64px;height:64px;object-fit:cover}.book{border-top:1px solid var(--line);padding-top:16px}