/* ASTRA editorial layout — warm paper, ink blue, large architectural imagery. */
:root{--ink:#18313c;--muted:#7b8586;--paper:#f4f2ed;--line:#d4d5ce}body{background:var(--paper)}.header{background:rgba(244,242,237,.97);color:var(--ink);height:88px;border-bottom:1px solid #18313c16;padding:0 3vw}.header.solid{background:rgba(244,242,237,.97)}.header .contact-nav{border-color:#b5bcb9}.brand{letter-spacing:1.2px}.rail{top:auto;bottom:25px;right:25px;display:flex;gap:0;box-shadow:0 6px 30px #122c3520}.rail a,.rail button{writing-mode:horizontal-tb;text-orientation:mixed;background:#18313c;width:auto;min-height:0;height:44px;padding:0 17px;border:1px solid #ffffff25;font-size:11px;letter-spacing:1px}.rail a:hover,.rail button:hover{background:#33535f}.hero{height:min(850px,100svh);min-height:700px;background:var(--paper);color:var(--ink);display:flex;align-items:center;position:relative;padding:110px max(6vw,30px) 65px;isolation:isolate}.hero:before{inset:110px 4vw 65px 44%;background:linear-gradient(0deg,#102b3b20,#0000),url('/assets/hero.png') center/cover;animation:none;z-index:-1}.hero:after{content:'';position:absolute;width:180px;height:1px;background:#b79969;left:34%;top:190px;z-index:1}.hero-copy{padding:0;width:43%;text-align:left}.hero-kicker{font-size:10px;letter-spacing:2.8px;margin:0 0 35px;color:#7b8586}.hero p{font:400 clamp(58px,6.3vw,96px)/1.04 Georgia,serif;letter-spacing:-3px;margin-bottom:32px;white-space:normal}.hero h1{font-size:clamp(20px,1.8vw,27px);line-height:1.8;letter-spacing:2px;white-space:normal}.hero-link{display:flex;align-items:center;justify-content:space-between;max-width:240px;border-bottom:1px solid #9fa8a4;padding:15px 0;font-size:13px;margin-top:30px}.hero-link span{font-size:24px}.hero-index{position:absolute;right:4vw;bottom:26px;width:52%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#7b8586}.hero .scroll{left:25px;bottom:78px;color:#18313c;font-size:9px}.hero .scroll:after{background:#18313c66;height:35px}.hero .asset-note{right:calc(4vw + 15px);bottom:80px;color:#ffffffb8}.container{max-width:1250px}.about{padding:130px 0 150px}.about-grid{grid-template-columns:51% 39%;gap:10%;align-items:center}.about-collage{position:relative;padding:0 70px 70px 0}.about-collage>.photo{height:500px;width:100%;margin:0}.about-collage>.collage-inset{position:absolute!important;width:54%;height:240px;right:0;bottom:0;border:9px solid var(--paper)}.about-collage .caption{font-size:8px;max-width:90%;line-height:1.5}.collage-label{font-size:10px;letter-spacing:3px;position:absolute;bottom:25px;left:0;color:#7b8586}.about-copy{padding:10px 0}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px}.about h2{font-size:28px}.about p{font-size:14px;line-height:2.3}.btn{border-color:#aab3b1;min-width:190px;font-size:14px}.btn:hover{background:var(--ink)}.section{padding:80px 0 30px}.section>.title{max-width:1190px;margin:0 auto 30px;text-align:left;padding:0 30px}.section>.title h2{font-size:48px;letter-spacing:0}.section>.title p{text-transform:uppercase;font-size:11px}.service-intro{text-align:left;max-width:1190px;margin-bottom:70px;font-size:14px}.service-intro p:last-child{max-width:850px;color:#8a9190;font-size:12px}.service-row,.service-row.reverse{max-width:1190px;margin:0 auto 85px;grid-template-columns:58% 42%;min-height:420px;align-items:center;position:relative;gap:0}.service-row .photo{height:430px;min-height:0;width:100%}.service-row .photo img{object-position:center}.service-row:nth-of-type(3) .photo img{object-position:30% 50%}.service-content{position:relative;margin:0 0 0 -45px;padding:45px;background:#fff;max-width:none;width:calc(100% + 45px);box-shadow:0 12px 40px #162e3b05}.service-row.reverse{grid-template-columns:42% 58%}.service-row.reverse .service-content{margin:0 -45px 0 0;z-index:1}.service-content .en{font-size:29px;line-height:1.2;letter-spacing:0}.service-content h3{font-size:22px}.service-content p{font-size:13px;line-height:2}.service-content .ja{margin-top:12px;font-size:11px}.service-content .btn{padding:11px 18px;min-width:170px}.service-page{padding-top:30px;background:var(--paper)}.service-page .service-row{background:transparent;margin-bottom:60px}.service-page .photo{min-height:0;height:620px}.service-page .service-content{max-width:none;padding:40px}.service-page .service-content p{font-size:13px}.service-number{font-size:40px;color:#ba9d75}.properties-section{padding:95px 0;background:#e7ecea}.properties-section .title{text-align:left;max-width:1190px;padding:0 30px;margin:0 auto 45px}.properties-section .title h2{font-size:48px}.slider{gap:24px}.slider .property-card{flex-basis:390px;background:transparent}.slider .photo{height:290px}.slider .property-card h3{font-size:17px;margin-top:20px}.property-card .photo{overflow:hidden}.property-card .category{color:#7b8586}.recruit-band{max-width:1190px;margin:100px auto;grid-template-columns:53% 47%;background:#fff;min-height:470px}.recruit-band>.photo{order:-1;height:100%;min-height:470px}.recruit-copy{padding:55px;max-width:none}.recruit-copy .title h2{font-size:45px}.recruit-copy p{font-size:15px}.contact-block{background:#18313c;color:#f4f2ed;padding:80px 30px}.contact-block .title p,.contact-block>p{color:#bdc9ca}.contact-block .btn{border-color:#82969d}.contact-block address{font-size:12px;color:#d1d9d8}.contact-block .btn:hover{background:#f4f2ed;color:#18313c}.footer{background:var(--paper)}.page-head{background:var(--paper)}.page-head:before{color:#e9e9e1}.page-head h1{color:var(--ink)}.property-layout{grid-template-columns:1fr 190px;gap:45px}.property-grid{gap:50px 25px}.property-grid .photo{height:280px}.property-grid .property-card:nth-child(even){padding-top:70px}.page-content{background:#fcfcfa}.detail-photo{height:520px}.gallery-buttons button.active{background:#18313c}.title p{color:#7b8586}
@media(max-width:1199px){.desktop-nav{gap:15px}.hero{padding-left:6vw;min-height:650px}.hero p{font-size:70px}.service-row,.service-row.reverse{margin-left:35px;margin-right:35px}.service-content{padding:32px}.recruit-band{margin-left:35px;margin-right:35px}.about-collage{padding-right:40px}.about h2{font-size:24px}.about-grid{gap:7%;grid-template-columns:53% 40%}}
@media(max-width:991px){.header{height:65px;padding:0 22px}.hero{height:740px;min-height:0;padding:100px 30px 65px}.hero:before{inset:95px 25px 65px 43%}.hero:after{left:33%;top:170px;width:110px}.hero-copy{width:43%}.hero p{font-size:57px}.hero h1{font-size:19px;letter-spacing:1px;white-space:normal}.hero-kicker{font-size:8px;letter-spacing:1px;max-width:180px}.hero-link{max-width:180px}.hero-index{width:calc(57% - 25px);right:25px;font-size:9px}.hero .scroll{display:none}.hero .asset-note{right:38px}.about{padding:85px 0 100px}.about-grid{display:grid;max-width:750px;grid-template-columns:1fr;gap:45px}.about-collage{max-width:580px;width:100%;margin:auto;padding-right:60px}.about-collage>.photo{width:100%;height:450px}.about-collage>.collage-inset{width:52%;height:220px}.about-copy{padding:0;max-width:580px;margin:auto;width:100%}.about p br{display:none}.service-row,.service-row.reverse{display:grid;grid-template-columns:53% 47%;margin:0 25px 60px;min-height:0}.service-row.reverse{grid-template-columns:47% 53%}.service-row.reverse .photo{order:2}.service-row .photo{width:100%;height:400px;aspect-ratio:auto}.service-content{width:calc(100% + 25px);margin-left:-25px;padding:25px}.service-row.reverse .service-content{margin:0 -25px 0 0}.service-content .en{font-size:24px}.service-content h3{font-size:19px}.service-content p{font-size:12px}.service-page .service-row{display:flex;margin:0 25px 50px}.service-page .service-row .photo{order:0;height:360px}.service-page .service-content{width:92%;margin:-25px auto 0!important;z-index:1}.recruit-band{display:grid;grid-template-columns:1fr 1fr;margin:60px 25px}.recruit-copy{padding:35px}.recruit-band>.photo{height:100%;min-height:450px}.recruit-copy p{font-size:13px}.recruit-links{gap:15px;font-size:12px}.property-layout{grid-template-columns:1fr}.property-grid .photo{height:250px}.rail{right:15px;bottom:15px}.rail a,.rail button{font-size:10px;padding:0 12px}}
@media(max-width:575px){.header{height:60px}.hero{height:auto;min-height:0;padding:100px 22px 45px;display:block}.hero:before{inset:auto 22px 65px;height:310px}.hero:after{display:none}.hero-copy{width:100%;padding:0 0 350px}.hero-kicker{max-width:none;font-size:9px;margin-bottom:24px;letter-spacing:1.5px}.hero p{font-size:65px;line-height:1.04;letter-spacing:-2px;margin-bottom:25px}.hero h1{font-size:21px;line-height:1.8;letter-spacing:1px;white-space:normal;margin-bottom:0}.hero-link{position:absolute;top:270px;right:0;width:110px;margin:0;font-size:11px}.hero-index{right:22px;bottom:25px;width:calc(100% - 44px);font-size:8px}.hero .asset-note{bottom:77px;right:32px}.about{padding:65px 0 70px}.about-grid{gap:30px}.about-collage{padding-right:35px;padding-bottom:55px}.about-collage>.photo{height:330px}.about-collage>.collage-inset{width:60%;height:165px;border-width:6px}.collage-label{font-size:8px;letter-spacing:2px;bottom:12px}.about h2{font-size:23px}.about p{font-size:13px}.section{padding-top:45px}.section>.title{padding:0 22px;margin-bottom:25px}.section>.title h2,.properties-section .title h2{font-size:36px}.service-intro{padding:0 22px;margin-bottom:40px;font-size:13px}.service-intro br{display:none}.service-row,.service-row.reverse{display:flex;margin:0 22px 45px;flex-direction:column}.service-row .photo,.service-row.reverse .photo{order:0;height:250px;width:100%;margin:0}.service-content,.service-row.reverse .service-content{width:calc(100% - 20px);margin:-25px 0 0 20px;padding:28px;z-index:1}.service-content .en{font-size:25px}.service-content h3{font-size:20px}.service-content p{font-size:13px}.service-page .service-row{margin:0 22px 45px}.service-page .service-row .photo{height:260px}.service-page .service-content{padding:28px;width:calc(100% - 16px)}.properties-section{padding:60px 0}.properties-section .title{padding:0 22px;margin-bottom:30px}.slider .property-card{flex-basis:82vw}.slider .photo{height:250px}.recruit-band{display:flex;flex-direction:column;margin:55px 22px;min-height:0}.recruit-band>.photo{height:260px;min-height:0}.recruit-copy{padding:32px 26px}.recruit-copy .title h2{font-size:36px}.recruit-copy p{font-size:14px}.contact-block{padding:65px 22px}.rail{left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:none}.rail a,.rail button{height:48px;width:100%;padding:0 5px}.property-grid .property-card:nth-child(even){padding-top:0}.property-grid .photo{height:260px}.detail-photo{height:330px}.footer{padding-bottom:75px}}
@media(max-width:360px){.hero p{font-size:56px}.hero h1{font-size:18px}.hero-link{top:245px;width:100px}.hero:before{height:285px}.hero-copy{padding-bottom:325px}.service-content{padding:23px}.service-content .en{font-size:22px}}
@media(max-width:575px){.hero-link{position:static;width:165px;max-width:165px;margin:15px 0 0;padding:7px 0}.hero-copy{padding-bottom:350px}}
.company-form-contact{text-align:center;color:#51636a;font-size:13px;line-height:2.1;margin-bottom:40px}.company-form-contact:empty{display:none}.company-form-contact a{border-bottom:1px solid #bdc7c8}.overview td{overflow-wrap:anywhere}
/* Official ASTRA identity supplied by the owner. */
.brand{display:inline-flex;flex-shrink:0;gap:0}.brand .brand-logo{display:block;width:190px;max-width:none;height:auto;object-fit:contain;mix-blend-mode:multiply}.footer .brand .brand-logo{width:225px}.caption,.asset-note{display:none}
@media(max-width:1199px){.header .brand .brand-logo{width:165px}}
@media(max-width:991px){.header .brand .brand-logo{width:150px}}
@media(max-width:575px){.header .brand .brand-logo{width:145px}.footer .brand .brand-logo{width:200px}}

/* Client revisions, 2026-10-14: compact mobile hero and revised identity. */
.hero-mobile-tagline,.hero-visual{display:none}
.brand .brand-logo{width:220px}.footer .brand .brand-logo{width:260px}
@media(max-width:1199px){.header .brand .brand-logo{width:195px}}
@media(max-width:991px){.header .brand .brand-logo{width:175px}}
@media(max-width:575px){
 .header .brand .brand-logo{width:168px}.footer .brand .brand-logo{width:235px}
 .hero{padding:84px 22px 28px;height:auto;min-height:0;display:block}
 .hero:before,.hero:after,.hero-kicker,.hero-index{display:none}
 .hero-copy{padding:0;width:100%}
 .hero p{font-size:clamp(40px,11.8vw,50px);line-height:1.02;letter-spacing:-1.6px;margin:0 0 14px}
 .hero h1{font-size:14px;line-height:1.8;letter-spacing:.5px;margin:0}
 .hero-desktop-tagline{display:none}.hero-mobile-tagline{display:inline}
 .hero-link{position:static;width:155px;max-width:155px;margin:10px 0 0;padding:5px 0;font-size:11px;line-height:1.6}
 .hero-link span{font-size:20px}
 .hero-visual{display:block;width:100%;background:url('/assets/hero.png') center/cover;height:clamp(260px,40svh,340px);margin-top:22px}
}
