:root{color-scheme:dark;--bg:#151513;--panel:#1d1d1a;--ink:#eeede6;--muted:#aaa99f;--line:#393a34;--serif:'Songti SC','Noto Serif CJK SC','STSong',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:15px;line-height:1.7}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #eeede6;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:2px;padding:12px 22px}button:hover:not(:disabled){border-color:var(--ink)}.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.primary:hover:not(:disabled){background:white}.ghost{border:0;color:var(--muted);padding:8px 4px}.danger{color:#eab4a6;border-color:#795349}.pill{display:inline-block;font-size:12px;border:1px solid var(--line);padding:4px 12px;border-radius:20px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.muted{color:var(--muted)}.small{font-size:12px}.header{height:92px;display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:auto;padding:0 48px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:28px;letter-spacing:4px}.brand small{font-family:inherit;font-size:10px;letter-spacing:2px;margin-left:18px;color:var(--muted)}.nav{display:flex;gap:32px;align-items:center;font-size:13px}.nav a{color:var(--muted)}.nav .active{color:var(--ink)}.nav .nav-book{color:var(--bg);background:var(--ink);padding:9px 23px}.wrap{max-width:1184px;margin:auto;padding:0 0 60px}.hero{padding:74px 0 80px;display:grid;grid-template-columns:1.06fr 1fr;gap:62px;align-items:center}.hero h1{font-family:var(--serif);font-size:68px;line-height:1.3;letter-spacing:3px}.hero .lead{color:var(--muted);margin-top:28px;max-width:390px;line-height:1.95}.hero .actions{margin-top:40px;display:flex;gap:25px;align-items:center}.hero-photo{height:550px;position:relative;overflow:hidden;background:#252520}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);opacity:.8}.photo-caption{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:end;font-size:10px;letter-spacing:1px;color:#d6d4ca}.hero-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -110px 90px -75px #000;pointer-events:none}.photo-caption{z-index:1}.intro-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding:58px 0}.intro-row h2,.section-title h2{font-family:var(--serif);font-size:36px;letter-spacing:2px}.intro-row p{color:var(--muted);line-height:2}.services{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service{border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;min-height:235px}.service .number{font-size:11px;letter-spacing:3px;color:var(--muted);margin-bottom:35px}.service h3{font-family:var(--serif);font-size:27px;letter-spacing:3px}.service p{margin:10px 0 25px;color:var(--muted)}.service a{font-size:12px;align-self:flex-start;border-bottom:1px solid var(--muted)}.rules{border-top:1px solid var(--line);margin-top:60px;padding-top:38px;display:grid;grid-template-columns:1fr 2fr;gap:60px}.rules ul{margin:0;padding-left:18px;color:var(--muted)}.rules li{padding:3px 0}.footer{max-width:1184px;margin:0 auto;border-top:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.footer-links{display:flex;gap:22px}.section-title{padding:55px 0 35px;display:flex;justify-content:space-between;align-items:end}.section-title p{color:var(--muted);margin-top:10px}.steps{display:flex;gap:16px;font-size:11px;letter-spacing:1px;color:var(--muted)}.steps .current{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:6px}.booking-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:44px;align-items:start}.panel{border:1px solid var(--line);padding:32px;background:var(--panel)}.panel h3{font-size:18px;margin-bottom:20px}.choices{display:flex;gap:12px;flex-wrap:wrap}.choices button{padding:11px 22px}.selected{background:var(--ink);color:var(--bg);border-color:var(--ink)}.field-group{margin-bottom:32px}.field-label{display:block;margin-bottom:12px;font-size:13px}.field-label small{color:var(--muted);margin-left:10px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 16px}.calendar-head button{padding:3px 13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;color:var(--muted);font-size:11px;padding:9px 0}.day{padding:8px 0;min-height:57px;border:1px solid transparent;background:#22231e;line-height:1.5}.day small{display:block;font-size:9px;color:var(--muted)}.day.selected small{color:#52534b}.day.booked{color:#88887f;text-decoration:line-through;background:transparent}.day.closed{background:transparent;color:#88887f}.legend{font-size:11px;display:flex;gap:20px;margin-top:18px;color:var(--muted)}.legend span:before{content:'';display:inline-block;width:7px;height:7px;margin-right:7px;background:#55564c}.legend span:first-child:before{background:#eeede6}.summary{position:sticky;top:24px}.summary h3{font-family:var(--serif);font-size:23px}.summary .big-date{font-family:var(--serif);font-size:31px;letter-spacing:2px;margin:18px 0}.summary dl,.detail dl{margin:20px 0}.summary dl div,.detail dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;gap:24px}.summary dt,.detail dt{color:var(--muted);font-size:12px;flex-shrink:0}.summary dd,.detail dd{margin:0;text-align:right;overflow-wrap:anywhere}.summary .primary{width:100%;margin-top:18px}.summary .note{color:var(--muted);font-size:12px;margin-top:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field{display:block}.field>span{display:block;font-size:12px;margin-bottom:8px}.field>span small{color:var(--muted);margin-left:6px}.field.full{grid-column:1/-1}input,textarea,select{width:100%;background:#20211c;color:var(--ink);border:1px solid #46473f;border-radius:1px;padding:13px 15px;min-width:0}input::placeholder,textarea::placeholder{color:#77786e}textarea{min-height:108px;resize:vertical}input[type=checkbox]{width:17px;height:17px;accent-color:var(--ink);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);margin-top:25px}.check input{margin:5px 0 0}.check a{text-decoration:underline;color:var(--ink)}.upload-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.upload-preview img{width:80px;height:70px;object-fit:cover}.upload-preview button{padding:4px 10px;font-size:10px}.error{color:#f0b5a6;font-size:13px}.empty{padding:70px 20px;text-align:center;border:1px solid var(--line)}.empty h3{font-family:var(--serif);font-size:30px;margin-bottom:15px}.empty p{color:var(--muted);margin-bottom:25px}.order-list{display:grid;gap:18px}.order-card{border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:150px 1fr auto;gap:25px;align-items:center}.order-date{font-family:var(--serif);font-size:26px;line-height:1.5}.order-card h3{font-size:16px}.order-card p{font-size:12px;color:var(--muted);margin-top:6px}.order-card .status{margin-top:9px;font-size:11px;color:var(--muted)}.order-actions{display:flex;gap:10px}.order-actions button{font-size:12px;padding:10px 18px}.success{max-width:740px;margin:65px auto}.success h1{font-family:var(--serif);font-size:43px;margin-top:18px}.success>p{color:var(--muted);margin:15px 0 30px}.success .date{font-size:24px;font-family:var(--serif)}.contact-qr{width:160px;max-width:100%;display:block;margin:20px 0}.success-actions{display:flex;gap:15px;margin-top:30px}.auth{max-width:460px;margin:70px auto}.auth h1{font-family:var(--serif);font-size:36px;margin-bottom:15px}.auth>p{color:var(--muted);font-size:13px;margin-bottom:30px}.auth .field{margin-bottom:23px}.auth button.primary{width:100%;margin-top:10px}.admin-shell{display:grid;grid-template-columns:190px 1fr;gap:48px;padding-top:50px}.admin-nav{display:flex;flex-direction:column;gap:8px;align-items:stretch}.admin-nav h2{font-family:var(--serif);font-size:24px;margin-bottom:22px}.admin-nav a{padding:12px 16px;color:var(--muted);font-size:13px}.admin-nav .active{background:var(--panel);color:var(--ink)}.admin-main{min-width:0}.admin-main h1{font-size:28px;font-family:var(--serif);margin-bottom:12px}.admin-main>.muted{margin-bottom:28px;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.stat{border:1px solid var(--line);padding:22px}.stat span{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-weight:400;font-family:var(--serif);font-size:37px}.admin-main .order-card{grid-template-columns:110px 1fr auto;padding:20px}.admin-main .order-date{font-size:21px}.event{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:20px;align-items:start}.event .dot{background:#d7d6cd;width:6px;height:6px;flex-shrink:0;margin-top:10px;border-radius:50%}.event.read .dot{background:#4e5046}.event p{font-size:12px;color:var(--muted);margin-top:5px}.event time{color:var(--muted);font-size:11px;margin-left:auto;white-space:nowrap}.admin-settings{max-width:660px}.admin-settings .field{margin-bottom:25px}.admin-settings .notice{font-size:12px;padding:18px;border:1px solid var(--line);color:var(--muted);margin:25px 0}.mobile-tabs{display:none}.loading{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-family:var(--serif);font-size:32px}.loading span{font-size:12px;font-family:inherit;color:var(--muted)}#toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:13px 24px;font-size:13px;z-index:100;display:none;box-shadow:0 10px 30px #0005;max-width:90%;width:max-content}#toast.visible{display:block}.overlay{position:fixed;inset:0;z-index:60;background:#000a;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.dialog{width:520px;max-width:100%;padding:30px;background:var(--bg);border:1px solid var(--line);max-height:90vh;overflow:auto}.dialog h2{font-family:var(--serif);font-size:28px;margin-bottom:20px}.dialog p{color:var(--muted);font-size:13px;margin-bottom:15px}.dialog .field{margin:20px 0}.dialog .actions{display:flex;justify-content:flex-end;gap:14px;margin-top:28px}.dialog .photos{display:flex;gap:12px;flex-wrap:wrap}.dialog .photos img{width:130px;height:100px;object-fit:cover}.prose{max-width:800px;margin:55px auto}.prose h1{font-family:var(--serif);font-size:37px;margin-bottom:35px}.prose h2{font-size:18px;margin:28px 0 10px}.prose p{color:var(--muted);margin-bottom:12px}.prose ul{color:var(--muted)}
@media(min-width:1440px){.hero{padding:85px 0 100px}.hero-photo{height:605px}.hero h1{font-size:76px}}
@media(max-width:1279px){.wrap,.footer{margin:0 40px}.hero{gap:40px}.hero h1{font-size:clamp(38px,4.7vw,58px)}.hero-photo{height:500px}}
@media(max-width:767px){body{font-size:14px}.header{height:75px;padding:0 22px}.brand{font-size:25px}.brand small{font-size:8px;display:block;margin:0;letter-spacing:2px}.nav{gap:0}.nav a{display:none}.nav .nav-book{display:block;background:none;color:var(--ink);border:1px solid var(--line);font-size:11px;padding:7px 13px}.wrap{margin:0 22px;padding-bottom:90px}.hero{grid-template-columns:1fr;padding:38px 0 40px;gap:36px}.hero h1{font-size:44px;line-height:1.4;letter-spacing:2px}.hero .lead{margin-top:21px;font-size:13px;max-width:320px}.hero .actions{margin-top:26px;gap:20px}.hero .actions .primary{padding:11px 23px}.hero-photo{height:325px}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:15px}.photo-caption{font-size:8px;bottom:15px;left:16px;right:16px}.intro-row{grid-template-columns:1fr;gap:24px;padding:32px 0}.intro-row h2,.section-title h2{font-size:28px}.intro-row p{font-size:13px}.services{gap:14px;grid-template-columns:1fr}.service{padding:25px;min-height:190px}.service .number{margin-bottom:21px}.service h3{font-size:24px}.service p{font-size:12px;margin-bottom:20px}.rules{grid-template-columns:1fr;gap:22px;margin-top:35px;padding-top:28px;font-size:12px}.footer{margin:0 22px;padding:24px 0 92px;display:block;font-size:10px}.footer-links{gap:18px;flex-wrap:wrap;margin-top:15px}.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#181916f5;border-top:1px solid var(--line);justify-content:space-around;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.mobile-tabs a{font-size:10px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:65px}.mobile-tabs .active{color:var(--ink)}.mobile-tabs svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.3}.section-title{padding:30px 0 25px;display:block}.section-title p{font-size:12px}.steps{margin-top:23px;font-size:10px}.booking-grid{display:block}.panel{padding:23px 18px}.booking-grid>.summary{position:static;margin-top:22px}.summary .big-date{font-size:27px}.summary h3{font-size:22px}.choices{gap:8px}.choices button{font-size:12px;padding:8px 18px}.calendar-grid{gap:4px}.day{min-height:49px;padding:7px 0;font-size:12px}.day small{font-size:8px}.weekday{font-size:10px}.legend{font-size:10px;gap:15px}.fields{grid-template-columns:1fr;gap:23px}.field.full{grid-column:auto}input,textarea,select{font-size:16px;padding:12px 13px}.field>span{font-size:12px}.panel h3{font-size:16px}.order-card{grid-template-columns:1fr auto;padding:20px;gap:12px}.order-date{font-size:22px;grid-column:1/-1}.order-actions{flex-direction:column}.order-actions button{padding:8px 14px;font-size:11px}.order-card h3{font-size:14px}.order-card p{font-size:11px}.success{margin:37px auto}.success h1{font-size:33px}.success>p{font-size:13px}.success-actions{gap:10px}.success-actions button{font-size:12px;padding:11px 16px}.auth{margin:35px auto}.auth h1{font-size:32px}.admin-shell{display:block;padding-top:25px}.admin-nav{display:flex;flex-direction:row;overflow:auto;margin:0 -22px 25px;padding:0 22px;gap:7px}.admin-nav h2{display:none}.admin-nav a{white-space:nowrap;font-size:11px;padding:9px 13px}.admin-nav button{font-size:10px;padding:8px}.admin-main h1{font-size:27px}.stats{gap:8px;margin:22px 0}.stat{padding:15px 12px}.stat strong{font-size:29px}.stat span{font-size:9px}.admin-main .order-card{grid-template-columns:1fr auto;padding:18px}.admin-main .order-date{font-size:21px}.event time{font-size:9px;white-space:normal;max-width:85px}.event{gap:12px}.event h3{font-size:13px}.event p{font-size:11px}.overlay{padding:15px}.dialog{padding:24px 20px}.dialog h2{font-size:25px}.dialog .actions button{font-size:12px;padding:10px 18px}#toast{bottom:90px;padding:11px 17px;font-size:12px}.prose{margin:32px auto}.prose h1{font-size:28px}.prose p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Authentic photography: natural image proportions, original colour. */
.button-link{display:inline-block;padding:12px 22px;border:1px solid var(--ink);border-radius:2px}.hero{grid-template-columns:.85fr 1.4fr;gap:52px}.hero-photo{height:auto;overflow:visible;background:transparent}.hero-photo picture,.hero-photo img{display:block;width:100%;height:auto;object-fit:contain;filter:none;opacity:1}.hero-photo:after{display:none}.photo-caption{position:static;display:flex;margin-top:13px;color:var(--muted);font-size:10px;letter-spacing:.8px}.portfolio-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.portfolio-heading h2,.portfolio-heading h1,.photographer h2{font-family:var(--serif);font-weight:400;font-size:36px;letter-spacing:2px;line-height:1.5}.portfolio-heading h1{font-size:42px}.text-link{border-bottom:1px solid #717169;padding-bottom:6px;font-size:12px;white-space:nowrap}.selected-works{border-top:1px solid var(--line);padding-top:50px}.featured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:52px 40px;align-items:center}.work{margin:0;min-width:0;break-inside:avoid}.work-image{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden}.work-image picture,.work-image img{display:block;width:100%;height:auto}.work-image:hover img{opacity:.95}.work figcaption{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);padding-top:15px}.work figcaption div{display:flex;gap:15px}.work-number{font-size:9px;opacity:.6}.feature-0,.feature-3{grid-column:span 8}.feature-1,.feature-2{grid-column:span 4}.feature-4{grid-column:span 12;margin-top:10px}.all-works-link{display:block;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;margin-top:50px;font-size:13px}.photographer{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center;margin:90px 0}.portrait{position:relative}.portrait picture,.portrait img{width:100%;height:auto;display:block}.portrait-caption{display:block;font-size:10px;color:var(--muted);text-align:right;margin-top:14px}.photographer-copy h2{font-size:45px}.bio{color:#bebdb3;font-size:15px;line-height:2.2;max-width:430px;margin-top:28px}.photographer-stats{display:flex;gap:75px;border-top:1px solid var(--line);padding:26px 0 36px;margin-top:34px}.photographer-stats strong{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.4}.photographer-stats strong span{font-size:22px;margin-left:4px}.photographer-stats p{font-size:11px;color:var(--muted);letter-spacing:1px;margin-top:8px}.works-page{padding-top:55px}.work-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:42px}.work-filters button{padding:9px 17px;font-size:12px;border-color:transparent;color:var(--muted)}.work-filters span{font-size:10px;opacity:.6;margin-left:10px}.work-filters .active{border-color:var(--ink);color:var(--ink)}.works-masonry{columns:3;column-gap:28px}.works-masonry .work{margin-bottom:36px}.works-masonry figcaption div{gap:9px}.photo-open{overflow:hidden}.photo-overlay{position:fixed;inset:0;z-index:70;background:#080808ef;display:flex;align-items:center;justify-content:center;padding:24px}.photo-dialog{width:100%;max-width:1500px;max-height:100%;display:flex;flex-direction:column;min-height:0}.viewer-header,.viewer-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;font-size:12px;gap:20px}.viewer-header{padding:0 0 16px}.viewer-header small{color:var(--muted);margin-left:15px;font-size:10px}.viewer-header button,.viewer-footer button{padding:9px 15px;font-size:11px}.viewer-footer{padding-top:16px}.viewer-image{min-height:0;display:flex;justify-content:center;overflow:hidden}.viewer-image picture{display:flex;min-height:0;max-width:100%;justify-content:center}.viewer-image img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 158px);object-fit:contain}
@media(min-width:1440px){.hero-photo{height:auto}.hero h1{font-size:67px}}
@media(max-width:1279px){.hero-photo{height:auto}.hero{gap:35px}.photographer{gap:60px}.featured-grid{gap:38px 28px}.nav{gap:23px}.brand small{display:none}.works-masonry{columns:2}.portfolio-heading h2{font-size:30px}}
@media(max-width:767px){.hero{grid-template-columns:1fr;gap:32px}.hero-photo{height:auto}.photo-caption{font-size:8px;margin-top:11px}.portfolio-heading{display:block;margin-bottom:28px}.portfolio-heading h2{font-size:28px}.portfolio-heading h1{font-size:31px}.portfolio-heading .text-link{display:inline-block;margin-top:20px}.selected-works{padding-top:30px}.featured-grid{grid-template-columns:1fr;gap:34px}.featured-grid .work{grid-column:1}.feature-4{margin-top:0}.work figcaption{font-size:10px;padding-top:12px}.all-works-link{margin-top:35px;padding:20px}.photographer{grid-template-columns:1fr;gap:34px;margin:55px 0}.portrait{order:2}.photographer-copy h2{font-size:35px}.bio{font-size:13px;margin-top:18px;max-width:none}.photographer-stats{gap:50px;margin-top:23px;padding:20px 0 27px}.photographer-stats strong{font-size:45px}.photographer-stats p{font-size:10px}.photographer-stats strong span{font-size:20px}.works-page{padding-top:32px}.work-filters{gap:5px;margin-bottom:29px}.work-filters button{font-size:11px;padding:8px 11px}.work-filters span{margin-left:6px}.works-masonry{columns:1}.works-masonry .work{margin-bottom:32px}.photo-overlay{padding:16px}.viewer-header small{display:block;margin-left:0}.viewer-header button{white-space:nowrap}.viewer-image img{max-height:calc(100dvh - 167px)}.viewer-footer{gap:10px}.viewer-footer button{padding:9px 12px}}
.nav button.nav-pricing{border:0;padding:0;font-size:13px;color:var(--muted)}.pricing-text-link{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:5px 0;font-size:12px;color:var(--muted);margin-top:12px}.hero-pricing{margin-top:19px}.pricing-entry{margin-top:24px;border:1px solid var(--line);padding:28px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px}.pricing-entry .eyebrow{margin-bottom:10px}.pricing-entry h3{font-family:var(--serif);font-size:26px;letter-spacing:2px;margin-bottom:5px}.pricing-entry button{font-size:12px;white-space:nowrap}.pricing-overlay{position:fixed;inset:0;z-index:70;background:#000b;display:flex;align-items:center;justify-content:center;padding:24px}.pricing-dialog{width:800px;max-width:100%;max-height:min(92dvh,960px);background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;box-shadow:0 24px 100px #0008}.pricing-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 36px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.pricing-header .eyebrow{margin-bottom:10px}.pricing-header h2{font-family:var(--serif);font-size:32px;letter-spacing:2px;line-height:1.5;margin-bottom:7px}.pricing-header button{font-size:12px;padding:8px 13px;white-space:nowrap}.pricing-body{overflow-y:auto;overscroll-behavior:contain;padding:0 36px 22px;min-height:0}.price-table{width:100%;border-collapse:collapse;text-align:left}.price-table thead th{font-weight:400;font-size:11px;letter-spacing:1px;color:var(--muted);padding:18px 0 12px}.price-table tbody tr{border-top:1px solid var(--line)}.price-table tbody th{font-family:var(--serif);font-size:22px;font-weight:400;width:34%;padding:10px 0}.price-table tbody th small{font-family:-apple-system,'PingFang SC',sans-serif;font-size:11px;color:var(--muted);display:block;letter-spacing:1px;line-height:1.5}.price-table .price-fee{font-family:var(--serif);font-size:28px;white-space:nowrap;width:31%}.price-currency{font-size:17px;margin-right:5px}.price-unit{font-family:-apple-system,'PingFang SC',sans-serif;font-size:12px;color:var(--muted)}.price-delivery{font-size:13px;color:var(--muted)}.price-delivery small{display:block;font-size:10px;margin-top:4px}.price-policies{padding-top:22px;margin-top:8px;border-top:1px solid var(--line);display:grid;gap:16px}.price-policy{display:grid;grid-template-columns:100px 1fr;gap:12px}.price-policy h3{font-size:13px}.price-policy p{font-size:12px;line-height:1.95;color:var(--muted)}.price-note{font-size:11px;color:var(--muted);margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.pricing-footer{flex-shrink:0;padding:16px 36px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.pricing-footer span{font-size:10px;letter-spacing:1px;color:var(--muted)}.pricing-footer button{font-size:12px;padding:9px 22px}
@media(max-width:767px){.nav button.nav-pricing{display:none}.pricing-entry{padding:24px;align-items:flex-start;flex-direction:column;gap:18px}.pricing-entry h3{font-size:23px}.pricing-overlay{padding:0;align-items:flex-end}.pricing-dialog{width:100%;max-height:92dvh;border-left:0;border-right:0;border-bottom:0}.pricing-header{padding:24px 22px 18px;gap:12px}.pricing-header h2{font-size:25px;letter-spacing:1px}.pricing-header .eyebrow{font-size:8px;letter-spacing:1.8px}.pricing-header .small{font-size:11px}.pricing-header button{font-size:11px;padding:6px 10px;margin-top:5px}.pricing-body{padding:0 22px 22px}.price-table thead{display:none}.price-table,.price-table tbody{display:block}.price-table tbody tr{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:12px 0}.price-table tbody tr:first-child{border-top:0}.price-table tbody th{display:flex;align-items:center;gap:12px;font-size:20px;width:auto;padding:0}.price-table tbody th small{font-size:10px;letter-spacing:0}.price-table .price-fee{width:auto;font-size:26px;line-height:1.4}.price-currency{font-size:15px}.price-table .price-delivery{grid-column:1/-1;font-size:12px;padding:6px 0 0}.price-delivery small{display:inline-block;margin:0 0 0 12px}.price-policies{padding-top:20px;margin-top:0;gap:18px}.price-policy{grid-template-columns:1fr;gap:5px}.price-policy h3{font-size:12px}.price-policy p{font-size:12px}.price-note{font-size:10px;margin-top:20px}.pricing-footer{padding:14px 22px calc(14px + env(safe-area-inset-bottom))}.pricing-footer button{font-size:12px;padding:9px 20px}}

.mobile-price-label{display:none}@media(max-width:767px){.desktop-price-label{display:none}.mobile-price-label{display:inline}}

/* V10: one mobile navigation, initial monochrome composition. */
.mobile-home,.mobile-about-label{display:none}
.booking-orders-link{display:inline-block;font-size:12px;color:var(--muted);margin:10px 22px 0 0;border-bottom:1px solid var(--line)}
.price-page .pricing-body{padding:0;overflow:visible}.price-page-book{margin:28px 0}.about-page .photographer{margin-top:40px}
@media(max-width:767px){
 :root{--bg:#141414;--panel:#1d1d1d;--ink:#f2f2f2;--muted:#aaaaaa;--line:#333333}
 .header{display:none}.desktop-hero{display:none}.mobile-home{display:block;position:relative;margin:0 -22px;height:calc(100svh - 62px - env(safe-area-inset-bottom,0px));min-height:525px;background:#141414;overflow:hidden}.home-carousel{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pan-y}.home-carousel-track{display:flex;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,.61,.36,1)}.home-slide{flex:0 0 100%;width:100%;min-width:0;height:100%;padding:0;border:0;border-radius:0;background:#141414}.home-slide picture{display:block;width:100%;height:100%}.home-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(100%)}.home-slide:focus-visible{outline-offset:-4px}
 .home-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0005,transparent 36%),linear-gradient(0deg,#0009,transparent 35%);pointer-events:none}.home-copy{position:absolute;inset:0;z-index:2;pointer-events:none}.home-intro{position:absolute;top:4.5%;left:22px;right:22px}.home-footer{position:absolute;bottom:5%;left:22px;right:22px;text-align:right}.home-eyebrow{font-size:9px;letter-spacing:2.3px;color:#d4d4cd}.mobile-home h1{font-family:var(--serif);font-size:65px;letter-spacing:.09em;line-height:1.3;margin:14px 0 18px;color:#f2f2f2}.mobile-home .home-slogan{font-family:var(--serif);font-size:19px;letter-spacing:.1em;line-height:1.6;color:#f2f2f2}.home-caption{font-size:10px;letter-spacing:1px;margin:0 0 12px;color:#c2c2ba}.mobile-home-actions{display:flex;align-items:center;justify-content:flex-end;gap:25px;margin-top:0;pointer-events:auto}.mobile-home-actions .primary{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid #ffffff80;border-radius:0;font-size:12px;background:transparent;color:#f2f2f2;line-height:1.6}.mobile-home-actions .primary span{font-size:14px}
 .selected-works{display:none}.wrap:has(.mobile-home)>#photographer,.wrap:has(.mobile-home)>#services{display:none}
 .mobile-tabs{display:flex;align-items:flex-start;justify-content:space-around;gap:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom,0px));height:calc(62px + env(safe-area-inset-bottom,0px));background:#191918f7;backdrop-filter:blur(12px);border-top:1px solid #3d3d37}.mobile-tabs a{flex:1;min-width:0;font-size:9px;gap:4px;padding:2px 0;color:#99998e}.mobile-tabs .active{color:#f2f2f2}.mobile-tabs svg{width:20px;height:20px;stroke-width:1.25}
 .panel,.order-card{background:var(--panel)}input,textarea,select{background:#202020;border-color:#444444}input::placeholder,textarea::placeholder{color:#777777}.day{background:#222222}.day.selected small{color:#555555}.day.booked,.day.closed{color:#888888}.legend span:before{background:#555555}.text-link{border-color:#777777}.event.read .dot{background:#555555}.price-page .section-title{padding-bottom:14px}.price-page-book{display:flex;justify-content:center;width:100%;margin:24px 0 0}.about-page .photographer{margin-top:30px}
}
@media(max-width:359px){.mobile-home h1{font-size:56px;letter-spacing:5px}.mobile-home .home-slogan{font-size:17px}.home-intro{left:20px;right:20px}.home-footer{left:20px;right:20px}.mobile-home-actions{gap:22px}.home-eyebrow{font-size:8px;letter-spacing:1.9px}}
@media(prefers-reduced-motion:reduce){.home-carousel-track{transition:none}}

/* V12: slogan leads the cover; the portrait and introduction share one composition. */
.desktop-home-heading{width:max-content;max-width:100%}.home-signature{font-family:var(--serif);font-size:17px;letter-spacing:3px;line-height:1.5;text-align:right;margin-top:18px;padding-right:4px}.hero.desktop-hero h1{font-size:clamp(36px,4vw,62px);line-height:1.5}.hero.desktop-hero .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:20px}
.photographer{display:block;margin:90px 0 65px}.photographer-scene{height:620px;position:relative;overflow:hidden;background:#141414}.photographer .portrait{position:absolute;inset:0 auto 0 0;width:63%;height:100%}.photographer .portrait picture,.photographer .portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 70%}.photographer-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,#14141480 48%,#141414 67%);pointer-events:none}.photographer-profile{position:absolute;top:20%;left:52%;right:30px;color:#f2f2f2}.photographer-profile .eyebrow{font-size:10px;letter-spacing:2.8px;color:#c4c4bd;margin-bottom:18px}.photographer-profile h2{font-family:var(--serif);font-size:40px;letter-spacing:2px;line-height:1.5}.photographer-statement{font-family:var(--serif);font-size:27px;line-height:1.85;letter-spacing:.6px;margin-top:32px}.photographer-experience{font-size:12px;color:#c4c4bd;letter-spacing:1px;margin-top:25px}.photographer-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0 20px;border-bottom:1px solid var(--line)}.photographer-footer p{font-size:12px;color:var(--muted);letter-spacing:1px}.photographer-footer a{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:12px;border-bottom:1px solid #777777}.photographer-footer a span{font-size:14px}.about-page .photographer{margin-top:40px}.contact-qr{display:block;max-width:100%;width:220px;height:auto;margin:25px auto 0}
@media(max-width:767px){.home-heading{width:max-content;max-width:100%;margin-top:20px}.mobile-home h1{font-size:min(16.6667vw,65px);line-height:1.3;letter-spacing:.025em;margin:0}.mobile-home .home-signature{font-size:14px;letter-spacing:3px;margin-top:12px;padding-right:3px;color:#e4e4de}.photographer,.about-page .photographer{margin:20px 0 0}.photographer-scene{height:auto;aspect-ratio:4 / 5}.photographer .portrait{inset:0;width:100%;height:100%}.photographer-shade{background:linear-gradient(180deg,#0009,transparent 56%)}.photographer-profile{top:26px;left:24px;right:22px}.photographer-profile .eyebrow{font-size:8px;letter-spacing:2.2px;margin-bottom:14px}.photographer-profile h2{font-size:29px;letter-spacing:2px}.photographer-statement{font-size:19px;line-height:1.85;letter-spacing:.5px;margin-top:21px}.photographer-experience{font-size:10px;letter-spacing:.4px;margin-top:16px}.photographer-footer{gap:15px;padding:13px 0 14px}.photographer-footer p{font-size:10px;letter-spacing:.7px}.photographer-footer a{font-size:11px;gap:14px}.photographer-footer a span{font-size:13px}}
@media(max-width:359px){.mobile-home h1{font-size:16.6667vw;letter-spacing:.025em}.mobile-home .home-signature{font-size:13px;letter-spacing:2.5px}.photographer-profile{top:23px;left:20px;right:18px}.photographer-profile h2{font-size:26px}.photographer-statement{font-size:17px;margin-top:17px}.photographer-experience{font-size:9px;letter-spacing:0;margin-top:13px}.photographer-footer a{font-size:10px}}

/* Owner tools follow the portfolio's type, thin rules and shared gentle motion. */
.workspace-heading,.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.workspace-heading h1{margin:0}.workspace-section{padding:30px 0;border-top:1px solid var(--line);margin-top:32px}.workspace-section h2{font-family:var(--serif);font-size:25px;margin-bottom:16px}.workspace-section .field{margin-top:22px}.workspace-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:26px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.workspace-filters .field{flex:1;min-width:135px;margin:0}.workspace-filters .actions{margin:0}.workspace-toolbar{margin:25px 0}.workspace-toolbar input{width:180px}.workspace-event{padding:22px 0;border-bottom:1px solid var(--line)}.workspace-event p{margin:9px 0}.finance-head{padding:30px 0}.finance-head strong{display:block;font-family:var(--serif);font-size:58px;font-weight:400;line-height:1.35;margin-top:14px}.finance-sub{display:flex;gap:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:20px}.finance-sub strong{display:block;font-family:var(--serif);font-size:28px;font-weight:400;margin-top:10px}.finance-table-wrap{overflow:auto;margin-top:28px}.finance-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.finance-table th,.finance-table td{padding:17px 14px;border-bottom:1px solid var(--line);text-align:right}.finance-table th{color:var(--muted);font-weight:400}.finance-table th:first-child,.finance-table td:first-child,.finance-table th:nth-child(2),.finance-table td:nth-child(2){text-align:left}.finance-table button{padding:5px 0}.binding-code{font-family:monospace;font-size:22px;letter-spacing:2px;overflow-wrap:anywhere;padding:22px 0}.calendar-head input{width:175px;padding:8px;font-size:16px;min-height:40px}.calendar-grid .day.past,.calendar-grid .day.unopened{opacity:.55}.calendar-grid .day.booked[disabled]{opacity:.75}.dialog{animation:workspace-enter .24s ease both;max-height:88vh;overflow:auto}.admin-main{animation:workspace-enter .24s ease both}.contact-qr{background:white;padding:10px}.contact-qr-error{display:block;color:#d4b2a5;font-size:13px}
@keyframes workspace-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){.workspace-heading h1{font-size:32px}.workspace-filters .field{min-width:calc(50% - 16px)}.finance-head strong{font-size:43px}.finance-sub{gap:25px;justify-content:space-between}.finance-sub strong{font-size:23px}.finance-table th,.finance-table td{padding:14px 9px}.workspace-section{padding:24px 0}.admin-nav{overflow-x:auto}.workspace-heading button{font-size:12px}.dialog{max-height:85vh}}
@media(prefers-reduced-motion:reduce){.dialog,.admin-main{animation:none}}
