
.proposal03{font-size:16px;color:#17364d;background:white;line-height:1.85}
.proposal03 :where(p,h1,h2,h3,li,dd,button,a){overflow-wrap:break-word}
.proposal03 .site-header{height:84px;padding:0 4.5%;gap:24px;position:sticky;top:0;z-index:8;border-bottom:1px solid #e8edf0}
.proposal03 .brand>span{font-size:43px}.proposal03 .brand small{font-size:10px;letter-spacing:.12em}
.proposal03 .site-header nav{font-size:14px;gap:28px}.proposal03 .header-cta{min-height:48px;padding:12px 24px;font-size:14px}
.proposal03 #menuToggle{background:white;color:#123f67;border:1px solid #d7e1e8;font-size:12px;min-height:44px;min-width:64px}
.content03{max-width:1320px;margin-inline:auto;padding-inline:60px}
.quiet-label{font-size:12px;letter-spacing:.17em;color:#315572;margin:0 0 22px;font-weight:500}
.architecture-hero{margin:0}.hero-media{height:min(72vw,690px);min-height:470px;position:relative;overflow:hidden;background:#e7edee}
.hero-media>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 57%;animation:hero-settle03 .65s ease-out both}
.hero-plaque{position:absolute;bottom:42px;left:4.5%;background:#123f67;color:white;padding:22px 30px 24px;max-width:calc(100% - 70px)}
.hero-plaque h1{font-size:clamp(26px,2.7vw,44px);line-height:1.55;letter-spacing:.09em}
.hero-plaque p{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:18px;margin-top:8px;letter-spacing:.13em}
.photo-open,.photo-open-label{background:#fff;color:#123f67;padding:10px 18px;font-size:13px;min-height:44px}
.photo-open{position:absolute;right:4.5%;bottom:42px;border:1px solid #c2cdd5}
.photo-caption{font-size:13px;padding:12px 4.5%;line-height:1.8;color:#526879;display:flex;gap:20px;flex-wrap:wrap}
.photo-caption span{color:#526879}
.intro03{padding-top:94px;padding-bottom:96px}.intro03 h2{font-size:clamp(32px,3.5vw,48px);line-height:1.6;letter-spacing:.1em}.intro03>p:last-child{margin-top:26px;font-size:16px;line-height:2.1}
.section-title03{display:flex;justify-content:space-between;align-items:end;padding-bottom:32px;gap:20px}.section-title03 h2{font-size:32px}.section-title03>p{font-size:14px;color:#526879}
.work-duo{display:grid;grid-template-columns:1.22fr 1fr;gap:20px;padding:0 4.5%;align-items:start}
.work-duo article:first-child{padding-top:0}.work-duo article:nth-child(2){padding-top:100px}
.image-button{display:block;position:relative;width:100%;padding:0;background:#e7edee;overflow:hidden;text-align:left}
.image-button img{display:block;width:100%;height:440px;object-fit:cover;transition:transform .45s ease}
.work-duo article:nth-child(2) .image-button img{height:520px;object-position:50% 58%}
.photo-open-label{position:absolute;bottom:0;right:0;min-height:44px;border-left:1px solid #d7e1e8}
.work-caption03{padding:18px 4px 0}.work-caption03 h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:22px;letter-spacing:.06em;font-weight:500}.work-caption03>p{font-size:13px;color:#526879;margin-top:4px}
.plain03{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;border-bottom:1px solid #7793a9;background:none;padding:8px 0;color:#123f67;font-size:14px;text-align:left}
.work-caption03 .plain03{margin-top:12px}.note03{font-size:13px;line-height:1.9;color:#526879}.works-note03{margin-top:40px}
.performance03{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-top:130px;padding-bottom:100px}
.performance-photo03{margin:0}.performance-photo03>img{display:block;width:100%;height:660px;object-fit:cover;object-position:50% 48%}.performance-photo03 figcaption{font-size:13px;color:#526879;margin-top:14px}
.performance-copy03 h2{font-size:35px;line-height:1.8}.performance-intro03{margin-top:24px;font-size:16px}
.proposal03 .topic-tabs{margin:32px 0 25px;border-color:#c1cfd8}
.proposal03 .topic-tabs button{color:#526879;font-size:14px;min-height:50px;padding:12px 7px}
.proposal03 .topic-tabs button[aria-selected=true]{color:#123f67;background:#f1f5f7}.proposal03 .topic-tabs button[aria-selected=true]:after{background:#123f67;height:2px}
.performance-copy03 article{min-height:135px}.performance-copy03 article h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:23px;line-height:1.7;margin-bottom:14px}.performance-copy03 article>p{font-size:16px}
.conditions03{border-top:1px solid #d7e1e8;margin-top:20px;font-size:14px}
.conditions03 summary,.option-details03 summary,.process-details03>summary{padding:14px 0;min-height:48px;cursor:pointer}
.conditions03>p,.option-details03 p{margin:10px 0;font-size:14px;line-height:1.95}
.option-details03{margin-top:10px}.option-details03 .plain03{display:block;width:100%;margin-top:8px}.conditions03>summary:focus-visible,.process-details03>summary:focus-visible{outline-offset:2px}
.linera03{display:grid;grid-template-columns:.8fr 1.8fr;gap:65px;align-items:start;border-top:1px solid #d7e1e8;border-bottom:1px solid #d7e1e8;padding-block:48px;margin-bottom:105px}
.linera03 h2{font-family:Georgia,serif;font-size:36px;letter-spacing:.13em;line-height:1.2;margin-bottom:18px}.linera03 .quiet-label{margin-bottom:14px}
.linera03 p{font-size:16px}.linera03 .conditions03{font-size:14px}
.consult03{background:#123f67;color:#fff}.consult-row03{padding-top:64px;padding-bottom:64px;display:flex;justify-content:space-between;align-items:center;gap:36px}
.consult-row03 .quiet-label{color:#d6e2eb}.consult-row03 h2{font-size:38px}.consult-row03 p:last-child{font-size:16px;margin-top:20px}
.consult-row03 .primary{font-size:16px;min-width:240px;justify-content:center;padding:20px 30px}
.process03{padding-top:82px;padding-bottom:75px}.process-title03{display:flex;justify-content:space-between;align-items:center;gap:32px}
.process-title03 h2{font-size:30px}.process-title03 p{font-size:14px;color:#526879}
.process-steps03{list-style:none;margin:38px 0 34px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-steps03 li{padding-top:18px;border-top:1px solid #bccbd5}
.process-steps03 span{font-size:13px;letter-spacing:.12em;color:#315572}.process-steps03 h3{font-size:19px;margin:10px 0;font-weight:500}.process-steps03 p{font-size:14px;color:#526879}
.process-details03{border-top:1px solid #d7e1e8;font-size:14px}.process-details03:last-child{border-bottom:1px solid #d7e1e8}
.proposal03 .building-flow{margin:25px 0;grid-template-columns:repeat(5,1fr);gap:24px}
.proposal03 .building-flow strong{font-size:14px}.proposal03 .building-flow p{font-size:13px}.proposal03 .building-flow span{font-size:21px}
.proposal03 .faq-list summary{font-size:15px}.proposal03 .faq-list details p{font-size:14px}
.footer03{padding-top:50px;padding-bottom:105px;background:white}.footer-row03{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:38px}
.footer-row03 p{font-size:14px}.footer-row03 .brand>span{font-size:38px}.footer03 .draft-note{font-size:13px;padding:20px 0;border-top:1px solid #d7e1e8;margin:0}.footer03 .draft-note summary{min-height:44px;padding:7px 0;cursor:pointer}.footer03 .draft-note p{max-width:850px;margin:18px 0;font-size:14px}
.footer03>small{display:block;font-size:11px;letter-spacing:.1em;margin-top:10px;color:#526879}
.proposal03 .chat-dock{z-index:9}.proposal03 .chat-launcher{border-radius:5px;box-shadow:0 4px 18px #0c2e4a22;background:#123f67}
.proposal03 .chat-launcher .launcher-label small{display:none}.proposal03 .chat-launcher{padding:12px 18px;gap:12px}
.gallery03{inset:0;margin:auto;padding:0;border:0;border-radius:0;max-width:calc(100vw - 56px);width:1120px;height:auto;max-height:calc(100dvh - 56px);background:white;color:#17364d;overflow:auto;box-shadow:0 15px 80px #0005}
.gallery03::backdrop{background:#071c2be8}.gallery-top03{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;background:white}
.gallery-top03 .quiet-label{font-size:11px;margin-bottom:4px}.gallery-top03 h2{font-family:inherit;font-size:18px;letter-spacing:.02em;line-height:1.5}
.gallery-close03{padding:10px 20px;min-height:44px;font-size:14px;background:#123f67;color:white;flex:none}
.gallery-stage03{background:#f1f3f4;min-height:180px;height:min(55dvh,610px);display:flex;justify-content:center}
.gallery-stage03 img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-bottom03{padding:15px 28px 24px}.gallery-bottom03>p:first-child{font-size:15px}.gallery-controls03{display:flex;align-items:center;justify-content:center;gap:25px;margin:15px 0}
.gallery-controls03 button{border:1px solid #b7c9d5;background:white;color:#123f67;padding:9px 16px;min-height:44px;font-size:14px}
.gallery-controls03 span{font-size:14px;min-width:48px;text-align:center}.gallery-bottom03 .note03{font-size:13px}.gallery-bottom03 .plain03{margin-top:10px}
.gallery03:focus-visible{outline:3px solid #df9d46}
@keyframes hero-settle03{from{transform:scale(1.015)}to{transform:scale(1)}}
.reveal-pending03{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal-in03,.reveal-pending03:focus-within{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.image-button:hover img{transform:scale(1.025)}.plain03:hover{color:#356987;border-bottom-color:#356987}.photo-open:hover,.gallery-controls03 button:hover{background:#eaf1f6}}
@media(max-width:1050px){.proposal03 .site-header{gap:18px}.proposal03 .site-header nav{gap:18px;font-size:13px}.content03{padding-inline:40px}.performance03{gap:45px}.performance-copy03 h2{font-size:29px}.performance-photo03>img{height:600px}.work-duo .image-button img{height:350px}.work-duo article:nth-child(2) .image-button img{height:470px}}
@media(max-width:800px){
.proposal03 .site-header{height:74px;padding:0 5%;gap:14px}.proposal03 .brand>span{font-size:36px}.proposal03 .brand small{font-size:8px;letter-spacing:.08em}
.proposal03 .site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:24px 5%;border-bottom:1px solid #d7e1e8;box-shadow:0 8px 10px #153b6010;gap:10px;flex-direction:column;font-size:16px;margin:0}
.proposal03 .site-header nav[data-open-menu]{display:flex}.proposal03 .site-header nav a{padding:8px 0;min-height:44px}.proposal03 #menuToggle{display:block;margin-left:0}.proposal03 .header-cta{margin-left:auto;font-size:13px;padding:10px 14px;min-height:44px}
.content03{padding-inline:24px}.hero-media{min-height:0;height:clamp(370px,58svh,530px)}.hero-media>img{object-position:52% 50%}
.hero-plaque{bottom:22px;left:0;max-width:calc(100% - 28px);padding:18px 24px}.hero-plaque h1{font-size:27px;letter-spacing:.045em}.hero-plaque p{font-size:16px;margin-top:5px}
.photo-open{bottom:auto;top:16px;right:16px;font-size:12px;padding:8px 12px}.photo-caption{padding:12px 24px;font-size:12px;gap:0;display:block}.photo-caption span{display:block}
.intro03{padding-top:50px;padding-bottom:56px}.intro03 h2{font-size:31px;line-height:1.7;letter-spacing:.06em}.intro03>p:last-child{margin-top:20px;font-size:16px;line-height:2}
.quiet-label{font-size:11px;margin-bottom:18px}.section-title03{display:block;padding-bottom:24px}.section-title03 h2{font-size:27px}.section-title03>p{margin-top:12px}
.work-duo{display:block;padding:0 24px}.work-duo article:nth-child(2){padding-top:38px}.work-duo .image-button img{height:300px}.work-duo article:nth-child(2) .image-button img{height:390px;object-position:50% 55%}
.work-caption03 h3{font-size:21px}.work-caption03>p{font-size:13px}.works-note03{margin-top:28px;font-size:12px}
.performance03{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding-top:72px;padding-bottom:60px}.performance-photo03>img{height:390px;object-position:50% 43%}.performance-photo03 figcaption{font-size:12px}
.performance-copy03 h2{font-size:28px}.performance-copy03 article{min-height:120px}.performance-copy03 article h3{font-size:22px}.performance-copy03 article>p{font-size:16px}.performance-intro03{font-size:16px}
.linera03{grid-template-columns:1fr;gap:24px;padding-block:32px;margin:0 24px 60px;padding-inline:0}.linera03 h2{font-size:31px;margin-bottom:12px}.linera03 p{font-size:16px}.linera03 .conditions03>p{font-size:14px}
.consult-row03{display:block;padding-top:44px;padding-bottom:44px}.consult-row03 h2{font-size:27px;letter-spacing:.05em}.consult-row03 p:last-child{font-size:16px;margin-top:18px}.consult-row03 .primary{margin-top:28px;width:100%;min-width:0;min-height:52px}
.process03{padding-top:52px;padding-bottom:36px}.process-title03{display:block}.process-title03 h2{font-size:27px}.process-title03 p{margin-top:16px;font-size:14px}.process-steps03{display:block;margin:26px 0}.process-steps03 li{padding:16px 0}.process-steps03 h3{display:inline;margin-left:14px;font-size:19px}.process-steps03 p{margin-top:12px;font-size:14px}
.proposal03 .building-flow{grid-template-columns:repeat(2,1fr);gap:20px}.proposal03 .building-flow span{font-size:18px;margin-bottom:8px}
.footer03{padding-top:30px;padding-bottom:96px}.footer-row03{display:block;padding-bottom:24px}.footer-row03 p{margin:24px 0;font-size:14px}.footer03 .draft-note{font-size:13px}.footer03>small{font-size:10px}
.gallery03{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;inset:0;overflow:auto}
.gallery-top03{padding:calc(14px + env(safe-area-inset-top)) 16px 14px}.gallery-top03 h2{font-size:16px}.gallery-stage03{height:46dvh;min-height:200px}.gallery-bottom03{padding:16px 20px calc(30px + env(safe-area-inset-bottom))}.gallery-controls03{gap:12px}.gallery-controls03 button{padding:9px 12px;font-size:13px}.gallery-bottom03 .note03{font-size:12px}.gallery-bottom03>p:first-child{font-size:14px}
}
@media(max-width:500px){.proposal03 .chat-dock{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.proposal03 .chat-launcher{padding:12px 15px}.proposal03 .chat-launcher .launcher-label{font-size:13px}.proposal03 .chat-launcher .chat-icon{font-size:20px}.proposal03 .brand small{display:none}.proposal03 .site-header{height:64px;gap:10px}.proposal03 .site-header nav{top:64px}.proposal03 #menuToggle{min-width:60px;font-size:11px}.proposal03 .brand>span{font-size:32px}.proposal03 .header-cta{font-size:12px;padding:10px 12px}.hero-media{height:clamp(350px,58svh,500px)}.intro03 h2{font-size:30px}.hero-plaque h1{font-size:25px}.hero-plaque{padding:18px 22px}}
@media(max-width:350px){.proposal03 .site-header{gap:8px}.proposal03 .brand>span{font-size:29px}.proposal03 #menuToggle{min-width:54px;font-size:10px}.proposal03 .header-cta{font-size:11px;padding:10px}.hero-plaque h1{font-size:23px}.hero-plaque p{font-size:14px}.hero-media{height:clamp(320px,55svh,440px)}.content03{padding-inline:20px}.work-duo{padding-inline:20px}.linera03{margin-inline:20px}.intro03 h2{font-size:28px}.performance-copy03 h2{font-size:26px}.work-duo .image-button img{height:245px}.work-duo article:nth-child(2) .image-button img{height:330px}.performance-photo03>img{height:330px}.consult-row03 h2{font-size:25px}.gallery-controls03{gap:8px}}
@media(prefers-reduced-motion:reduce){.hero-media>img{animation:none;transform:none}.reveal-pending03,.reveal-in03{opacity:1!important;transform:none!important;transition:none!important}.image-button img{transition:none;transform:none!important}html{scroll-behavior:auto}}
@media print{.gallery03{display:none}.proposal03 .site-header{position:relative}.reveal-pending03{opacity:1;transform:none}.architecture-hero .hero-media{height:400px}}

.intro03 h2>span{white-space:nowrap}@media(max-width:800px){.intro03 h2>span{display:block}.intro03 h2{line-height:1.7}}

/* Text-only enlargement: allow header rows and shrinkable grid tracks. */
.intro03 .break-mobile03{display:none}
.linera03>div{min-width:0}.linera03 h2{overflow-wrap:anywhere}
@media(max-width:800px){
 .proposal03 .site-header{height:auto;min-height:74px;padding-block:10px;flex-wrap:wrap}
 .proposal03 .site-header .brand{flex:0 0 auto;max-width:100%}
 .proposal03 .header-cta{flex:0 1 auto;max-width:100%;white-space:normal}
 .proposal03 #menuToggle{flex:0 0 auto;max-width:100%}
 .proposal03 .site-header nav{top:100%}
 .linera03{grid-template-columns:minmax(0,1fr)}
 .linera03 :where(p,h2,summary,button,a){overflow-wrap:anywhere}
 .intro03 h2>span{white-space:normal;overflow-wrap:anywhere}
 .intro03 .break-mobile03{display:initial}
}
@media(max-width:500px){.proposal03 .site-header{min-height:64px}}
/* Reflow text-only 200% without clipping fixed-size affordances. */
@media(max-width:800px){
 .proposal03 #menuToggle{height:auto;width:auto;white-space:nowrap;line-height:1.5;padding:10px 14px;min-height:44px}
 .hero-media{height:auto;min-height:clamp(370px,58svh,530px);padding-top:100px;display:flex;flex-direction:column;justify-content:flex-end}
 .hero-media>img{position:absolute;inset:0;z-index:0}
 .hero-plaque{position:relative;left:auto;bottom:auto;flex:none;align-self:flex-start;margin:0 28px 22px 0;max-width:calc(100% - 28px)}
}
@media(max-width:500px){
 .hero-media{min-height:clamp(350px,58svh,500px)}
 .proposal03 .chat-dock.is-compact .chat-launcher{width:auto;height:auto;min-width:52px;min-height:52px;padding:12px;border-radius:999px}
 .proposal03 .launcher-compact{white-space:nowrap;line-height:1.3}
}
@media(max-width:350px){.hero-media{min-height:clamp(320px,55svh,440px)}}

/* Official logo restored from the owner's source photo; native SVG, no font replacement. */
.proposal03 .brand{display:flex;align-items:center;min-height:44px;flex-shrink:0}
.proposal03 .brand .official-logo{display:block;width:232px;height:auto;max-width:100%;object-fit:contain}
.proposal03 .footer-row03 .brand .official-logo{width:260px}
@media(max-width:1050px) and (min-width:801px){.proposal03 .site-header .brand .official-logo{width:192px}.proposal03 .site-header{gap:16px}.proposal03 .site-header nav{gap:16px}}
@media(max-width:800px){.proposal03 .site-header .brand .official-logo{width:184px}}
@media(max-width:500px){.proposal03 .site-header .brand .official-logo{width:150px}}
@media(max-width:350px){.proposal03 .site-header .brand .official-logo{width:124px}}

.proposal03 .brand{flex-direction:row;justify-content:flex-start}
@media(max-width:350px){.proposal03 #menuToggle{flex:0 0 54px;min-width:54px;width:54px;padding-inline:5px}.proposal03 .site-header{gap:8px}}
