
:root{--bg:#0b1628;--panel:#12223a;--line:#31435b;--ink:#f6f2eb;--muted:#bec9d8;--gold:#dcc7a5;--paper:#f2eee7;--dark:#102039}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(46px,6.5vw,94px);letter-spacing:-.045em;max-width:760px;margin-bottom:28px}h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.025em}h3{font-size:29px}p{max-width:650px}.wrap{max-width:1240px;margin:auto;padding:0 40px}.notice{font-size:13px;text-align:center;padding:7px 15px;background:#182b46;color:#f2eee7}.top{position:sticky;top:0;background:#0b1628f5;z-index:10;border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;gap:32px}.brand{font:28px Georgia,serif;letter-spacing:-1px;margin-right:auto;white-space:nowrap}.brand i{color:var(--gold)}.navlinks{display:flex;gap:24px;font-size:14px}.lang{display:flex;border:1px solid var(--line);border-radius:40px;padding:3px;flex-shrink:0}.lang button{border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:30px;font-size:14px}.lang button[aria-pressed=true]{background:var(--gold);color:var(--dark)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.19em;color:var(--gold);margin-bottom:25px;font-weight:bold}.hero{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:40px;padding-top:76px;padding-bottom:80px}.hero p{color:var(--muted);max-width:480px}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;border:1px solid var(--gold);background:var(--gold);color:var(--dark);font-size:15px;min-height:50px;border-radius:3px;font-weight:bold}.button.secondary{background:transparent;color:var(--ink);border-color:#74859b}.textlink{font-size:14px;border-bottom:1px solid var(--muted);padding-bottom:4px}.photo{min-height:250px;background:#172c47;border:1px solid #3b526e;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#c6d1df}.photo .frame{position:absolute;inset:20px;border:1px solid #48627f}.photo span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:25px;z-index:1}.photo small{font-size:12px;color:#bac9dc}.hero-photo{height:590px;border-radius:180px 180px 4px 4px}.hero-photo .frame{border-radius:160px 160px 0 0}.hero-meta{display:flex;gap:28px;font-size:13px;color:var(--muted)}.strip{border-block:1px solid var(--line);padding:23px 0}.strip .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}.section{padding-top:95px;padding-bottom:95px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}.intro h2{margin-bottom:0}.intro p{max-width:380px;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service .photo{height:280px}.service h3{margin:20px 0 10px}.service p{color:var(--muted);font-size:15px}.service a{display:block}.how{background:#142741;color:var(--ink)}.how .eyebrow{color:#dcc7a5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.step-number{font:italic 34px Georgia;color:#dcc7a5;border-top:1px solid #3b526e;padding-top:20px;display:block;margin-bottom:25px}.steps h3{font-size:27px}.steps p{font-size:16px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card{padding:30px 23px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;position:relative}.card.featured{border-color:var(--gold)}.card h3{font-size:27px;margin-bottom:15px}.card .price{font:46px Georgia;letter-spacing:-2px;margin-bottom:20px}.card ul{padding:0;list-style:none;margin:0 0 22px;font-size:15px}.card li{padding:7px 0;border-bottom:1px solid var(--line)}.card p{font-size:14px;color:var(--muted)}.card .button{margin-top:auto;padding:10px 9px;font-size:14px}.tag{background:var(--gold);color:var(--dark);font-size:11px;letter-spacing:.06em;position:absolute;top:-13px;left:20px;padding:3px 10px}.note{font-size:14px;color:var(--muted);margin-top:23px;max-width:850px}.wedding{background:#10213a}.wedding-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:48px}.wedding .photo{height:400px}.wedding p{color:var(--muted)}.wedding .card{background:transparent}.wedding .card .price{font-size:37px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.quote{border-top:1px solid var(--line);padding:28px 0}.stars{color:var(--gold);letter-spacing:3px}.quote blockquote{font:25px/1.5 Georgia;margin:18px 0}.quote cite{font-style:normal;color:var(--muted);font-size:14px}.about{display:grid;grid-template-columns:.7fr 1fr;gap:75px;align-items:center}.about .photo{height:430px}.about p{color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:18px}details p{color:var(--muted);margin:15px 0 0;font-size:16px}.booking{background:#172d4a;color:var(--ink)}.booking .eyebrow{color:#dcc7a5}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.booking form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:14px}.field.wide{grid-column:1/-1}input,select{width:100%;padding:12px;background:#0c1a2e;color:var(--ink);border:1px solid #516580;border-radius:2px;min-height:49px}form .button{background:var(--gold);color:var(--dark);border-color:var(--gold);width:100%}.privacy{font-size:13px;grid-column:1/-1;line-height:1.5}footer{padding:35px 0 85px}footer .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center;flex-wrap:wrap}footer p{font-size:13px;color:var(--muted);margin-bottom:0}.footer-links{display:flex;gap:20px;font-size:14px}.mobile-cta{display:none} @media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr);gap:25px}.navlinks{display:none}.hero{gap:28px}.hero-photo{height:470px}.services{grid-template-columns:repeat(2,1fr)}.booking-grid{gap:35px}.about{gap:35px}}@media(max-width:600px){.wrap{padding:0 22px}.nav{min-height:69px;gap:15px}.brand{font-size:25px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:45px;gap:25px}.hero h1{font-size:49px}.hero-photo{height:330px;border-radius:130px 130px 3px 3px}.hero-photo .frame{border-radius:115px 115px 0 0}.hero-meta{gap:15px;font-size:12px}.section{padding-top:60px;padding-bottom:60px}.intro{display:block}.intro h2{margin-bottom:20px}.services{gap:25px 14px}.service .photo{height:180px;min-height:180px}.service h3{font-size:24px}.service p{font-size:14px}.photo .frame{inset:10px}.photo span{font-size:10px;padding:12px}.steps,.about,.wedding-top,.booking-grid,.review-grid{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:1fr 1fr;gap:20px 12px}.card{padding:24px 14px}.card h3{font-size:23px}.card .price{font-size:38px}.card li{font-size:13px}.card p{font-size:13px}.card .button{font-size:12px}.tag{font-size:9px;left:10px}.wedding-top .photo{height:270px}.about .photo{height:280px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 20px;background:#0b1628ed;z-index:20;border-top:1px solid var(--line)}.mobile-cta .button{width:100%;min-height:45px;padding:8px}.strip .wrap{gap:12px;font-size:12px}h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.photo{border:0;background:#101e32}.photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo{border-radius:160px 160px 3px 3px}.services{grid-template-columns:repeat(3,1fr)}.service .photo{height:350px}.service button{padding:0;border:0;background:none;color:inherit;text-align:left;width:100%}.service button:hover img{transform:scale(1.025)}.service img{transition:transform .3s}.gallery-hint{color:var(--gold);font-size:14px;display:block;margin-top:10px}.about .photo img{object-position:50% 50%}.wedding-top .photo img{object-fit:contain;background:#0b1628}dialog{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:20px;width:min(1100px,94vw);max-height:92vh}dialog::backdrop{background:#030912ed}.gallery-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.gallery-head h3{margin:0}.gallery-close{background:none;border:1px solid var(--line);color:var(--ink);padding:8px 15px}.gallery-images{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.gallery-images img{width:100%;height:400px;object-fit:contain;background:#07101e}.gallery-images img:first-child{grid-column:1/-1;height:65vh}.tag{font-size:12px}.card li,.card p,.card .button{font-size:14px}
@media(max-width:600px){.services{grid-template-columns:repeat(2,1fr)}.service .photo{height:235px}.hero-photo{height:440px}.gallery-images{grid-template-columns:1fr}.gallery-images img,.gallery-images img:first-child{height:auto;max-height:70vh}.hero-meta{flex-wrap:wrap}.cards{grid-template-columns:1fr}.card{padding:28px}.card h3{font-size:29px}.card .price{font-size:44px}.card li{font-size:16px}.card .button{font-size:15px}.about .photo{height:320px}}

/* Refined photographic layout. Images retain their original framing at every width. */
:root{--bg:#0a1525;--panel:#101e31;--line:#344051;--ink:#f5f1eb;--muted:#bdc5d0;--gold:#d9bcab}
body{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;line-height:1.75}
h1,h2,h3{font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;font-weight:400}
h1{font-size:clamp(44px,5.4vw,76px);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(36px,4vw,55px);line-height:1.14}
.top{position:relative;background:#f5f1eb;color:#31302e;border-bottom:0}.nav{min-height:142px;gap:36px}.brand-logo{display:flex;align-items:center;line-height:0}.brand-logo img{width:192px;height:auto;display:block}.navlinks{letter-spacing:.03em;gap:30px}.lang{border-color:#c9bcb0}.lang button{color:#4d4a47}.lang button[aria-pressed=true]{background:#18273b;color:#f5f1eb}
.wrap{max-width:1280px}.hero{grid-template-columns:1fr .85fr;gap:85px;padding-block:78px 88px}.hero p{font-size:18px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em}.hero-photo,.hero-photo img{height:auto;border-radius:0}.photo{display:block;min-height:0!important;height:auto!important;overflow:visible;background:transparent;border:0}.photo img,.service .photo img,.about .photo img,.wedding-top .photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:0;background:transparent;transform:none!important}.frame{display:none}.service img{transition:none}
.section{padding-block:92px}.services{gap:58px 32px;align-items:start}.service:nth-child(3n+2){padding-top:56px}.service h3{font-size:29px;margin-top:23px;margin-bottom:10px}.service p{font-size:16px;margin-bottom:13px}.gallery-hint{font-size:14px;font-weight:500;letter-spacing:.035em;border-bottom:1px solid #796959;display:inline-block;padding-bottom:3px}.intro{margin-bottom:52px}.intro p{font-size:17px}.button{border-radius:0;font-weight:500;letter-spacing:.02em;background:transparent;color:var(--ink);border-color:#88776a;padding:13px 23px}.hero .button:first-child,form .button{background:var(--gold);color:var(--dark)}.button:hover{background:#d9bcab;color:#102039}.button.secondary{border-color:#5b6675}
.how{background:#101f32}.steps{gap:48px}.step-number{font-size:30px}.cards{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card,.wedding .card{background:transparent;border:0;border-right:1px solid var(--line);padding:34px 25px}.card:last-child{border-right:0}.card.featured{background:#102034;border-color:var(--line)}.card .price{font-family:Georgia,serif;font-size:42px}.card .button{font-size:14px}.card li{border-bottom:0;padding:6px 0}.card ul{margin-bottom:20px}.wedding{background:#0d1b2e}.wedding-top{grid-template-columns:.8fr 1fr;gap:95px}.wedding-top .photo{max-width:440px}.wedding-top h2{font-size:clamp(38px,4.5vw,64px)}.quote blockquote{font-size:26px;line-height:1.55}.about{grid-template-columns:.9fr 1fr;gap:90px}.booking{background:#112138}footer{border-top:1px solid var(--line)}
dialog{padding:28px;background:#091321;max-height:94vh}.gallery-images{display:block;columns:2;column-gap:24px}.gallery-images img,.gallery-images img:first-child{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0 0 24px;break-inside:avoid;background:none}.gallery-close{font-size:22px;min-width:46px;min-height:46px}
@media(max-width:900px){.navlinks{display:flex;gap:17px}.nav{gap:20px}.brand-logo img{width:155px}.hero{gap:35px}.services{grid-template-columns:repeat(2,1fr)}.service:nth-child(3n+2){padding-top:0}.service:nth-child(even){padding-top:40px}.card:nth-child(2){border-right:0}.card:nth-child(-n+2){border-bottom:1px solid var(--line)}.wedding-top{gap:40px}.about{gap:40px}}
@media(max-width:600px){.nav{min-height:124px;justify-content:space-between}.navlinks{display:none}.brand-logo img{width:162px}.hero{grid-template-columns:1fr;gap:36px;padding-block:45px 54px}.hero h1{font-size:48px}.hero p{font-size:17px}.hero-photo{max-width:100%;width:100%}.hero-photo img{width:100%;height:auto}.hero-meta{font-size:13px;gap:8px 20px}.section{padding-block:60px}.services{grid-template-columns:1fr;gap:42px}.service:nth-child(n){padding-top:0}.service h3{font-size:30px}.service p{font-size:16px}.intro{margin-bottom:32px}.cards{grid-template-columns:1fr}.card:nth-child(n){padding:28px 20px;border-right:0;border-bottom:1px solid var(--line)}.card:last-child{border-bottom:0}.card .price{font-size:42px}.card h3{font-size:29px}.card .button{font-size:15px}.wedding-top,.about{grid-template-columns:1fr;gap:32px}.wedding-top .photo{max-width:none}.gallery-images{columns:1}.gallery-images img{margin-bottom:18px}dialog{padding:16px}.mobile-cta{background:#0a1525f5}.mobile-cta .button{background:#d9bcab;color:#102039}.booking-grid{gap:25px}}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(6d37a86241a25d63.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(1724047c8988ca51.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(c3143e923ed1ca7b.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(d6ff7726ec21576c.ttf) format('truetype');
}

body{font-family:'Jost',Arial,sans-serif;font-weight:400;font-size:18px;line-height:1.7}
h1,h2,h3,.card .price,.wedding .card .price,.quote blockquote,.step-number{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}
h1{font-size:clamp(52px,6vw,86px);letter-spacing:-.025em;line-height:1.02}h2{font-size:clamp(42px,4.5vw,62px);letter-spacing:-.015em;line-height:1.08}.service h3{font-size:34px}.card h3{font-size:33px}.steps h3{font-size:33px}.card .price{font-size:50px;letter-spacing:-.015em}.wedding .card .price{font-size:46px}.navlinks,.button,.eyebrow{font-weight:400}.quote blockquote{font-size:30px;line-height:1.3}.quote cite{font-size:14px}.review-grid{grid-template-columns:repeat(3,1fr);gap:24px 36px}.quote{display:flex;flex-direction:column}.quote cite{margin-top:auto}.quote cite a{border-bottom:1px solid #796959}.review-date{display:block;margin-top:7px;font-size:13px;color:var(--muted)}
.services{align-items:stretch;row-gap:50px}.service:nth-child(n){padding-top:0}.service button{height:100%;display:flex;flex-direction:column}.service .photo{width:100%;height:360px!important;display:flex;align-items:center;justify-content:center;background:transparent}.service .photo img{width:100%;height:100%;max-height:100%;object-fit:contain!important}.service p{flex:1}.service .gallery-hint{margin-top:auto}.gallery-hint{font-family:'Jost',Arial,sans-serif}.service h3{margin-top:22px}.gallery-images{columns:2}
@media(max-width:900px){.review-grid{grid-template-columns:repeat(2,1fr)}.service .photo{height:330px!important}}
@media(max-width:600px){.hero h1{font-size:58px;line-height:1.04}h2{font-size:46px}.service .photo{height:390px!important}.review-grid{grid-template-columns:1fr;gap:8px}.quote blockquote{font-size:31px}.gallery-images{columns:1}.service h3{font-size:35px}.card h3{font-size:34px}.card .price{font-size:50px}.hero p,.service p{font-size:17px}}

/* Compact masthead; six photographic stories with three full-frame images each. */
.top{position:relative}.nav{min-height:78px;padding-top:7px;padding-bottom:7px;gap:30px}.brand-logo img{width:103px;height:auto}.navlinks{gap:28px;font-size:15px}.lang button{padding:4px 9px}
#sessions{padding-top:76px;padding-bottom:76px}#sessions .intro{margin-bottom:45px}.services{display:flex;flex-direction:column;gap:0}.service-story{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,2.6fr);align-items:center;gap:40px;border-top:1px solid var(--line);padding:42px 0!important}.service-story:last-child{border-bottom:1px solid var(--line)}.service-copy{padding-right:10px}.service-number{display:block;font:400 16px 'Jost',sans-serif;letter-spacing:.1em;color:var(--gold);margin-bottom:17px}.service-story h3{font-size:40px;line-height:1.02;margin:0 0 19px}.service-story p{font-size:16px;line-height:1.65;margin:0 0 22px;color:var(--muted)}.service-enquiry{font-size:14px;line-height:1.7;display:inline-block}.service-triptych{display:flex;align-items:stretch;gap:14px;min-width:0}.service-triptych .service-shot{flex:var(--image-ratio) 1 0;display:block;width:auto;height:auto;min-width:0;padding:0;border:0;background:none;line-height:0;cursor:zoom-in;align-self:center}.service-triptych .service-shot img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important}.service-triptych .service-shot:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.service-triptych .service-shot:hover{opacity:.92}.service-story:nth-child(even){grid-template-columns:minmax(0,2.6fr) minmax(180px,.72fr)}.service-story:nth-child(even) .service-copy{order:2;padding:0 0 0 8px}.service-story:nth-child(even) .service-triptych{order:1}
.gallery-images{display:flex;justify-content:center;align-items:center}.gallery-images img,.gallery-images img:first-child{width:auto;max-width:100%;height:auto;max-height:74vh;object-fit:contain;margin:0}.gallery-head h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px}
@media(max-width:900px){.service-story,.service-story:nth-child(even){grid-template-columns:1fr;gap:24px}.service-story:nth-child(even) .service-copy,.service-story:nth-child(even) .service-triptych{order:initial;padding:0}.service-copy{max-width:640px}.service-number{margin-bottom:9px}.service-story h3{margin-bottom:12px}.service-story p{margin-bottom:12px}.service-triptych{gap:12px}.nav{min-height:75px;gap:22px}.navlinks{gap:20px}}
@media(max-width:600px){.nav{min-height:70px;padding-top:6px;padding-bottom:6px}.brand-logo img{width:94px}.navlinks{display:none}#sessions{padding-block:55px}.service-story{padding:30px 0!important;gap:23px}.service-triptych{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.service-triptych .service-shot{width:100%;height:auto}.service-triptych .shot-0{grid-column:1/-1;width:100%;max-width:100%}.service-triptych .shot-0 img{max-height:430px;width:100%;object-fit:contain}.service-story h3{font-size:40px}.service-story p{font-size:17px}.service-enquiry{font-size:15px}.gallery-images img,.gallery-images img:first-child{max-height:72vh}.service-number{font-size:14px}}

#about .photo{width:100%;max-width:460px;justify-self:center}#about .photo img{width:100%;height:auto;object-fit:contain}

/* MagicVphotos: a personal photographic album, full original frames. */
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--gold)}
.hero{grid-template-columns:1.05fr .95fr;gap:64px;padding-block:68px 88px;align-items:center}
.hero h1{font-size:clamp(54px,5.3vw,76px);line-height:.99;letter-spacing:-.025em;max-width:620px}
.hero h1 em{display:inline-block;font-size:.87em;line-height:1.1;margin-top:10px}
.hero .eyebrow{font-size:13px;letter-spacing:.14em;margin-bottom:30px}
.hero .hero-photo{padding:17px 17px 0;background:var(--paper);color:var(--dark);box-shadow:15px 18px 0 #132237;position:relative}
.print-caption{padding:15px 2px 18px;display:flex;flex-wrap:wrap;gap:7px 18px;align-items:center;justify-content:space-between;line-height:1.5}
.print-caption span{padding:0;text-transform:none;letter-spacing:.025em;font-size:12px;text-align:left}
.print-caption .print-credit{font:italic 21px 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em}
.strip{background:transparent}.strip .wrap{font-size:14px}
.service-number{font:italic 54px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;margin-bottom:16px;color:var(--gold)}
.service-story{padding:48px 0!important;border-top-color:#29384b}
.service-triptych{gap:18px}
.service-triptych .service-shot{padding:5px;background:var(--paper);transition:box-shadow .2s ease}
.service-triptych .service-shot:hover{opacity:1;box-shadow:0 0 0 2px var(--gold)}
.service-triptych .shot-1{margin-top:34px}.service-triptych .shot-2{margin-bottom:26px}
.service-story:nth-child(even) .shot-1{margin-top:0;margin-bottom:34px}
.service-story:nth-child(even) .shot-2{margin-bottom:0;margin-top:26px}
.service-story h3{font-size:44px}.service-enquiry{border-color:#827364}
.wedding-top .photo{padding:10px;background:var(--paper);box-shadow:-16px 16px 0 #16273c}
.about .photo{padding:10px;background:var(--paper)}
.personal-sign{margin:27px 0 28px;border-left:1px solid #827364;padding-left:23px}
.personal-sign>span{display:block;font-size:15px;color:var(--muted)}
.personal-sign .signature{font:italic 43px/1.35 'Cormorant Garamond',Georgia,serif;color:var(--gold)}
.quote blockquote{font-style:italic}.step-number{font-style:italic}
@media(max-width:900px){.hero{gap:35px}.hero h1{font-size:59px}.print-caption{gap:6px}.service-story h3{font-size:40px}}
@media(max-width:600px){.hero{grid-template-columns:1fr;padding-block:40px 58px;gap:32px}.hero h1{font-size:56px}.hero h1 em{font-size:.9em}.hero .hero-photo{padding:10px 10px 0;box-shadow:8px 10px 0 #132237;max-width:calc(100% - 8px)}.print-caption{padding:12px 2px;gap:4px 12px}.print-caption span{font-size:12px}.print-caption .print-credit{font-size:20px}.service-story{padding:34px 0!important}.service-number{font-size:43px;margin-bottom:10px}.service-triptych{gap:12px}.service-triptych .service-shot{padding:4px}.service-triptych .shot-1,.service-triptych .shot-2,.service-story:nth-child(even) .shot-1,.service-story:nth-child(even) .shot-2{margin:0}.wedding-top .photo{box-shadow:-8px 8px 0 #16273c;margin-left:8px}.personal-sign .signature{font-size:40px}}
@media(prefers-reduced-motion:reduce){.service-triptych .service-shot{transition:none}}

/* Warm sand-gold hairline frames and matching masthead. */
:root{--gold:#d8cbbb;--paper:#e5ddd2}
.top{background:var(--paper);color:#282a2c}
.lang{border-color:#9f8968}.lang button{color:#343332}
.hero .hero-photo{padding:2px 2px 0;background:var(--gold);box-shadow:none}
.print-caption{background:var(--bg);color:var(--gold);margin:0 -2px -2px;padding:15px 0 0}
.service-triptych .service-shot{padding:1px;background:var(--gold)}
.service-triptych .service-shot:hover{box-shadow:0 0 0 1px var(--gold)}
.wedding-top .photo,.about .photo{padding:1px;background:var(--gold);box-shadow:none}
.button:hover{background:var(--gold)}
@media(max-width:600px){.hero .hero-photo{padding:1px 1px 0;box-shadow:none;max-width:100%}.print-caption{margin:0 -1px -1px;padding:12px 0 0}.service-triptych .service-shot{padding:1px}.wedding-top .photo{margin-left:0;box-shadow:none}.mobile-cta .button{background:var(--gold)}}

.steps>div{border-top:1px solid var(--line);padding-top:24px}

/* One full-frame treatment across every photographic surface. */
:root{--photo-border:rgba(216,203,187,.88);--accent-line:rgba(216,203,187,.34)}
.hero .hero-photo,.wedding-top .photo,.about .photo,.service-triptych .service-shot{padding:0;background:transparent;box-shadow:none;border:0}
.photo img,.service-triptych .service-shot img,.gallery-images img{border:1px solid var(--photo-border);padding:0;background:transparent;box-sizing:border-box;display:block}
.photo img,.service-triptych .service-shot img{width:100%;height:auto;max-height:none;object-fit:contain}
.print-caption{margin:0;padding:13px 0 0;background:transparent;gap:8px 20px}
.print-caption span{font-size:13px;letter-spacing:.04em}.print-caption .print-credit{font-size:22px;letter-spacing:0}
.service-triptych .service-shot:hover{box-shadow:none;opacity:1}
.service-triptych .service-shot:hover img{border-color:var(--ink)}
.service-triptych .service-shot img{transition:border-color .2s ease}
/* Quiet recurring typography: italic chapter titles and a short champagne rule. */
.service-copy:before{content:"";display:block;width:42px;height:1px;background:var(--gold);margin-bottom:24px}
.service-story h3{font-style:italic;color:var(--gold);font-size:clamp(40px,3.8vw,54px);line-height:1.08}
.service-story{border-top-color:var(--accent-line);padding-block:52px!important}
.service-story:last-child{border-bottom-color:var(--accent-line)}
.service-copy{max-width:300px}.service-story p{line-height:1.75}
.eyebrow{color:var(--gold);font-size:13px;letter-spacing:.15em}
.steps h3,.card h3{font-style:italic}.steps>div{border-color:var(--accent-line)}
.card .price{color:var(--gold)}.cards,.card,.quote{border-color:var(--accent-line)}
.card.featured{background:rgba(216,203,187,.035)}
.button{border-color:var(--accent-line)}.button.secondary{border-color:var(--accent-line)}
.textlink{border-color:var(--accent-line)}
.about h2 em{white-space:normal}.personal-sign{border-color:var(--accent-line)}
.gallery-head{border-bottom:1px solid var(--accent-line);padding-bottom:15px}
.gallery-head h3{font-style:italic;color:var(--gold)}
.gallery-close{border-color:var(--accent-line)}
@media(min-width:901px){.service-story:nth-child(even) .service-copy:before{margin-left:auto}.service-story:nth-child(even) .service-copy{text-align:right;justify-self:end;padding-left:8px}}
@media(max-width:900px){.service-copy{max-width:640px}.service-copy:before{margin-bottom:16px}.service-story{padding-block:38px!important}}
@media(max-width:600px){.hero .hero-photo{padding:0;max-width:100%}.service-triptych .service-shot{padding:0}.service-triptych .shot-0{max-width:min(100%,calc(430px * var(--image-ratio)));justify-self:center}.service-triptych .shot-0 img{max-height:none;width:100%;height:auto}.print-caption{margin:0;padding:12px 0 0}.service-story h3{font-size:43px}.service-story{padding-block:34px!important}.wedding-top .photo{margin:0}}
@media(prefers-reduced-motion:reduce){.service-triptych .service-shot img{transition:none}}

/* Original supplied logos; reveal transparent artwork bounds without altering files. */
.logo-art{display:block;position:relative;overflow:hidden;flex-shrink:0}
.logo-art img,.brand-logo .logo-art img{position:absolute;display:block;height:auto;border:0;padding:0;object-fit:contain}
.brand-logo .logo-art{width:110px}.footer-brand .logo-art{width:188px}
.footer-brand>a{display:inline-block}.footer-brand p{margin-top:18px}
@media(max-width:600px){.brand-logo .logo-art{width:102px}.footer-brand .logo-art{width:172px}}

/* Shared multi-page navigation and page rhythm. */
.nav{position:relative}.navlinks a[aria-current=page]{border-bottom:1px solid #665c51}.menu-toggle{display:none}.footer-pages{justify-content:flex-end!important;gap:24px!important;margin-top:24px;font-size:14px}.page-intro h1,#sessions h1{max-width:900px;font-size:clamp(48px,5vw,74px)}#sessions .intro{align-items:center}#sessions .intro>div{flex:1}.page-intro>.services{margin-top:48px}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:start}.path-card h3{font-size:38px;font-style:italic;color:var(--gold);margin:23px 0 10px}.path-card p{font-size:17px;color:var(--muted)}.path-card .photo{height:340px!important;display:flex;align-items:center;justify-content:center}.path-card .photo img{width:auto;max-width:100%;max-height:100%;height:auto}.home-about{max-width:900px;text-align:center;border-block:1px solid var(--accent-line)}.home-about p{margin-inline:auto}.portfolio-detail .service-copy{display:none}.portfolio-detail .service-story{grid-template-columns:1fr;border:0;padding-bottom:0!important}.portfolio-detail h2{max-width:700px}.quince{background:#101e31}.quince-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:65px}.quince-grid .cards{grid-template-columns:1fr 1fr;margin-top:28px}.quince-grid h3{font-style:italic;color:var(--gold);font-size:36px}.quince-party{border-left:1px solid var(--accent-line);padding-left:40px}.quince-price{font:38px 'Cormorant Garamond',Georgia,serif;color:var(--gold)}.quince-party .button{margin-top:20px}.quince-grid p{font-size:17px}.wedding-top h1,.about h1{font-size:clamp(44px,5vw,70px)}.about{min-height:65vh}.mobile-cta{z-index:20}#eventPackages .card h3{font-style:italic}#events .service-story{border-bottom:0}
@media(max-width:900px){.navlinks{gap:14px;font-size:14px}.nav{gap:18px}.quince-grid{gap:32px}.path-grid{gap:20px}.path-card .photo{height:270px!important}.quince-party{padding-left:25px}}
@media(max-width:700px){.navlinks{display:none;position:absolute;left:0;right:0;top:100%;padding:22px;background:var(--paper);border-top:1px solid #c3b5a2;z-index:30;flex-direction:column;align-items:flex-start;gap:15px;font-size:17px}.navlinks.is-open{display:flex}.menu-toggle{display:block;margin-left:auto;padding:6px 9px;border:1px solid #9f8968;background:none;color:#343332;font-size:14px}.nav{gap:12px}.brand{margin-right:0}.path-grid,.quince-grid{grid-template-columns:1fr;gap:42px}.path-card .photo{height:auto!important}.path-card .photo img{max-height:460px;max-width:100%;width:auto;height:auto}.path-card{text-align:center}.path-card p{margin-inline:auto}.quince-party{border-left:0;border-top:1px solid var(--accent-line);padding:30px 0 0}.quince-grid .cards{grid-template-columns:1fr}.footer-pages{justify-content:flex-start!important}.page-intro h1,#sessions h1{font-size:49px}.home-about{text-align:left}.home-about p{margin-inline:0}.home-paths{padding-top:50px}}
/* Personal enquiry, with the same navy and champagne palette. */
.whatsapp-float{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:25;background:var(--paper);color:#152337;padding:12px 19px;border:1px solid var(--gold);border-radius:30px;font-size:15px;text-decoration:none;box-shadow:0 4px 22px #0004;display:flex;gap:12px;align-items:center}.whatsapp-float:hover{background:#fff2df}.whatsapp-float:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}#bookingForm .wide{grid-column:1/-1}#bookingForm [hidden]{display:none!important}#bookingForm textarea{width:100%;padding:12px;background:#101e31;color:var(--text);border:1px solid var(--accent-line);font:inherit;resize:vertical}#bookingForm p{font-size:16px;line-height:1.65}#bookingForm .booking-summary{white-space:pre-line;border:1px solid var(--accent-line);padding:22px;font-size:17px;line-height:1.75;background:#101e31}#bookingForm .field{min-width:0}#bookingForm input,#bookingForm select{max-width:100%;width:100%;font-size:16px}#recommend{margin-top:26px}#suggestion:empty{display:none}footer{padding-bottom:100px}#booking{scroll-margin-top:95px}@media(max-width:600px){.whatsapp-float{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:11px 17px}#bookingForm{grid-template-columns:1fr}#recommend{margin-top:0}}

/* An understated album: soft corners, fine rules and generous breathing room. */
:root{--radius-photo:12px;--radius-ui:8px;--accent-line:rgba(216,203,187,.25)}
body{line-height:1.75}h1,h2,h3{text-wrap:balance}p{ text-wrap:pretty }
.top{border-bottom:1px solid rgba(35,43,53,.1)}
.navlinks a{padding-block:7px;transition:opacity .18s ease}.navlinks a:hover{opacity:.65}
.lang{padding:2px;border-color:rgba(52,51,50,.24)}.lang button{min-height:32px;min-width:35px}
.menu-toggle{border-radius:6px}
.hero{padding-block:80px 98px;gap:76px}.hero p{line-height:1.85}
.hero .hero-photo img,.wedding-top .photo img,.about .photo img{border-radius:var(--radius-photo)}
.path-card .photo img{border-radius:10px}
.service-triptych .service-shot img{border-radius:8px}
.service-triptych .service-shot{border-radius:8px}
.photo img,.service-triptych .service-shot img{border-color:rgba(216,203,187,.65)}
/* Keep original image proportions; only the corners follow the fine border. */
.hero .hero-photo,.wedding-top .photo,.about .photo{overflow:visible;border-radius:0}
.print-caption{padding-top:17px;color:var(--muted)}.print-caption .print-credit{color:var(--gold)}
.button{border-radius:var(--radius-ui);padding:13px 24px;min-height:50px;transition:background .18s ease,border-color .18s ease,color .18s ease}
.button:hover{border-color:var(--gold)}.textlink{padding-bottom:5px;transition:border-color .18s ease}.textlink:hover{border-color:var(--ink)}
.strip{padding-block:22px;border-color:rgba(216,203,187,.18)}
.section{padding-block:104px}.intro{margin-bottom:48px}.eyebrow{margin-bottom:22px}
.path-grid{gap:42px}.path-card h3{margin-top:27px}.path-card .textlink{display:inline-block;margin-top:6px}
.service-story{padding-block:58px!important}.service-copy:before{width:32px;opacity:.65}.service-triptych{gap:20px}
.how,.wedding,.quince,.booking{background:#0e1d30}
.steps{gap:50px}.steps>div{padding-top:28px}.steps h3{margin-bottom:18px}.steps p{color:var(--muted);line-height:1.8}
.cards{border:0;gap:18px;align-items:stretch}
.card,.wedding .card{border:1px solid var(--accent-line);border-radius:12px;padding:32px 24px;background:rgba(255,255,255,.012)}
.card:last-child,.card:nth-child(2){border-right:1px solid var(--accent-line)}
.card.featured{border-color:rgba(216,203,187,.6);background:rgba(216,203,187,.055)}
.card h3{margin-bottom:12px}.card .price{margin-bottom:23px}.card p{line-height:1.7;font-size:15px}.card ul{font-size:16px}.card .button{margin-top:auto;min-height:48px}
.quote{padding:30px 0 24px;border-color:var(--accent-line)}.quote blockquote{line-height:1.4;margin-block:20px 26px}.stars{font-size:13px;letter-spacing:4px;opacity:.85}.quote cite{line-height:1.8}.review-grid{column-gap:44px}
.home-about{border-color:var(--accent-line);padding-inline:45px}.home-about p{font-size:20px;line-height:1.8;max-width:650px}
.personal-sign{padding-left:24px}.personal-sign .signature{font-size:46px}
#faqs{max-width:900px}details{padding-block:23px}summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:24px;font-size:18px;line-height:1.5}summary::-webkit-details-marker{display:none}summary::after{content:'+';flex-shrink:0;color:var(--gold);font:26px/1 'Cormorant Garamond',Georgia,serif}details[open] summary::after{content:'−'}details p{max-width:780px;line-height:1.8;padding-right:35px}
.booking-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}.booking-grid>div>p{font-size:17px;line-height:1.85;color:var(--muted)}
#bookingForm{padding:32px;border:1px solid var(--accent-line);border-radius:14px;background:rgba(7,16,29,.35);gap:22px 18px}
#bookingForm .field label{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:3px}
#bookingForm input,#bookingForm select,#bookingForm textarea{border:1px solid rgba(216,203,187,.3);border-radius:7px;background:#0a1829;color:var(--ink);padding:12px;min-height:49px;color-scheme:dark}
#bookingForm input:focus,#bookingForm select:focus,#bookingForm textarea:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:transparent}
#bookingForm input::placeholder,#bookingForm textarea::placeholder{color:#aeb9c8;opacity:.8}
#bookingForm .booking-summary{border-radius:9px;border-color:rgba(216,203,187,.25);background:rgba(216,203,187,.04);padding:23px;line-height:1.8;font-size:16px}
#bookingForm .privacy{font-size:14px;color:var(--muted);margin:0}#bookingForm p.wide{margin:0}#bookingForm #suggestion{color:var(--gold)}
#recommend{margin-top:29px;background:transparent;color:var(--ink);border-color:var(--accent-line)}#recommend:hover{background:var(--gold);color:var(--dark)}
.whatsapp-float{font-size:14px;padding:12px 20px;border-color:rgba(216,203,187,.75);box-shadow:0 5px 22px rgba(0,0,0,.16)}
footer{padding-top:48px;border-color:var(--accent-line)}.footer-links{gap:25px}.footer-pages{padding-top:24px;border-top:1px solid rgba(216,203,187,.12)}
dialog{border-radius:12px;border-color:var(--accent-line)}.gallery-close{border-radius:50%;width:46px;height:46px;line-height:1;padding:0}.gallery-images img{border-radius:0}
@media(min-width:701px) and (max-width:1000px){.booking-grid{grid-template-columns:1fr;gap:32px}.booking-grid>div{max-width:670px}#bookingForm{max-width:760px;width:100%}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.navlinks{gap:14px}.nav{gap:16px}}
@media(max-width:900px){.hero{gap:38px}.section{padding-block:80px}.path-grid{gap:24px}.service-story{padding-block:42px!important}.service-triptych{gap:15px}.review-grid{column-gap:30px}.card:nth-child(-n+2){border-bottom:1px solid var(--accent-line)}}
@media(max-width:700px){.booking-grid{grid-template-columns:1fr;gap:30px}.navlinks{border-radius:0 0 10px 10px;box-shadow:0 12px 20px #0002}#bookingForm{padding:24px}.home-about{padding-inline:24px}}
@media(max-width:600px){:root{--radius-photo:10px}.hero{padding-block:46px 62px;gap:34px}.hero h1{font-size:clamp(44px,11vw,56px)}.section{padding-block:64px}.intro{margin-bottom:32px}.service-story{padding-block:34px!important}.service-triptych{gap:13px}.service-triptych .service-shot img{border-radius:6px}.cards{gap:16px}.card:nth-child(n){padding:28px;border:1px solid var(--accent-line)}.card.featured{border-color:rgba(216,203,187,.6)}.card:last-child{border-bottom:1px solid var(--accent-line)}.path-grid{gap:44px}.home-about p{font-size:18px}.review-grid{gap:4px}.quote blockquote{font-size:29px}#bookingForm{padding:22px 18px;gap:20px;grid-template-columns:1fr}#bookingForm .booking-summary{padding:18px}#recommend{margin-top:0}.booking-grid{gap:24px}summary{font-size:17px;gap:20px}details p{padding-right:0}.footer-links{flex-wrap:wrap;gap:14px 24px}.footer-pages{gap:16px!important}.whatsapp-float{padding:11px 17px}}
@media(prefers-reduced-motion:reduce){.button,.navlinks a,.textlink{transition:none}}
