html,body{width:100%;max-width:100%;overflow-x:hidden;margin:0;padding:0}
img{display:block;max-width:100%;height:auto}
.brand-logo{display:block!important;width:74px!important;max-width:74px!important;height:56px!important;object-fit:contain!important;flex:0 0 74px!important}
.hero-logo-area{position:relative;z-index:2;min-width:0}.hero-logo{display:block;width:min(32vw,420px);max-width:420px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 16px #0009)}
.hero-copy{position:relative;z-index:3;min-width:0}
.site-header,.announcement,.hero,.intro,.services,.story,.gallery,.contact,.site-footer{max-width:100%;overflow-x:hidden}
.wrap{width:calc(100% - 40px);max-width:1160px;margin-left:auto;margin-right:auto}
.hero-content{width:100%;max-width:780px}
.brand{min-width:0}.brand-copy{min-width:0}.brand-copy strong,.brand-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.floating{right:20px;bottom:20px;z-index:9999}
@media(max-width:768px){
 html,body{width:100%;max-width:100%;overflow-x:hidden}
 .wrap{width:calc(100% - 30px);max-width:100%;margin-left:auto;margin-right:auto}
 .site-header{top:39px;width:100%;max-width:100%}
 .nav{width:100%;max-width:100%;min-width:0;padding:7px 0;gap:8px}
 .brand{min-width:0;flex:1;gap:7px}.brand-logo{width:62px!important;max-width:62px!important;height:50px!important;flex:0 0 62px!important}
 .brand-copy{min-width:0}.brand-copy strong{font-size:17px;line-height:1.1}.brand-copy small{font-size:7px;letter-spacing:.08em}
 .nav-cta{flex:0 0 auto;white-space:nowrap;padding:9px 10px;font-size:10px}
 .hero{width:100%;max-width:100%;min-height:720px;height:auto;overflow:hidden}
 .hero-content{width:100%;max-width:100%;padding-top:143px}
 .hero-logo-area{display:none}
 .hero h1{max-width:100%;font-size:clamp(36px,11vw,54px);line-height:.98;overflow-wrap:anywhere}
 .hero p{max-width:100%;font-size:15px}.hero-orb--one{right:-80px;bottom:7%;width:210px;height:210px}.hero-orb--two{right:15%;top:34%;width:55px;height:55px}
 .actions{width:100%;gap:10px}.actions .btn{max-width:100%;padding:13px 15px;font-size:10px}
 .intro,.services,.story,.gallery,.contact{width:100%;max-width:100%;padding:70px 0}
 .intro-grid,.story-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;gap:35px}
 .intro h2,.story h2{font-size:clamp(36px,10vw,52px)}.intro p,.story p{font-size:16px}
 .image-stack{width:100%;max-width:100%;height:310px}.image-stack img{max-width:100%;height:83%;right:0}.image-stack img+img{max-width:44%;height:52%;left:0}
 .section-head{width:100%;max-width:100%;display:block}.section-head h2,.gallery h2{font-size:clamp(34px,9vw,46px);line-height:1.05}
 .service-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}
 .service,.service:nth-child(3n+2),.service:nth-child(3n+3){width:100%;max-width:100%;min-width:0;padding:24px 0;border-left:0}.service h3{font-size:22px}
 .gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;grid-auto-rows:150px;gap:8px}.gallery-grid img{min-width:0;width:100%;max-width:100%;height:100%;object-fit:cover}
 .story img{width:100%;max-width:100%;height:330px}.contact h2{font-size:clamp(36px,10vw,48px)}
 .contact-card{width:100%;max-width:100%;padding:22px 18px}.contact-line{min-width:0;overflow-wrap:anywhere}.contact-line b{min-width:72px}
 .floating{right:15px;bottom:15px}.floating a{width:48px;height:48px}
}
@media(min-width:769px){
 .hero-content{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(450px,1.1fr);align-items:center;gap:clamp(30px,5vw,90px);width:100%;max-width:1200px;margin:0 auto;padding-top:92px}
 .hero-copy h1{font-size:clamp(48px,5vw,82px);line-height:.95;max-width:700px;margin:18px 0}
 .hero-copy p{max-width:500px}.hero-logo-area{display:flex;align-items:center;justify-content:center}
}
@media(min-width:769px) and (max-width:1024px){
 .hero-content{grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:30px;padding-top:92px}
 .hero-logo{width:min(32vw,340px)}.hero-copy h1{font-size:clamp(43px,5vw,62px)}
}
@media(min-width:1025px){.site-header{z-index:10}.hero-copy,.hero-logo-area{padding-top:10px}}
@media(max-width:360px){
 .wrap{width:calc(100% - 24px)}.brand-logo{width:53px!important;max-width:53px!important;height:45px!important;flex-basis:53px!important}.brand-copy strong{font-size:15px}.brand-copy small{font-size:6px}
 .nav-cta{padding:8px;font-size:9px}.hero{min-height:680px}.hero-content{padding-top:135px}.hero h1{font-size:35px}
 .actions{display:grid;grid-template-columns:1fr}.actions .btn{width:100%}.gallery-grid{grid-auto-rows:125px}.contact-card{padding:18px 13px}.contact-line{font-size:13px}.contact-line b{min-width:62px;font-size:9px}
}