@charset "UTF-8";
:root{color-scheme:light;--paper:#fff;--ink:#222723;--muted:#6b706c;--line:#dce0da;--soft:#f4f5f2;--dark:#202b25;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--serif:"Iowan Old Style",Baskerville,"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;--gutter:4.2vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.9 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#dce5dd}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #517b63;outline-offset:5px}.skip-link{position:fixed;left:20px;top:-90px;z-index:30;background:var(--dark);padding:12px 25px;color:white}.skip-link:focus{top:10px}[hidden]{display:none!important}
.site-header{min-height:120px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px var(--gutter);background:white;position:relative;z-index:10}.brand{display:flex;flex-direction:column;line-height:1.5;flex-shrink:0}.brand-jp{font-size:1.5625rem;font-weight:500;letter-spacing:.16em}.brand-en{font-size:0.75rem;letter-spacing:.2em;margin-top:6px}.header-location{font-size:0.75rem;letter-spacing:.12em;line-height:1.6;color:var(--muted);margin-left:auto;margin-right:5vw}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:0.875rem}.desktop-nav>a{padding:6px 0}.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{border-bottom:1px solid var(--ink)}.desktop-nav .nav-contact{margin-left:12px;border-bottom:1px solid var(--ink);display:flex;gap:22px;align-items:center}.nav-contact span{font-size:1.25rem}.menu-toggle{display:none;border:0;background:none;padding:12px 0 12px 16px;align-items:center;gap:12px;font-size:0.875rem}.menu-icon{display:inline-block;width:22px;height:11px;border-top:1px solid;border-bottom:1px solid}.menu-toggle[aria-expanded=true] .menu-icon{height:1px;border-bottom:0;transform:rotate(-45deg)}.mobile-nav{padding:14px var(--gutter) 40px;border-bottom:1px solid var(--line);background:var(--paper)}.mobile-nav a{display:flex;justify-content:space-between;gap:16px;font:2.125rem/1.8 var(--serif);padding:10px 0;border-top:1px solid var(--line)}.mobile-nav a span{font:0.875rem/1.8 var(--sans);align-self:center}
.hero{padding:0 0 0 var(--gutter)}.hero-frame{display:flex}.hero-frame figure{width:calc(100% - 62px);min-width:0}.hero-frame img{width:100%;height:65vh;min-height:390px;max-height:850px;object-fit:cover;object-position:50% 54%}.hero-frame figcaption{display:flex;justify-content:space-between;gap:14px;font-size:0.75rem;letter-spacing:.1em;padding-top:14px;color:var(--muted)}.hero-rail{display:flex;align-items:center;justify-content:space-between;flex-direction:column;width:62px;padding:4px 0 0}.hero-rail>span{writing-mode:vertical-rl;font-size:0.75rem;letter-spacing:.2em}.hero-rail>a{writing-mode:vertical-rl;display:flex;align-items:center;gap:16px;font-size:0.75rem;letter-spacing:.12em}.hero-rail>a span{font-size:1.5625rem;writing-mode:horizontal-tb}.hero-statement{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:44px calc(var(--gutter) + 20px) 48px 0}.hero-statement h1{font:400 clamp(1.875rem,3.3vw,3.625rem)/1.5 var(--serif);letter-spacing:.08em;flex-shrink:0}.hero-statement>div{font-size:1rem;line-height:2;color:var(--muted)}.hero-specialty{font-size:0.875rem;color:var(--ink);margin-bottom:5px}.mobile-break{display:none}
.eyebrow{font-size:0.75rem;letter-spacing:.16em;line-height:1.6;color:var(--muted)}.selected-section,.services-section{padding:90px var(--gutter) 110px}.selected-section{border-top:1px solid var(--line);margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-heading h2{font:400 clamp(2.375rem,4.6vw,4.25rem)/1.15 var(--serif);letter-spacing:-.025em}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2 span{display:inline-block;margin-left:25px;font:400 0.875rem/1.8 var(--sans);letter-spacing:.04em;vertical-align:middle}.subtle-link{font-size:0.875rem;display:flex;gap:35px;align-items:center;padding-bottom:4px;border-bottom:1px solid var(--line)}.subtle-link:hover{border-color:var(--ink)}.subtle-link span{font-size:1.4375rem}.works-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:65px 4vw}.work-card{display:block;grid-column:span 6;min-width:0}.work-card:nth-child(4n+1){grid-column:span 7}.work-card:nth-child(4n+2){grid-column:span 5;padding-top:90px}.work-card:nth-child(4n+3){grid-column:span 5}.work-card:nth-child(4n+4){grid-column:span 7;padding-top:65px}.work-image{overflow:hidden;background:var(--soft);aspect-ratio:1.5}.work-card:nth-child(4n+2) .work-image,.work-card:nth-child(4n+3) .work-image{aspect-ratio:1.27}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.work-card:hover img{transform:scale(1.025)}.work-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px}.work-caption p{font-size:0.75rem;letter-spacing:.13em;color:var(--muted);line-height:1.6}.work-caption h3{font-size:1.125rem;font-weight:400;letter-spacing:.035em;line-height:1.7;margin-top:7px}.work-arrow{font-size:1.625rem;display:inline-block;padding:0 5px}
.philosophy{margin:30px var(--gutter) 10px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.philosophy-image{max-width:570px;padding-left:4vw}.philosophy-image img{aspect-ratio:.86;object-fit:cover}.philosophy-text{max-width:550px;padding-right:3vw}.philosophy-text h2{font:400 clamp(1.75rem,3.1vw,2.875rem)/1.7 var(--serif);letter-spacing:.07em;margin:28px 0}.philosophy-text>p:not(.eyebrow){margin-bottom:20px;line-height:2.15}.line-link{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0;margin-top:32px;font-size:0.875rem;max-width:320px}.line-link span{font-size:1.5rem}.line-link:hover{color:#53745e}.services-section{display:grid;grid-template-columns:4fr 8fr;gap:4vw;padding-top:95px}.services-section>.section-heading{display:block;align-self:start}.services-section h2 span{display:block;margin:16px 0 0}.service-list>a{display:grid;grid-template-columns:25px minmax(0,1fr) 24px;gap:25px;padding:33px 0;border-top:1px solid var(--line);align-items:start}.service-list>a:last-child{border-bottom:1px solid var(--line)}.service-no{font-size:0.75rem;color:var(--muted);padding-top:5px}.service-list h3{font-size:1.375rem;font-weight:400;line-height:1.6}.service-list p{font-size:1rem;margin-top:8px;color:var(--muted)}.service-list>a>span:last-child{font-size:1.5625rem}.service-list>a:hover h3{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.contact-band{background:var(--dark);color:#fff;padding:78px 8.3vw 86px;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.contact-band .eyebrow{color:#c0cac2}.contact-band h2{font:400 clamp(2.25rem,4.1vw,4rem)/1.55 var(--serif);letter-spacing:.075em;margin-top:23px}.contact-band-right{padding-top:42px}.contact-band-right>p{font-size:1rem;line-height:2.1;color:#e3e7e3}.line-link.light{border-color:#a6b2a8;color:#fff;max-width:none;margin-top:40px;font-size:1.125rem}.site-footer{padding:60px var(--gutter) 25px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;font-size:0.875rem}.footer-brand{font-size:1.4375rem;letter-spacing:.14em}.site-footer>div:first-child p{font-size:0.75rem;letter-spacing:.07em;margin-top:15px;line-height:1.9;color:var(--muted)}.footer-address p{margin-bottom:10px}.footer-address a{overflow-wrap:anywhere}.footer-address a:hover,.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-nav{display:grid;grid-template-columns:1fr;gap:4px;padding-left:35px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:20px;font-size:0.75rem;letter-spacing:.09em;color:var(--muted)}
.page-heading{padding:65px var(--gutter) 72px}.page-heading h1{font:400 clamp(4rem,9vw,8rem)/1.1 var(--serif);letter-spacing:-.035em;margin:21px 0 24px}.page-heading h1 span{display:inline-block;font:400 1rem/1.7 var(--sans);letter-spacing:.035em;margin-left:30px;vertical-align:middle}.page-heading>p:last-child:not(.eyebrow){color:var(--muted)}.all-works{padding:0 var(--gutter) 100px}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding:22px var(--gutter) 0;color:var(--muted);font-size:0.75rem}.breadcrumb a:hover{text-decoration:underline}.project-heading{padding:55px 8.3vw 50px}.project-heading h1{font:400 clamp(1.75rem,3.9vw,3.625rem)/1.5 var(--serif);letter-spacing:.045em;margin:20px 0 35px}.project-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.project-en{font:italic 2rem/1.4 var(--serif);color:var(--muted)}.project-intro>p:last-child{line-height:2.1;max-width:600px}.project-gallery{padding:0 8.3vw 20px}.gallery-figure{margin-bottom:64px}.gallery-figure img{height:auto;width:100%;object-fit:contain;max-height:1000px;background:var(--soft)}.gallery-figure figcaption{display:flex;gap:30px;font-size:0.75rem;color:var(--muted);line-height:1.9;margin-top:17px}.gallery-figure figcaption span:first-child{white-space:nowrap;letter-spacing:.1em}.project-navigation{display:flex;justify-content:space-between;gap:30px;margin:0 8.3vw 85px;padding-top:28px;border-top:1px solid var(--line);font-size:0.875rem}.project-navigation a:hover{text-decoration:underline;text-underline-offset:5px}
.about-main{display:grid;grid-template-columns:1fr 1.4fr;gap:9vw;margin:0 8.3vw 90px;padding-top:55px;border-top:1px solid var(--line)}.about-title h2{font:400 2.5rem/1.6 var(--serif);letter-spacing:.12em;margin-top:20px}.roman-name{font-size:0.75rem;letter-spacing:.14em;margin:8px 0 20px}.about-title>p:last-child{font-size:0.875rem;color:var(--muted)}.about-copy h2{font:400 clamp(1.75rem,3vw,2.625rem)/1.75 var(--serif);letter-spacing:.05em;margin-bottom:35px}.about-copy>p{line-height:2.2;margin-bottom:25px}.credits{margin:0 8.3vw 100px;padding-top:50px;border-top:1px solid var(--line)}.credits .section-heading{display:block}.credits h2{font:400 1.75rem/1.5 var(--sans)}.credits dl{margin:0}.credits dl>div{display:grid;grid-template-columns:1fr 1fr;padding:24px 0;border-bottom:1px solid var(--line);gap:30px}.credits dt{font-size:1rem}.credits dd{margin:0;font-size:0.875rem;color:var(--muted)}
.service-heading{padding:55px 8.3vw 60px}.service-heading h1{font:400 clamp(1.75rem,4vw,3.5rem)/1.6 var(--serif);letter-spacing:.04em;margin:22px 0}.service-lead{font-size:1.125rem;line-height:1.9;color:var(--muted)}.service-cover{margin:0 var(--gutter)}.service-cover img{max-height:720px;aspect-ratio:2;object-fit:cover}.service-content{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;margin:85px 8.3vw}.service-content h2{font:400 clamp(1.5625rem,2.8vw,2.5rem)/1.7 var(--serif);letter-spacing:.06em;margin-top:22px}.service-copy>p{line-height:2.2}.detail-list{margin:40px 0 0}.detail-list>div{padding:28px 0;border-top:1px solid var(--line)}.detail-list dt{font-size:1.125rem;margin-bottom:13px}.detail-list dd{margin:0;line-height:2;font-size:1rem;color:var(--muted)}.related-work{margin:70px 8.3vw 90px;border-top:1px solid var(--line);padding-top:50px}.related-work h2{font-size:3rem}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.related-grid .work-card{grid-column:auto;padding:0}.related-grid .work-image{aspect-ratio:1.5}.drone-heading{background:var(--dark);color:white;margin-top:40px;padding-top:80px;padding-bottom:80px}.drone-heading .eyebrow,.drone-heading .service-lead{color:#cad3cc}
.contact-heading>p:last-child{font:400 clamp(1.5rem,3.1vw,2.5rem)/1.65 var(--serif);color:var(--ink)}.contact-content{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;margin:0 8.3vw 95px;padding-top:50px;border-top:1px solid var(--line)}.contact-info>p{line-height:2.1}.contact-info dl{margin-top:45px}.contact-info dt{font-size:0.75rem;letter-spacing:.14em;color:var(--muted);margin-top:28px}.contact-info dd{margin:10px 0 0;line-height:1.9}.contact-info dd a{overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.contact-note{font-size:0.875rem;color:var(--muted);margin-top:35px}.field{margin-bottom:24px;min-width:0}.field label{display:block;font-size:0.875rem;margin-bottom:10px}.field label span{font-size:0.75rem;color:var(--muted);margin-left:10px}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;border:1px solid #c3cbc3;background:white;border-radius:0;padding:13px 15px;font-size:1rem;line-height:1.7;color:var(--ink)}.field input::placeholder,.field textarea::placeholder{color:#707770;opacity:1}.field textarea{resize:vertical;min-height:170px}.field select{height:auto;min-height:54px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mail-help{font-size:0.875rem;color:var(--muted);line-height:1.9;margin:8px 0 22px}.submit-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:1px solid var(--dark);background:var(--dark);color:#fff;padding:19px 24px;font-size:1rem;line-height:1.6}.submit-button:hover{background:#354638}.submit-button span{font-size:1.5rem}.form-status{font-size:0.875rem;margin-top:16px;line-height:1.9}.copy-button{border:0;border-bottom:1px solid var(--ink);background:none;font-size:0.875rem;padding:8px 0;margin-top:10px}
@media(min-width:1700px){.site-header,.hero,.selected-section,.philosophy,.services-section,.site-footer,.page-heading,.all-works{max-width:2000px;margin-left:auto;margin-right:auto}.hero-frame img{height:70vh}}
@media(max-width:1100px){.header-location{display:none}.desktop-nav{gap:24px}.hero-statement h1{font-size:2.25rem}.hero-statement>div{max-width:390px}.hero-statement{padding-right:var(--gutter)}.philosophy{gap:7vw}.philosophy-image{padding-left:0}.philosophy-text{padding-right:0}.services-section{grid-template-columns:3fr 7fr}.service-list>a{gap:18px}.service-list h3{font-size:1.25rem}.contact-content{margin-left:var(--gutter);margin-right:var(--gutter);gap:5vw}.contact-info dd{font-size:0.875rem}.site-footer{grid-template-columns:1fr 1.2fr 1fr}.footer-nav{padding-left:15px}}
@media(max-width:850px){.site-header{min-height:98px;padding-top:22px;padding-bottom:22px}.brand-jp{font-size:1.4375rem}.desktop-nav{display:none}.menu-toggle{display:flex}.hero-frame img{min-height:330px;height:62vw}.hero-frame figure{width:calc(100% - 45px)}.hero-rail{width:45px}.hero-frame figcaption{font-size:0.75rem;letter-spacing:.04em}.hero-frame figcaption span:last-child{display:none}.hero-statement{display:block;padding-top:35px;padding-bottom:45px}.hero-statement h1{font-size:2.5rem;margin-bottom:22px}.hero-statement>div{max-width:100%}.selected-section{margin-top:0;padding-top:60px;padding-bottom:65px}.section-heading h2{font-size:2.875rem}.section-heading h2 span{display:block;margin:12px 0 0}.section-heading{align-items:flex-end}.subtle-link{gap:18px}.works-grid{gap:45px 4vw}.work-card:nth-child(4n+2){padding-top:65px}.work-card:nth-child(4n+4){padding-top:40px}.work-caption h3{font-size:1rem}.work-caption p{letter-spacing:.055em}.philosophy{padding:55px 0;gap:6vw;grid-template-columns:1fr 1.1fr}.philosophy-text h2{font-size:1.75rem;margin-top:18px}.philosophy-image img{aspect-ratio:.66}.services-section{grid-template-columns:1fr;padding-top:60px;padding-bottom:65px;gap:15px}.services-section>.section-heading{margin-bottom:25px}.services-section h2 span{display:inline-block;margin:0 0 0 20px}.service-list>a{padding:28px 0;grid-template-columns:28px 1fr 24px;gap:20px}.contact-band{padding:60px 6vw;gap:6vw}.contact-band h2{font-size:2.375rem}.site-footer{grid-template-columns:1fr 1.2fr;gap:35px}.footer-nav{grid-column:1/-1;grid-template-columns:1fr 1fr;padding-left:0;gap:12px}.footer-bottom{margin-top:0}.project-heading,.project-gallery{padding-left:var(--gutter);padding-right:var(--gutter)}.project-intro{grid-template-columns:1fr;gap:18px}.project-intro .project-en{font-size:1.75rem}.project-navigation{margin-left:var(--gutter);margin-right:var(--gutter)}.about-main{margin-left:var(--gutter);margin-right:var(--gutter);gap:5vw;grid-template-columns:1fr 1.3fr}.about-title h2{font-size:1.875rem}.about-copy h2{font-size:1.75rem}.credits{margin-left:var(--gutter);margin-right:var(--gutter)}.service-heading{padding-left:var(--gutter);padding-right:var(--gutter)}.service-content{margin:60px var(--gutter);gap:5vw;grid-template-columns:1fr 1.2fr}.service-content h2{font-size:1.75rem}.related-work{margin-left:var(--gutter);margin-right:var(--gutter)}.contact-content{grid-template-columns:1fr;gap:45px}.contact-info dl{display:grid;grid-template-columns:100px 1fr;margin-top:30px;gap:18px}.contact-info dt,.contact-info dd{margin:0;font-size:0.875rem}.contact-note{margin-top:20px}}
@media(max-width:550px){:root{--gutter:6vw}.site-header{min-height:93px;gap:15px}.brand-jp{font-size:1.3125rem}.brand-en{font-size:0.75rem;letter-spacing:.15em}.menu-toggle{font-size:0.875rem;gap:10px}.hero{padding-right:var(--gutter)}.hero-frame figure{width:100%}.hero-frame img{height:67vh;min-height:370px;max-height:600px;object-position:58% center}.hero-rail{display:none}.hero-statement{padding:32px 0 40px}.hero-statement h1{font-size:2.3125rem;line-height:1.6;letter-spacing:.065em}.mobile-break{display:block}.hero-statement>div p{font-size:1rem}.hero-statement>div p br{display:none}.hero-specialty{margin-bottom:8px}.section-heading{gap:20px;flex-wrap:wrap;margin-bottom:30px}.section-heading h2{font-size:2.75rem}.section-heading h2 span{font-size:0.875rem}.section-heading .eyebrow{font-size:0.75rem;margin-bottom:12px}.subtle-link{font-size:0.875rem;margin-top:2px}.works-grid{display:block}.work-card,.work-card:nth-child(n){padding:0;display:block;margin:0 0 42px}.work-card:last-child{margin-bottom:0}.work-card .work-image,.work-card:nth-child(n) .work-image{aspect-ratio:1.38}.work-card:nth-child(1) .work-image{aspect-ratio:1.1}.work-caption{padding-top:15px}.work-caption h3{font-size:1.0625rem}.work-caption p{font-size:0.75rem;letter-spacing:.07em}.work-arrow{font-size:1.5rem}.philosophy{grid-template-columns:1fr;margin-top:0;gap:35px;padding:48px 0}.philosophy-image{width:78%;margin:0 auto}.philosophy-image img{aspect-ratio:1}.philosophy-text h2{font-size:2.0625rem;line-height:1.65;margin-bottom:25px}.philosophy-text>p:not(.eyebrow){font-size:1rem;line-height:2.1}.line-link{margin-top:24px}.services-section h2 span{display:block;margin:12px 0 0}.service-list>a{gap:13px;grid-template-columns:23px 1fr 21px}.service-list h3{font-size:1.1875rem}.service-list p{font-size:1rem;line-height:1.9}.contact-band{grid-template-columns:1fr;gap:30px;padding:50px var(--gutter)}.contact-band h2{font-size:2.5rem;margin-top:20px}.contact-band-right{padding-top:0}.contact-band-right>p{font-size:1rem}.contact-band-right p br{display:none}.line-link.light{margin-top:30px}.site-footer{grid-template-columns:1fr;padding-top:40px;gap:30px}.footer-brand{font-size:1.4375rem}.site-footer>div:first-child p{margin-top:10px}.footer-address{font-size:0.875rem}.footer-nav{grid-template-columns:1fr 1fr;gap:10px 20px;font-size:0.875rem}.footer-bottom{font-size:0.75rem;gap:16px;letter-spacing:0;flex-wrap:wrap;padding-top:22px}.page-heading{padding-top:42px;padding-bottom:45px}.page-heading h1{font-size:4.5625rem}.page-heading h1 span{display:block;margin:15px 0 0;font-size:1rem}.page-heading>p:last-child{font-size:1rem}.all-works{padding-bottom:60px}.project-heading{padding-top:35px;padding-bottom:35px}.project-heading h1{font-size:1.75rem;margin-bottom:25px}.project-intro{gap:18px}.project-intro>p:last-child{font-size:1rem}.gallery-figure{margin-bottom:36px}.gallery-figure figcaption{display:grid;grid-template-columns:auto 1fr;gap:18px;font-size:0.75rem}.project-gallery{padding-bottom:0}.project-navigation{display:grid;gap:20px;margin-bottom:60px;font-size:0.875rem}.about-main{grid-template-columns:1fr;gap:45px;padding-top:30px;margin-bottom:55px}.about-title h2{font-size:2.1875rem}.about-copy h2{font-size:1.875rem}.about-copy p{font-size:1rem}.credits{margin-bottom:60px;padding-top:35px}.credits h2{font-size:1.625rem}.credits dl>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.credits dt{font-size:1rem}.service-heading{padding-top:40px;padding-bottom:35px}.service-heading h1{font-size:1.8125rem;line-height:1.6}.service-lead{font-size:1rem}.service-cover img{aspect-ratio:1.2}.service-content{grid-template-columns:1fr;gap:30px;margin-top:45px;margin-bottom:45px}.service-content h2{font-size:1.9375rem}.service-copy>p{font-size:1rem}.detail-list{margin-top:25px}.detail-list dt{font-size:1.125rem}.related-work{margin-top:45px;margin-bottom:60px;padding-top:35px}.related-work h2{font-size:2.5625rem}.related-grid{grid-template-columns:1fr;gap:30px}.related-grid .work-card:nth-child(n){margin:0}.related-grid .work-card:nth-child(n) .work-image{aspect-ratio:1.5}.drone-heading{padding-top:50px;padding-bottom:50px}.contact-heading>p:last-child{font-size:1.8125rem}.contact-content{padding-top:35px;margin-bottom:60px;gap:35px}.contact-info dl{display:block}.contact-info dt{font-size:0.75rem;margin-top:26px}.contact-info dd{margin-top:8px;font-size:1rem}.field-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:22px}.submit-button{padding:18px 20px;font-size:1rem}.breadcrumb{font-size:0.75rem;line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.site-header{flex-wrap:wrap}.desktop-nav{flex-wrap:wrap}.hero-statement h1{flex-shrink:1}.hero-statement>div{min-width:0}.section-heading h2,.page-heading h1,.service-heading h1{overflow-wrap:anywhere}

.project-credits{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);font-size:.875rem}.project-credits dl{display:grid;gap:8px;margin:0}.project-credits dl>div{display:flex;gap:24px}.project-credits dt{min-width:30px;color:var(--muted)}.project-credits dd{margin:0;overflow-wrap:anywhere}.project-credits a:hover{text-decoration:underline;text-underline-offset:4px}.source-posts{display:flex;flex-wrap:wrap;gap:12px 25px}.source-posts a{border-bottom:1px solid var(--line);padding-bottom:3px}.gallery-figure img{aspect-ratio:auto}@media(max-width:700px){.project-credits{align-items:flex-start;flex-direction:column;gap:20px}.project-credits dl>div{gap:16px}.project-credits dd{min-width:0}}

/* Supplied reference photographs use a viewport; their source files stay intact. */
.screenshot-photo{display:block;overflow:hidden;width:100%;height:auto;background:var(--soft)}
.work-image .screenshot-photo{width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.work-card:hover .screenshot-photo{transform:scale(1.025)}
.gallery-figure .screenshot-photo{max-height:1000px}
.work-filters{display:flex;gap:12px 32px;flex-wrap:wrap;margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.work-filters button{appearance:none;border:0;border-bottom:1px solid transparent;background:none;padding:6px 0;font:inherit;font-size:.875rem;color:var(--muted);cursor:pointer}
.work-filters button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.work-result-count{font-size:.75rem;color:var(--muted);margin:0 0 36px}
[hidden]{display:none!important}
.source-posts summary{cursor:pointer;font-size:.8rem;list-style:revert;margin-bottom:12px}
.source-posts a{display:block;margin-bottom:8px}
@media(prefers-reduced-motion:reduce){.work-image .screenshot-photo{transition:none}.work-card:hover .screenshot-photo{transform:none}}

/* The final selected work completes the five-image home composition. */
.selected-section .work-card:last-child{grid-column:1/-1;padding-top:0}
.selected-section .work-card:last-child .work-image{aspect-ratio:2}
@media(max-width:550px){.selected-section .work-card:last-child .work-image{aspect-ratio:1.5}}

/* Editorial explanation of completion photography, using the existing type and palette. */
.hero-story-link{display:inline-flex;align-items:center;gap:20px;margin-top:22px;padding-bottom:5px;border-bottom:1px solid var(--line);font-size:.875rem}
.hero-story-link:hover{border-color:var(--ink)}
.hero-carousel{width:calc(100% - 62px);min-width:0}
.hero-slides{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;position:relative}
.hero-slides:focus-visible{outline:2px solid #517b63;outline-offset:3px}
.hero-carousel.is-enhanced .hero-slides{scrollbar-width:none}
.hero-carousel.is-enhanced .hero-slides::-webkit-scrollbar{display:none}
.hero-frame .hero-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always}
.hero-photo{height:65vh;min-height:390px;max-height:850px;overflow:hidden;background:var(--soft)}
.hero-frame .hero-photo img,.hero-photo svg{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center}
.hero-carousel figcaption{font-size:.875rem;letter-spacing:.03em;padding-top:16px;padding-right:3px;line-height:1.8}
.hero-carousel figcaption span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem}
.hero-gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-bottom:4px}
.hero-gallery-count{font-size:.875rem;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--muted)}
.hero-gallery-controls>div{display:flex;gap:10px}
.hero-gallery-controls button{width:46px;height:44px;border:1px solid var(--line);background:var(--paper);font-size:1.375rem;line-height:1}
.hero-gallery-controls button:hover:not(:disabled){border-color:var(--ink)}
.hero-gallery-controls button:disabled{opacity:.35;cursor:default}
.is-enhanced .hero-slide figcaption span:last-child{display:none}
@media(min-width:1700px){.hero-photo{height:70vh}}
@media(max-width:850px){.hero-carousel{width:calc(100% - 45px)}.hero-photo{height:62vw;min-height:330px}.hero-carousel figcaption span:last-child{display:block}.is-enhanced .hero-slide figcaption span:last-child{display:none}}
@media(max-width:550px){.hero-carousel{width:100%}.hero-photo{height:62svh;min-height:340px;max-height:600px}.hero-carousel figcaption{font-size:.875rem;line-height:1.8;padding-top:13px}.hero-gallery-controls{margin-top:8px}.hero-gallery-controls button{width:48px;height:44px}}
.completion-value .philosophy{margin-bottom:0;border-bottom:0;padding-bottom:60px}
.progress-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:7vw;align-items:center;margin:80px 8.3vw 0;padding:60px 0;border-bottom:1px solid var(--line)}
.progress-feature-image img{aspect-ratio:1.1;object-fit:cover;object-position:50% 65%}
.progress-feature-image figcaption,.aerial-example-caption{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:15px}
.aerial-example-caption{margin-left:var(--gutter);margin-right:var(--gutter)}
.progress-feature-copy h2{font:400 clamp(1.75rem,3vw,2.75rem)/1.7 var(--serif);letter-spacing:.06em;margin:24px 0}
.progress-feature-copy>p:not(.eyebrow){font-size:1rem;line-height:2.15;margin-top:18px}
.progress-feature-copy .line-link{max-width:360px}
.volume-section{padding-top:50px;border-top:1px solid var(--line)}
.service-photo-caption{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:15px}
.service-cover-captioned img{aspect-ratio:16/9}
.photo-credit{display:block;font-size:.8125rem;overflow-wrap:anywhere}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.story-intro .volume-note{padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:850px){.progress-feature{gap:5vw;margin-left:var(--gutter);margin-right:var(--gutter);margin-top:45px;padding-top:35px}.progress-feature-copy h2{font-size:1.875rem}.progress-feature-image img{aspect-ratio:.8}}
@media(max-width:650px){.progress-feature{grid-template-columns:1fr;gap:30px;margin-top:25px;padding-bottom:40px}.progress-feature-image img{aspect-ratio:1.35}.progress-feature-copy h2{font-size:2rem;margin-top:18px}.volume-section{padding-top:35px}}
.value-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;margin:0 8.3vw;padding-top:36px;border-top:1px solid var(--line)}
.value-points h3{font:400 clamp(1.25rem,1.7vw,1.625rem)/1.8 var(--serif);letter-spacing:.035em;margin:16px 0 20px}
.value-points article>p:last-child{font-size:1rem;line-height:2.15}
.value-more{display:flex;justify-content:flex-end;margin:28px 8.3vw 0;padding-bottom:60px;border-bottom:1px solid var(--line)}
.value-more .line-link{width:100%;max-width:370px}
.completion-story,.photo-uses,.completion-timing{margin:85px 8.3vw}
.story-opening,.completion-timing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8vw;align-items:start}
.story-opening h2,.completion-timing h2{font:400 clamp(1.5625rem,2.8vw,2.5rem)/1.7 var(--serif);letter-spacing:.06em;margin-top:22px}
.story-opening p:not(.eyebrow),.story-reasons p:not(.eyebrow),.photo-uses p:not(.eyebrow),.completion-timing p:not(.eyebrow){font-size:1rem;line-height:2.2}
.story-intro p+p,.story-reasons p+p,.completion-timing p+p{margin-top:20px}
.story-reasons{margin-top:55px}
.story-reasons article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8vw;border-top:1px solid var(--line);padding:40px 0}
.story-reasons article:last-child{border-bottom:1px solid var(--line)}
.story-reasons article>.eyebrow{padding-top:8px;overflow-wrap:anywhere}
.story-reasons h3{font:400 clamp(1.375rem,2vw,1.875rem)/1.75 var(--serif);letter-spacing:.04em;margin-bottom:24px}
.photo-uses{border-top:1px solid var(--line);padding-top:55px}
.use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;margin-top:44px}
.use-grid article{border-top:1px solid var(--line);padding-top:24px}
.use-grid h3{font-size:1.125rem;font-weight:400;line-height:1.8;margin-bottom:16px}
.completion-timing{padding-top:50px;border-top:1px solid var(--line)}
@media(max-width:850px){
 .value-points{margin-left:var(--gutter);margin-right:var(--gutter);gap:3vw}
 .value-points h3 br{display:none}
 .value-more{margin-left:var(--gutter);margin-right:var(--gutter)}
 .completion-story,.photo-uses,.completion-timing{margin:60px var(--gutter)}
 .story-opening,.completion-timing,.story-reasons article{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:5vw}
 .story-opening h2,.completion-timing h2{font-size:1.75rem}
 .use-grid{gap:3vw}
}
@media(max-width:650px){
 .value-points,.use-grid{grid-template-columns:1fr;gap:28px}
 .completion-value .philosophy{padding-bottom:35px}
 .value-points{padding-top:28px}
 .value-points article+article{padding-top:28px;border-top:1px solid var(--line)}
 .value-points h3{font-size:1.5rem;margin:12px 0 16px}
 .value-more{margin-top:12px;padding-bottom:42px}
 .story-opening,.completion-timing,.story-reasons article{grid-template-columns:1fr;gap:22px}
 .completion-story,.photo-uses,.completion-timing{margin-top:45px;margin-bottom:45px}
 .story-opening h2,.completion-timing h2{font-size:1.9375rem}
 .story-reasons{margin-top:32px}
 .story-reasons article{padding:30px 0}
 .story-reasons article>.eyebrow{padding-top:0}
 .story-reasons h3{font-size:1.5rem;margin-bottom:20px}
 .photo-uses,.completion-timing{padding-top:35px}
 .use-grid{margin-top:30px}
}
/* Practical information for architecture photography enquiries. */
.hero-summary{margin:10px 0 14px;max-width:38em}
.booking-guide,.booking-faq,.project-story{margin:80px 8.3vw;padding-top:42px;border-top:1px solid var(--line)}
.booking-guide h2,.booking-faq h2,.project-story h2{font:400 clamp(1.5rem,2.5vw,2.125rem)/1.7 var(--serif);letter-spacing:.035em}
.shooting-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3vw;padding:0;margin:0}
.flow-number{font-size:.875rem;letter-spacing:.1em;color:var(--muted)}
.shooting-flow h3{font:400 1.125rem/1.8 var(--serif);margin:15px 0}
.shooting-flow p,.faq-list p,.project-story>div>p:not(.eyebrow){font-size:1rem;line-height:2}
.faq-list details{border-top:1px solid var(--line);padding:0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-size:1.0625rem;line-height:1.8;padding:23px 6px}
.faq-list details>div{padding:0 6px 25px;max-width:65em;color:var(--muted)}
.faq-list summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.project-story .eyebrow{margin-bottom:16px}
.project-shooting{margin-top:18px;color:var(--muted)}
@media(max-width:850px){.booking-guide,.booking-faq,.project-story{margin:55px var(--gutter);padding-top:32px}.shooting-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 5vw}}
@media(max-width:550px){.shooting-flow,.project-story{grid-template-columns:1fr;gap:26px}.faq-list summary{font-size:1rem}.hero-summary br{display:none}}

/* Retained public articles share the current site typography and navigation. */
.legacy-content{max-width:1040px;margin:0 auto;padding:0 24px 90px;font-size:1.0625rem;line-height:1.9;overflow-wrap:anywhere}.legacy-content figure{margin:2rem 0}.legacy-content img{display:block;max-width:100%;height:auto;margin:1.5rem auto}.legacy-content h2,.legacy-content h3,.legacy-content h4{line-height:1.5;margin:2rem 0 1rem}.legacy-content p,.legacy-content li{margin-bottom:1rem}.legacy-content a{text-decoration:underline;text-underline-offset:4px}.legacy-content table{width:100%;border-collapse:collapse;margin:2rem 0}.legacy-content td,.legacy-content th{border:1px solid #ddd;padding:12px;vertical-align:top}.legacy-content ul{padding-left:1.5rem}.legacy-content article{margin:2rem 0}.legacy-notice{padding:1rem;border-left:3px solid #555;background:#f6f6f6}.legacy-return{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #ddd}@media(max-width:600px){.legacy-content{padding:0 20px 60px}.legacy-content td,.legacy-content th{padding:8px;font-size:.875rem}}
