:root{color-scheme:dark;--orange:#ff6825;--line:#303030;--muted:#aaa}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{margin:0;background:#090909;color:#f5f5f5;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}
.wrap{width:min(1440px,100%);margin:auto;padding-inline:48px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.brand img{width:46px;height:46px;object-fit:contain}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover,.textlink:hover{color:var(--orange)}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:14px 22px;background:var(--orange);color:#090909;font-size:14px;font-weight:700;border-radius:2px}.cta:hover{background:#ff8a57;color:#090909}
.intro{padding-block:56px 36px}.introline{display:flex;align-items:center;justify-content:space-between;gap:24px}h1{margin:0;font-size:100px;font-weight:800;line-height:1}.intro p{max-width:190px;margin:0;font-size:16px;line-height:1.6;color:#bbb}.introfoot{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:14px}.introfoot span:first-child{color:var(--orange)}.introfoot span:last-child{color:var(--muted)}
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project{min-width:0}.picture{aspect-ratio:4/5;overflow:hidden;position:relative;background:#202020}.picture img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.025)}.watch{position:absolute;bottom:18px;left:18px;padding:10px 14px;background:#090909;font-size:14px;border:1px solid #555}.caption{padding-block:18px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.caption h2{font-size:16px;line-height:1.4;font-weight:500;margin:0}.caption span{color:var(--muted);font-size:12px;white-space:nowrap}.workend{display:flex;justify-content:flex-end;margin:20px 0 76px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.services{border-top:1px solid var(--line);padding-block:64px 80px;display:grid;grid-template-columns:1fr 2fr;gap:60px}.sectiontitle{font-size:14px;margin:0 0 20px;color:var(--orange);font-weight:400}.services h2{font-size:38px;font-weight:500;line-height:1.15;margin:0;max-width:280px}.service-list details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding-block:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:28px}summary::-webkit-details-marker{display:none}summary::after{content:'+';color:var(--orange);font-size:24px}details[open] summary::after{content:'-'}details p{margin:0 0 24px;color:#bbb;font-size:16px;line-height:1.65;max-width:560px}.contact{border-top:1px solid var(--line);padding-block:64px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact h2{margin:0;font-size:60px;font-weight:500;line-height:1.15}.contact .cta{min-height:56px;padding-inline:32px;font-size:16px}footer{border-top:1px solid var(--line);padding-block:24px 30px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
@media(min-width:1500px){h1{font-size:120px}}
@media(max-width:1100px){h1{font-size:72px}.wrap{padding-inline:32px}.intro p{max-width:180px}}
@media(max-width:760px){.wrap{padding-inline:20px}header{height:80px}.brand{font-size:16px}.brand img{width:38px;height:38px}nav{gap:16px}nav .navlink{display:none}nav .cta{padding:12px 14px;min-height:42px;font-size:12px}.intro{padding-block:38px 26px}.introline{display:block}h1{font-size:54px}.intro p{margin-top:18px;max-width:none;font-size:14px}.introfoot{margin-top:28px;font-size:12px}.introfoot span:last-child{max-width:145px;text-align:right}.projects{grid-template-columns:1fr;gap:22px}.caption{padding-block:14px}.workend{margin-bottom:46px}.services{grid-template-columns:1fr;gap:28px;padding-block:40px}.services h2{font-size:32px;max-width:none}summary{font-size:24px;padding-block:18px}.contact{align-items:flex-start;flex-direction:column;padding-block:44px}.contact h2{font-size:42px}}
@media(max-width:360px){h1{font-size:46px}.brand{gap:4px;font-size:14px}nav .cta{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.picture img{transition:none}}
.wrap{max-width:1320px}
.brand img{width:62px;height:62px;margin-inline:-9px}
.introline{display:block}h1{font-size:96px;line-height:1.05}
.intro p{max-width:none;margin-top:22px;font-size:20px;line-height:1.4}
.intro p br{display:none}.introfoot{margin-top:40px}
.picture{aspect-ratio:9/16}.picture img{object-fit:contain}
.caption{align-items:flex-start;flex-direction:column;gap:6px;min-height:84px}
.caption span{font-size:13px}.project:focus-visible .watch,.project:hover .watch{border-color:var(--orange);color:var(--orange)}
.watch{transition:color .2s,border-color .2s}
.about{border-top:1px solid var(--line);padding-block:54px;display:grid;grid-template-columns:1fr 1.25fr;gap:24px 60px}
.about .sectiontitle{grid-column:1/-1;margin:0}
.about h2{font-size:38px;line-height:1.2;font-weight:500;margin:0}
.about>p:last-child{color:#bbb;font-size:18px;line-height:1.65;margin:0;align-self:center;max-width:540px}
.contact{display:grid;grid-template-columns:1fr 1.25fr;align-items:start;gap:60px}
.contact h2{font-size:54px}
.direct-contact{display:inline-block;margin-top:24px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
form{min-width:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
label{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.4}
.optional{color:var(--muted);display:inline}
.field-caption{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.field-caption .optional{font-size:12px}
#quote-form .form-grid input,#quote-form .form-grid select{box-sizing:border-box;height:52px}
input,select,textarea{width:100%;min-width:0;border:1px solid #444;border-radius:2px;padding:13px;background:#141414;color:#f5f5f5;font:inherit;font-size:16px;line-height:1.5}
textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:2px}
button{font-family:inherit;cursor:pointer;border:0}button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.full{grid-column:1/-1}form>.cta{margin-top:24px}
#inquiry{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}
[hidden]{display:none!important}
.inquiry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.secondary{background:transparent;color:#f5f5f5;border:1px solid #555;padding:14px 18px;font-size:14px;min-height:46px;border-radius:2px}
#inquiry-status{font-size:14px;color:#bbb;line-height:1.6;margin-bottom:0}
@media(max-width:1100px){h1{font-size:80px}.contact{gap:36px}.contact h2{font-size:46px}}
@media(max-width:760px){
  h1{font-size:52px}.intro p{font-size:18px;margin-top:16px}.introfoot{margin-top:28px}
  .brand img{width:52px;height:52px;margin-inline:-8px}
  .projects{gap:28px}.picture{aspect-ratio:9/12}.picture img{object-fit:cover;object-position:center}
  .caption{min-height:0}.about{grid-template-columns:1fr;gap:20px;padding-block:40px}
  .about h2{font-size:32px}.about>p:last-child{font-size:16px}
  .contact{grid-template-columns:1fr;gap:32px}.contact h2{font-size:42px}
  .form-grid{gap:20px 14px}.contact .cta{font-size:14px;padding-inline:20px}
}
@media(max-width:400px){h1{font-size:42px}.form-grid{grid-template-columns:1fr}}
.picture video{display:block;width:100%;height:100%;object-fit:contain;background:#111;pointer-events:none}
.project{display:block}.project:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.video-link{font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
video:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}
@media(max-width:760px){.picture{aspect-ratio:9/16}}


.services-menu{position:relative;border:0}.services-menu summary{font-size:14px;padding:12px 0;gap:8px}.services-menu summary::after{font-size:16px}
.dropdown{position:absolute;right:0;top:100%;z-index:5;width:200px;background:#151515;border:1px solid #444;padding:8px}
.dropdown a{display:block;padding:12px;font-size:14px}.dropdown a:hover{background:#252525;color:var(--orange)}
.overview{border-top:1px solid var(--line);padding-block:48px;display:grid;grid-template-columns:1fr 2fr;gap:48px}
.overview h2{font-size:32px;font-weight:500;margin:0}.service-links{display:flex;gap:12px 24px;flex-wrap:wrap;align-content:center}
.service-links a{font-size:20px;padding-block:8px;border-bottom:1px solid #555}.service-links a:hover{color:var(--orange);border-color:var(--orange)}
.home-contact{padding-block:48px;display:flex;align-items:center}.home-contact h2{font-size:44px}
.page-intro{padding-block:48px}.page-intro h1{font-size:64px}.page-intro p{font-size:18px;color:#bbb;line-height:1.5;margin:20px 0 0}
html{scroll-padding-top:24px}.service-list details{scroll-margin-top:24px}
@media(max-width:760px){header{gap:16px}nav{gap:16px}nav .navlink{display:inline;font-size:14px}.services-menu summary{font-size:14px}
.overview{grid-template-columns:1fr;gap:20px;padding-block:36px}.service-links{gap:8px 18px}.service-links a{font-size:18px}
.home-contact{align-items:flex-start}.home-contact h2{font-size:36px}.page-intro h1{font-size:44px}}
@media(max-width:360px){nav{gap:10px}.services-menu summary{font-size:12px}nav .navlink{font-size:12px}}

@font-face{font-family:Manrope;src:url('manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('manrope-extrabold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--line:#252525;--muted:#929292}
body{font-family:Manrope,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:1360px;padding-inline:56px}
header{height:112px;border-color:#282828;position:relative;z-index:20}
nav{gap:36px}nav .navlink{font-weight:600;font-size:14px;position:relative;padding-block:16px}
nav .navlink::after{content:'';position:absolute;bottom:8px;left:0;width:100%;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .22s}
nav .navlink:hover::after{transform:scaleX(1)}
.cta{font-weight:600;border-radius:4px;transition:background .22s,transform .22s;min-height:48px}
.cta:hover{transform:translateY(-2px)}
.intro{padding-block:72px 30px}
h1{font-size:96px;font-weight:800;line-height:1.12}
.intro p{font-size:18px;line-height:1.75;color:#aaa;max-width:680px;margin-top:24px}
.introfoot{margin-top:48px;font-size:14px}
.introfoot span:first-child{font-weight:600}
.projects{gap:24px}
.picture{border-radius:4px;transition:box-shadow .3s}
.project:hover .picture{box-shadow:0 0 0 1px #666}
.workend{margin-top:24px;margin-bottom:80px}
.overview{padding-block:56px}
.overview h2,.services h2{font-weight:600;font-size:32px}
.service-links{gap:10px 26px}
.service-links a{font-weight:400;font-size:19px;border-bottom-color:#383838;transition:color .2s,border-color .2s}
.home-contact{padding-block:56px}
.home-contact h2{font-size:40px;font-weight:600}
.sectiontitle{font-weight:600}
.page-intro{padding-block:64px}
.page-intro h1{font-weight:800}
.service-list summary{font-weight:600;font-size:26px}
.service-list p{font-size:16px;line-height:1.75}
footer{font-size:13px;padding-block:28px}
.services-menu{position:relative}
.services-toggle{display:flex;align-items:center;gap:10px;padding:16px 0;color:#eee;background:none;border:0;font:inherit;font-size:14px;font-weight:600;transition:color .2s}
.services-toggle:hover,.services-toggle[aria-expanded="true"]{color:var(--orange)}
.chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.services-toggle[aria-expanded="true"] .chevron{transform:rotate(225deg) translate(-2px,-2px)}
.services-menu .dropdown{display:block;right:-24px;top:calc(100% + 8px);width:286px;padding:12px;background:#151515;border:1px solid #363636;border-radius:6px;box-shadow:0 20px 55px #0009;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .22s,transform .25s,visibility .25s}
.services-menu.is-open .dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .22s,transform .25s,visibility 0s}
.services-menu .dropdown a{position:relative;padding:15px 18px;border-radius:3px;font-size:15px;font-weight:600;line-height:1.5;transition:background .2s,color .2s,padding .2s}
.services-menu .dropdown a+a{border-top:1px solid #252525}
.services-menu .dropdown a:hover,.services-menu .dropdown a:focus-visible{background:#222;color:var(--orange);padding-left:24px}
@media(max-width:1100px){.wrap{padding-inline:36px}h1{font-size:76px}}
@media(max-width:760px){
.wrap{padding-inline:20px}header{height:88px;gap:12px}nav{gap:18px}
h1{font-size:50px}.intro{padding-block:44px 28px}.intro p{font-size:16px;line-height:1.7;margin-top:20px}
.introfoot{margin-top:32px;font-size:13px}.projects{gap:20px}
nav .cta{font-size:12px;padding-inline:14px;min-height:44px}nav .navlink,.services-toggle{font-size:13px}
.services-menu .dropdown{right:-100px;width:min(286px,calc(100vw - 40px))}
.overview{padding-block:36px}.service-links a{font-size:18px}.home-contact h2{font-size:32px}
.page-intro h1{font-size:44px}.home-contact{padding-block:40px}.workend{margin-bottom:52px}
}
@media(max-width:380px){h1{font-size:42px}nav{gap:12px}nav .cta{padding-inline:10px}.services-toggle{gap:7px}}
nav .navlink[aria-current="page"]{color:var(--orange)}
nav .navlink[aria-current="page"]::after{transform:scaleX(1)}
.about-story{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;padding-block:48px 72px;border-top:1px solid var(--line)}
.about-story h2{font-size:36px;line-height:1.3;font-weight:600;margin:0}
.about-story h2 span{color:var(--orange)}
.about-intro h1 span{color:var(--orange)}
.about-story p{font-size:18px;line-height:1.8;color:#aaa;margin:0 0 24px;max-width:580px}
.about-story a{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.about-story{grid-template-columns:1fr;gap:24px;padding-block:36px}.about-story h2{font-size:30px}.about-story p{font-size:16px}}
@media(max-width:460px){header{gap:10px;height:88px}nav{gap:12px}nav .navlink{font-size:12px;white-space:nowrap}.brand img{width:48px;height:48px}}
.home-services{border-top:1px solid var(--line);padding-block:64px 72px}
.home-services>h2{font-size:36px;font-weight:600;line-height:1.25;margin:0 0 36px}
.service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:28px;padding:27px 0;border-bottom:1px solid var(--line);position:relative;transition:color .25s,border-color .25s}
.service-row:first-child{border-top:1px solid var(--line)}
.service-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--orange);opacity:0;transition:opacity .25s}
.service-row h3{font-size:28px;line-height:1.3;font-weight:600;margin:0;transition:transform .25s}
.service-row p{font-size:16px;color:#aaa;line-height:1.65;margin:0;max-width:460px}
.service-row:hover,.service-row:focus-visible{color:var(--orange);border-bottom-color:#565656}
.service-row:hover::before,.service-row:focus-visible::before{opacity:1}
.service-row:hover h3,.service-row:focus-visible h3{transform:translateX(16px)}
.home-closing{border-top:1px solid var(--line);padding-block:72px 80px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px}
.home-closing h2{font-size:68px;line-height:1.15;font-weight:600;margin:0}
.home-closing h2 span{color:var(--orange)}
.closing-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.closing-actions .cta{min-height:56px;padding-inline:32px;font-size:15px}
.closing-email{font-size:14px;color:#aaa;transition:color .2s}
.closing-email:hover{color:var(--orange)}
@media(max-width:760px){
.home-services{padding-block:40px 48px}.home-services>h2{font-size:30px;margin-bottom:26px}
.service-row{grid-template-columns:1fr;gap:9px;padding-block:22px}
.service-row h3{font-size:24px}.service-row p{font-size:15px}
.home-closing{grid-template-columns:1fr;gap:30px;padding-block:44px 52px}
.home-closing h2{font-size:44px}.closing-actions{gap:18px}
}
.photo-feature{border-top:1px solid var(--line);padding-block:56px 64px}
.photo-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:36px}
.photo-heading h2{font-size:44px;font-weight:600;line-height:1.2;margin:0}
.photo-heading h2 span{color:var(--orange)}
.photo-category{font-size:14px;color:#aaa}
.photo-pair{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start}
.photo-pair figure{margin:0;min-width:0}
.photo-pair figure:last-child{margin-top:88px}
.photo-pair a{display:block}
.photo-pair img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transition:box-shadow .25s}
.photo-pair a:hover img{box-shadow:0 0 0 1px #777}
.photo-pair figcaption{margin-top:14px;font-size:13px;color:#999}
.photo-service-link{display:inline-block;margin-top:32px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){
.photo-feature{padding-block:36px 44px}.photo-heading{margin-bottom:24px;gap:16px}
.photo-heading h2{font-size:30px}.photo-category{font-size:12px}
.photo-pair{grid-template-columns:1fr;gap:26px}.photo-pair figure:last-child{margin-top:0}
.photo-service-link{margin-top:26px}
}
.photo-reveal{position:relative;aspect-ratio:3/2;overflow:hidden;background:#161616}
.photo-reveal>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.reveal-overlay{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.reveal-divider{position:absolute;left:var(--reveal);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none;z-index:2}
.reveal-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#090909;font-size:18px;font-weight:600;border:2px solid #fff;box-shadow:0 3px 16px #0006}
.reveal-label{position:absolute;top:20px;padding:9px 14px;border-radius:3px;background:#090909d9;color:white;font-size:14px;pointer-events:none;z-index:2}
.reveal-left{left:20px}.reveal-right{right:20px}
.reveal-range{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:ew-resize;z-index:3}
.photo-reveal:focus-within{outline:2px solid var(--orange);outline-offset:5px}
@media(max-width:760px){.reveal-grip{width:44px;height:44px;font-size:16px}.reveal-label{top:12px;font-size:12px;padding:7px 10px}.reveal-left{left:12px}.reveal-right{right:12px}}
.service-intro h1 span{color:var(--orange)}
.service-intro p{max-width:540px;line-height:1.7}
.service-index{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:16px 32px;padding:0 0 28px;border-bottom:1px solid var(--line);font-size:14px}
.service-index a{padding-block:8px;color:#aaa;transition:color .2s}
.service-index a:hover{color:var(--orange)}
.service-detail{padding-block:56px;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.service-with-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.service-detail h2{font-size:40px;line-height:1.2;font-weight:600;margin:0 0 24px}
.service-copy>p{font-size:17px;line-height:1.8;color:#aaa;margin:0 0 24px;max-width:500px}
.service-offerings{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:10px 22px}
.service-offerings li{font-size:13px;line-height:1.6;color:#ddd;padding-left:12px;position:relative}
.service-offerings li::before{content:'';width:4px;height:4px;position:absolute;left:0;top:8px;background:var(--orange)}
.service-inquiry{display:inline-block;font-size:14px;font-weight:600;padding-block:8px;border-bottom:1px solid #555;transition:color .2s,border-color .2s}
.service-inquiry:hover{color:var(--orange);border-color:var(--orange)}
.service-film{display:flex;justify-content:center}
.service-film video{display:block;aspect-ratio:9/16;width:min(260px,100%);height:auto;max-height:465px;object-fit:contain;background:#121212;pointer-events:none}
.service-photo{margin:0}.service-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.service-photo-portrait{width:min(340px,100%);justify-self:center}
.service-photo-portrait img{aspect-ratio:2/3;object-fit:contain}
.service-text-detail{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr) auto;gap:36px;align-items:start;padding-block:38px}
.service-text-detail h2{font-size:30px;font-weight:800;margin:0;line-height:1.3}
.service-text-detail h2 span{color:var(--orange)}
.service-text-detail .service-copy>p{font-size:16px;line-height:1.65;margin-bottom:16px;max-width:440px;color:#bbb}
.service-text-detail .service-offerings{margin:0;gap:6px 18px}
.service-text-detail>.service-inquiry{justify-self:end;align-self:start;white-space:nowrap;margin-top:2px}
@media(min-width:761px) and (max-width:1100px){
.service-text-detail{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px 32px}
.service-text-detail>.service-inquiry{grid-column:2;justify-self:start;margin:0}
}
.services-closing{padding-block:48px 64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.services-closing h2{font-size:32px;line-height:1.3;font-weight:600;margin:0}
.services-closing h2 span{color:var(--orange)}
@media(max-width:760px){
.service-index{gap:6px 22px;padding-bottom:20px}
.service-detail{padding-block:36px}.service-with-media,.service-text-detail{grid-template-columns:1fr;gap:26px}
.service-detail h2{font-size:30px;margin-bottom:18px}.service-copy>p{font-size:16px}
.service-film{justify-content:flex-start}.service-film video{width:240px}
.service-text-detail{gap:16px;padding-block:30px}.service-text-detail h2{font-size:28px;margin:0}
.service-text-detail>.service-inquiry{justify-self:start;margin-top:2px;white-space:normal}
.services-closing{align-items:flex-start;flex-direction:column;padding-block:36px 44px}
.services-closing h2{font-size:28px}
}
@view-transition{navigation:auto}
header{view-transition-name:site-header}
::view-transition-old(root){animation:page-fade-out 180ms ease both}
::view-transition-new(root){animation:page-fade-in 360ms ease both}
::view-transition-group(site-header){animation:none}
::view-transition-old(site-header){animation:none;opacity:0}
::view-transition-new(site-header){animation:none}
@keyframes page-fade-out{to{opacity:0}}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
.cta:active{transform:translateY(0) scale(.98)}
@media(prefers-reduced-motion:reduce){
@view-transition{navigation:none}
*,*::before,*::after{animation:none!important;transition:none!important}
::view-transition-old(root),::view-transition-new(root){animation:none!important}
.cta:hover,.cta:active{transform:none}
}

/* Phone-only refinements; the approved desktop rules remain unchanged. */
@media(max-width:760px){
  .wrap{padding-inline:20px}
  header{height:80px;gap:12px}
  .brand{flex-shrink:0;min-width:44px;min-height:44px;justify-content:center}
  header nav{flex:1;justify-content:flex-end;gap:14px;min-width:0}
  header nav .navlink{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;font-size:12px;white-space:nowrap}
  .intro{padding-block:36px 24px}
  .intro h1{font-size:40px;line-height:1.15}
  .intro p{font-size:16px;line-height:1.65;margin-top:18px}
  .introfoot{margin-top:28px;font-size:12px;gap:12px}
  .projects{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#535353 transparent;padding:2px 8% 12px}
  .projects .project{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}
  .projects .picture{aspect-ratio:9/16}
  .projects .picture video{object-fit:contain}
  .workend{margin:12px 0 36px}
  .workend a,.photo-service-link,.service-inquiry,.about-story a,.closing-email,footer a{display:inline-flex;align-items:center;min-height:44px}
  .photo-feature{padding-block:32px 36px}
  .photo-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}
  .photo-heading h2{font-size:30px;line-height:1.25}
  .photo-category{font-size:12px}
  .reveal-grip{width:48px;height:48px}
  .reveal-range{touch-action:pan-y}
  .photo-service-link{margin-top:16px}
  .home-closing{padding-block:36px 40px;gap:24px}
  .home-closing h2{font-size:40px;line-height:1.2}
  .closing-actions{width:100%;gap:10px}
  .closing-actions .cta{width:100%;min-height:52px}
  .closing-email{overflow-wrap:anywhere}
  .page-intro{padding-block:36px 32px}
  .page-intro h1{font-size:40px;line-height:1.2}
  .page-intro p{font-size:16px;line-height:1.65;margin-top:16px}
  .service-index{gap:4px 18px;padding-bottom:16px}
  .service-index a{display:inline-flex;align-items:center;min-height:44px}
  .service-with-media{gap:24px}
  .service-film{justify-content:center}
  .service-film video{width:min(260px,100%)}
  .service-photo-portrait{width:min(340px,100%)}
  .service-copy>p{line-height:1.7}
  .service-offerings{gap:8px 18px}
  .services-closing .cta{width:100%;min-height:52px}
  .about-story{padding-block:32px 36px}
  .contact{padding-block:36px 40px;gap:28px}
  .contact h2{font-size:40px;line-height:1.2}
  .direct-contact{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}
  .form-grid{grid-template-columns:1fr;gap:20px}
  label{gap:8px}
  input,select,textarea{font-size:16px}
  #quote-form textarea{min-height:140px}
  #quote-form>.cta{width:100%;min-height:52px;margin-top:22px}
  footer{align-items:center;gap:16px;padding-block:16px;font-size:12px}
}
@media(max-width:360px){
  .wrap{padding-inline:16px}
  header{gap:8px}
  header nav{gap:6px}
  .brand img{width:44px;height:44px}
  .intro h1{font-size:40px}
}
