@font-face{font-family:"David Studio Display";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/david-display-500-v1.woff2") format("woff2")}
@font-face{font-family:"David Studio Display";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/david-display-600-v1.woff2") format("woff2")}
/* DAVID SHOTS — editorial service pages. Original black and white palette. */
.information-site{background:#fff;color:#171919;--rule:#dce0df;--display:"David Studio Display",Manrope,sans-serif}
.information-site a{text-decoration:none}
.information-site :is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:6px}
.information-width{width:min(1360px,calc(100% - 112px))}
.information-header{width:100%;margin:0;padding:22px max(56px,calc((100vw - 1360px)/2));min-height:96px;background:#101212;color:#fff;border-bottom:1px solid #303333}
.information-header .brand-lockup img{width:142px;filter:invert(1)}
.information-header nav{font-size:12px;gap:30px}
.information-header nav a:nth-child(2){border-bottom:1px solid #8c9393}
.information-header .information-language{border:1px solid #525858;border-radius:0;font-size:11px;padding:10px 12px!important}
.information-hero{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);column-gap:clamp(30px,5vw,86px);row-gap:0;margin:0;padding:30px max(56px,calc((100vw - 1360px)/2)) 72px;background:#101212;color:#fff}
.information-hero>*{grid-column:1;min-width:0}
.information-hero .information-breadcrumb{grid-column:1/-1;grid-row:1;margin:0 0 42px;color:#adb4b3;font-size:11px}
.information-kicker{grid-row:2;margin:0 0 22px;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.16em;color:#bdc6c4}
.information-hero h1{grid-row:3;font-family:var(--display);font-weight:500;letter-spacing:-.045em;font-size:clamp(36px,4.35vw,66px);line-height:1.08;max-width:720px;margin:0;text-wrap:balance}
.information-hero .information-lead{grid-row:4;max-width:560px;color:#cad0ce;font-size:15px;line-height:1.85;margin:28px 0 30px}
.information-hero .information-main-cta{grid-row:5;justify-self:start;align-self:start;border-radius:0;padding:17px 24px;font-weight:600;font-size:12px;min-height:54px;color:#101212!important;background:#fff!important;border:1px solid #fff;transition:background .2s,color .2s}
.information-main-cta:hover{color:#fff!important;background:#101212!important}
.information-hero .information-reassurance{grid-row:6;align-self:start;max-width:420px;font-size:10px;color:#aab3b0;line-height:1.7;margin-top:15px}
.information-print{border-color:#717b77;font-size:11px;justify-self:start}
.information-hero .information-hero-media{grid-column:2;grid-row:2/8;position:relative;margin:0;align-self:stretch;min-height:530px;overflow:hidden;background:#202727}
.information-hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 50%;filter:brightness(.87);transition:transform 1s ease}
.information-hero-media:hover img{transform:scale(1.025)}
.information-hero-media:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.information-hero-media figcaption{position:absolute;z-index:1;bottom:22px;left:24px;right:24px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:white;line-height:1.6}
.information-body{grid-template-columns:180px minmax(0,1fr);gap:clamp(35px,6vw,100px);border:0;padding-top:76px}
.information-toc{top:30px;font-size:11px;padding:0 20px 0 0}
.information-toc>p{font-size:9px;letter-spacing:.16em;margin-bottom:25px}
.information-toc nav{gap:0}
.information-toc nav a{display:block;border-bottom:1px solid var(--rule);padding:13px 0;line-height:1.65;transition:padding-left .2s}
.information-toc nav a:hover{padding-left:7px;text-decoration:none}
.information-phone{font-size:15px;font-weight:600;margin-top:25px;border:0}
.information-article{counter-reset:chapter}
.information-article>section{position:relative;margin:0 0 45px;padding:0 0 45px;border-color:var(--rule);scroll-margin-top:30px}
.information-article>section[id^=section-]{counter-increment:chapter;padding-left:68px}
.information-article>section[id^=section-]:before{content:counter(chapter,decimal-leading-zero);position:absolute;top:3px;left:0;color:#7e8883;font:500 12px/1.4 var(--display);letter-spacing:.08em}
.information-article h2{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.35vw,35px);line-height:1.2;letter-spacing:-.035em;max-width:730px;margin:0 0 23px}
.information-article p{color:#545d59;font-size:15px;line-height:1.95;max-width:750px}
.information-table{border:1px solid var(--rule);border-radius:0;margin:30px 0 0}
.information-table caption{background:#101212;color:#bfc7c3;padding:18px 22px;font-size:10px;letter-spacing:.06em}
.information-table thead th{background:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:20px}
.information-table td,.information-table th{padding:23px 20px;border-color:var(--rule)}
.information-table tbody th{font-family:var(--display);font-size:16px;font-weight:500}
.information-table td:nth-child(2){font-family:var(--display);font-size:20px;font-weight:600;color:#101212}
.information-table tbody tr:nth-child(even){background:#f6f7f7}
.information-table td>span{font-size:12px;line-height:1.6;color:#626a66}
.information-films{grid-template-columns:1fr 1fr;gap:18px}
.information-films video{border-radius:0;aspect-ratio:4/5;object-fit:contain;background:#101212}
.information-films figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:16px}
.information-answer{border-top:1px solid var(--rule);margin:0;padding:0}
.information-answer summary{list-style:none;position:relative;padding:23px 42px 23px 0;font-size:15px;font-weight:600;line-height:1.6;cursor:pointer}
.information-answer summary::-webkit-details-marker{display:none}
.information-answer summary:after{content:"+";position:absolute;right:4px;top:20px;font-size:24px;font-weight:400}
.information-answer[open] summary:after{content:"−"}
.information-answer p{padding:0 36px 12px 0;font-size:14px}
.information-context-links ul{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.information-context-links li a{display:flex;align-items:center;border:1px solid #cfd5d2;padding:12px 15px;font-size:11px;min-height:44px;text-decoration:none;transition:background .2s,color .2s}
.information-context-links li a:hover{background:#101212;color:white}
.information-closing{background:#101212;color:white;border-radius:0;padding:clamp(28px,4vw,58px)!important;margin-top:50px!important}
.information-closing h2{font-size:clamp(30px,3.7vw,50px);max-width:530px}
.information-closing p{color:#bdc5c1;font-size:14px}
.information-closing a:first-of-type{background:white;color:#101212;display:inline-flex;min-height:50px;align-items:center;padding:14px 20px;text-decoration:none;font-size:12px;font-weight:600}
.information-closing a{font-size:12px;margin-top:16px}
.information-related{padding:35px 0 90px}
.information-related h2{font-family:var(--display);font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.04em;margin:0 0 30px}
.information-related>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.information-related a{border:1px solid var(--rule);padding:25px;font-size:12px;line-height:1.6;min-height:110px;align-items:flex-end;transition:background .2s,color .2s}
.information-related a:hover{background:#101212;color:#fff}
.information-related a span{font-size:24px;font-weight:400}
.information-footer{padding-block:55px;background:#101212;color:white}
.information-footer .brand-lockup img{width:160px}
.information-footer p{font-size:11px;letter-spacing:.05em}
@media(min-width:1600px){.information-hero-media{max-height:680px}}
@media(max-width:1000px){
 .information-width{width:calc(100% - 64px)}
 .information-header{padding:22px 32px}
 .information-hero{width:100%;padding:26px 32px 48px;column-gap:32px}
 .information-hero h1{font-size:40px}.information-hero .information-hero-media{min-height:540px}
 .information-body{grid-template-columns:145px minmax(0,1fr);gap:35px;padding-top:55px}
 .information-article>section[id^=section-]{padding-left:45px}
 .information-related>div{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .information-width{width:calc(100% - 40px)}
 .information-header{padding:18px 20px;min-height:76px;gap:15px;flex-wrap:nowrap}
 .information-header .brand-lockup img{width:106px}.information-header nav{gap:12px;font-size:10px}
 .information-header nav>a:first-child{display:none}.information-header nav a:nth-child(2){max-width:125px}
 .information-hero{width:100%;grid-template-columns:minmax(0,1fr);padding:22px 20px 35px;row-gap:0}
 .information-hero .information-breadcrumb{margin-bottom:32px;grid-column:1;font-size:9px}
 .information-kicker{font-size:9px;margin-bottom:15px}
 .information-hero h1{font-size:clamp(32px,8.5vw,46px);max-width:580px;line-height:1.12}
 .information-hero .information-lead{font-size:14px;line-height:1.85;margin:22px 0 25px}
 .information-hero .information-main-cta{min-height:50px}.information-hero .information-reassurance{font-size:10px}
 .information-hero .information-hero-media{grid-column:1;grid-row:9;min-height:0;height:auto;aspect-ratio:4/3;margin-top:28px}
 .information-hero-media figcaption{left:18px;bottom:16px;font-size:8px}
 .information-body{display:block;padding-top:30px}
 .information-toc{position:static;padding:0 0 25px;margin:0 0 38px;border-bottom:1px solid var(--rule)}
 .information-toc>p{margin-bottom:12px}.information-toc nav{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 12px;scrollbar-width:thin}
 .information-toc nav a{border:1px solid var(--rule);padding:10px 12px;min-height:44px;max-width:235px;flex-shrink:0;font-size:10px}
 .information-toc nav a:hover{padding-left:12px}.information-phone{display:none}
 .information-article>section[id^=section-]{padding-left:0;padding-top:28px}
 .information-article>section[id^=section-]:before{top:0;font-size:10px}
 .information-article>section{margin-bottom:32px;padding-bottom:32px}
 .information-article h2{font-size:27px}.information-article p{font-size:14px;line-height:1.9}
 .information-table th,.information-table td{padding:18px 14px}.information-table td:nth-child(2){font-size:18px}
 .information-films{grid-template-columns:1fr}.information-films video{aspect-ratio:16/9}
 .information-answer summary{font-size:14px;padding-block:20px}.information-answer p{padding-right:10px}
 .information-closing{padding:28px 23px!important}.information-closing h2{font-size:33px}
 .information-related{padding-block:15px 50px}.information-related>div{grid-template-columns:1fr 1fr;gap:10px}
 .information-related a{padding:17px;min-height:105px;font-size:11px;gap:10px}.information-related a span{font-size:20px}
 .information-footer{padding-block:38px}
}
@media(prefers-reduced-motion:reduce){.information-site *{transition:none!important;scroll-behavior:auto!important}.information-hero-media:hover img{transform:none}}
@media print{
 .information-hero-media,.information-kicker,.information-toc,.information-header,.information-related,.information-footer,.information-main-cta,.information-print,.information-closing{display:none!important}
 .information-site,.information-hero{background:white!important;color:black!important}
 .information-hero{display:block;width:100%;padding:0}.information-width{width:100%}
 .information-hero h1{font:500 24pt/1.2 sans-serif}.information-hero .information-lead{color:black;font-size:11pt;max-width:none}
 .information-body{display:block;padding-top:20px}.information-article>section{break-inside:avoid}
 .information-answer:not([open])>p{display:block!important}.information-article h2{font-size:17pt}
}
/* Short, visual service navigation; practical links stay one tap away. */
.studio-site .service-explorer{background:#fff;padding-block:clamp(40px,6vw,72px)}
.studio-site .service-explorer h2{font-family:"David Studio Display",Manrope,sans-serif;font-weight:500;font-size:clamp(28px,3.2vw,44px);letter-spacing:-.035em;margin:0 0 28px;line-height:1.15}
.studio-site .service-explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.studio-site .service-explorer-grid .service-explorer-card{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:18px 12px;border:0;padding:0;align-items:start;color:#171919}
.studio-site .service-explorer-card img{grid-column:1/-1;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.studio-site .service-explorer-card h3{font-size:18px;font-weight:600;line-height:1.35;margin:0 0 8px;letter-spacing:-.025em}
.studio-site .service-explorer-card p{font-size:13px;line-height:1.65;color:#5b625f;margin:0;max-width:none}
.studio-site .service-explorer-card>span{font-size:23px}
.studio-site .service-explorer-extra{display:flex;gap:12px 26px;flex-wrap:wrap;margin:28px 0}
.studio-site .service-explorer-extra a{padding:8px 0;border:0;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.studio-site .service-explorer-guides{border-top:1px solid #dce0df;padding-top:8px}
.studio-site .service-explorer-guides summary{cursor:pointer;padding:16px 28px 16px 0;font-size:13px;font-weight:600;list-style:none;position:relative}
.studio-site .service-explorer-guides summary::-webkit-details-marker{display:none}
.studio-site .service-explorer-guides summary:after{content:'+';position:absolute;right:0;top:12px;font-size:22px;font-weight:400}
.studio-site .service-explorer-guides[open] summary:after{content:'−'}
.studio-site .service-explorer-guides nav{display:flex;gap:8px 24px;flex-wrap:wrap;margin:0;padding:0 0 14px}
.studio-site .service-explorer-guides a{border:0;padding:8px 0;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.information-hero-media img{filter:none}
.information-table caption{color:white}
@media(max-width:700px){
 .studio-site .service-explorer-grid{grid-template-columns:1fr;gap:0}
 .studio-site .service-explorer-grid .service-explorer-card{grid-template-columns:88px minmax(0,1fr) 20px;gap:16px;align-items:center;border-bottom:1px solid #dce0df;padding:18px 0}
 .studio-site .service-explorer-card img{grid-column:1;width:88px;height:100px;aspect-ratio:auto}
 .studio-site .service-explorer-card h3{font-size:16px;margin-bottom:5px}
 .studio-site .service-explorer-card p{font-size:12px;line-height:1.6}
 .studio-site .service-explorer h2{margin-bottom:10px}
 .studio-site .service-explorer-extra{margin:18px 0;gap:4px 22px}
 .studio-site .service-explorer-extra a,.studio-site .service-explorer-guides a{font-size:12px}
 .information-toc{display:none}
 .information-hero .information-breadcrumb{margin-bottom:24px}
 .information-hero .information-lead{line-height:1.7}
 .information-article p{line-height:1.8}
 .information-related>div{grid-template-columns:1fr}
 .information-related a{min-height:64px;align-items:center;padding:16px 18px}
}

/* Uploaded photographs: preserve their colour and proportions. */
.studio-site .gallery-filters{display:flex;flex-wrap:wrap;gap:8px}
.studio-site .gallery-toolbar{gap:16px;flex-wrap:wrap}
.information-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0 18px;align-items:start}
.information-photo-pair figure{margin:0}
.information-photo-pair img{display:block;width:100%;height:auto}
.information-projects>a{font-size:13px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.information-photo-pair{grid-template-columns:1fr;gap:18px}.studio-site .gallery-toolbar{align-items:flex-start}.studio-site .gallery-filters{gap:4px 10px}}

/* One service directory, accessible gallery links and compact booking routes. */
.studio-site [hidden],.information-site [hidden]{display:none!important}
.studio-site .service-quicklinks{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:24px}
.studio-site .service-quicklinks a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.studio-site .portfolio-open{display:block;width:100%;cursor:zoom-in;color:inherit}
.studio-site .studio-service-caption{display:block}
.studio-site .studio-service-caption strong{font-size:clamp(17px,1.8vw,24px);line-height:1.2;letter-spacing:-.025em;text-transform:none}
.studio-site .studio-service-caption .studio-service-arrow{position:absolute;bottom:0;right:0;font-size:18px}
.studio-site .studio-service-caption small{line-height:1.5;letter-spacing:0;text-transform:none;font-size:12px;padding-right:20px}
.information-package-link{display:block;font:500 12px/1.6 Manrope,sans-serif;text-decoration:underline!important;text-underline-offset:4px;margin-top:12px;min-height:44px;padding-block:8px}
.information-contents summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid var(--rule);margin-bottom:12px}
.information-contents summary::-webkit-details-marker{display:none}
.information-contents summary:after{content:"+";font-size:22px;font-weight:400}
.information-contents[open] summary:after{content:"−"}
.information-toc nav{display:block}
.information-context-links{display:flex;gap:8px 20px;flex-wrap:wrap}
.information-context-links>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline!important;text-underline-offset:4px}
.information-photo-pair img{background:#ecefee}
.booking-noscript{padding:24px;border:1px solid currentColor;margin-block:24px}
.booking-noscript a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 .information-toc{display:block!important;margin:0 0 28px;padding:0;border:0}
 .information-contents summary{margin:0}
 .information-toc nav{display:flex;flex-direction:column;gap:0;overflow:visible;padding:8px 0 0}
 .information-toc nav a{max-width:none;padding:12px 0;font-size:12px;border:0;border-bottom:1px solid var(--rule)}
 .information-toc nav a:hover{padding-left:0}
 .information-table{border:0;overflow:visible;margin-top:22px}
 .information-table table{display:block;width:100%;min-width:0}
 .information-table caption{display:block;text-align:left}
 .information-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
 .information-table tbody{display:block}
 .information-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:18px 16px;gap:12px 16px;border:1px solid var(--rule);border-top:0}
 .information-table tbody th,.information-table tbody td{display:block;padding:0;border:0;min-width:0}
 .information-table tbody th{font-size:18px}
 .information-table tbody td:nth-child(2){font-size:18px;white-space:nowrap;text-align:right}
 .information-table tbody td:last-child{grid-column:1/-1}
 .information-table tbody td>span{font-size:13px}
 .information-package-link{font-size:12px;margin-top:6px}
 .studio-site .service-quicklinks{gap:2px 22px;margin-top:18px}
 .studio-site .service-quicklinks a{font-size:12px}
 .studio-site .studio-service-caption strong{font-size:16px}
 .studio-site .studio-service-caption small{font-size:11px}
 .information-header nav a,.information-language{min-height:44px;display:inline-flex;align-items:center}
 .studio-site :is(input,select,textarea){font-size:16px}
}
@media(prefers-reduced-motion:reduce){.studio-site .portfolio-item{transition:none!important}}
@media print{.information-package-link{display:none!important}.information-table table{display:table}.information-table tbody{display:table-row-group}.information-table tbody tr{display:table-row}.information-table tbody td,.information-table tbody th{display:table-cell;padding:8px}}
