.landing-root{--navy:#0d1b2e;--navy-mid:#162640;--navy-light:#1e3a5f;--gold:#b8986a;--gold-light:#d4b483;--gold-pale:#f0e6d3;--cream:#f8f5f0;--white:#fff;--text:#1a2535;--text-light:#5a6a7e;color:var(--text);background:var(--cream);scroll-behavior:smooth;font-family:Noto Sans JP,sans-serif;overflow-x:hidden}.landing-root *,.landing-root :before,.landing-root :after{box-sizing:border-box;margin:0;padding:0}.landing-root header{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1b2ef5;border-bottom:1px solid #b8986a40;justify-content:space-between;align-items:center;height:72px;padding:0 48px;display:flex;position:fixed;top:0;left:0;right:0}.landing-root .logo{color:var(--white);letter-spacing:.1em;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:400;line-height:1.2;text-decoration:none}.landing-root .logo span{letter-spacing:.25em;color:var(--gold-light);margin-top:2px;font-family:Noto Sans JP,sans-serif;font-size:10px;font-weight:300;display:block}.landing-root nav{align-items:center;gap:36px;display:flex}.landing-root nav a{color:#fffc;letter-spacing:.08em;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:300;text-decoration:none;transition:color .3s}.landing-root nav a:hover{color:var(--gold-light)}.landing-root .nav-cta{background:var(--gold)!important;color:var(--navy)!important;letter-spacing:.1em!important;padding:9px 22px!important;font-size:12px!important;font-weight:400!important;transition:background .3s,transform .2s!important}.landing-root .nav-cta:hover{transform:translateY(-1px);background:var(--gold-light)!important}.landing-root #hero{background:var(--navy);align-items:center;min-height:100vh;padding-top:72px;display:flex;position:relative;overflow:hidden}.landing-root .hero-bg{background:radial-gradient(60% 80% at 70%,#1e3a5fb3 0%,#0000 70%),radial-gradient(40% 50% at 20% 80%,#b8986a14 0%,#0000 60%),linear-gradient(135deg,#0d1b2e 0%,#162640 50%,#0d1b2e 100%);position:absolute;inset:0}.landing-root .hero-lines{pointer-events:none;position:absolute;inset:0}.landing-root .hero-lines:before{content:"";background:linear-gradient(#0000,#b8986a66,#0000);width:1px;height:60%;position:absolute;top:15%;right:8%}.landing-root .hero-lines:after{content:"";background:linear-gradient(90deg,#0000,#b8986a4d,#0000);width:180px;height:1px;position:absolute;top:30%;left:5%}.landing-root .hero-content{z-index:2;grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:0 auto;padding:0 48px;display:grid;position:relative}.landing-root .hero-label{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;opacity:0;margin-bottom:28px;font-family:Cormorant Garamond,serif;font-size:13px;animation:.8s .2s forwards landing-fadeUp}.landing-root .hero-title{color:var(--white);letter-spacing:.05em;opacity:0;margin-bottom:32px;font-family:Noto Serif JP,serif;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.7;animation:.8s .4s forwards landing-fadeUp}.landing-root .hero-title em{color:var(--gold-light);font-style:normal;font-weight:400}.landing-root .hero-desc{color:#ffffffa6;letter-spacing:.05em;opacity:0;margin-bottom:48px;font-size:14px;font-weight:300;line-height:2;animation:.8s .6s forwards landing-fadeUp}.landing-root .hero-btns{opacity:0;flex-wrap:wrap;gap:16px;animation:.8s .8s forwards landing-fadeUp;display:flex}.landing-root .btn-primary{background:var(--gold);color:var(--navy);letter-spacing:.12em;padding:16px 36px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:400;text-decoration:none;transition:all .3s;display:inline-block}.landing-root .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 24px #b8986a4d}.landing-root .btn-outline{color:#ffffffd9;letter-spacing:.12em;border:1px solid #ffffff4d;padding:16px 36px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:300;text-decoration:none;transition:all .3s;display:inline-block}.landing-root .btn-outline:hover{border-color:var(--gold);color:var(--gold-light)}.landing-root .hero-stats{opacity:0;flex-direction:column;gap:32px;animation:1s 1s forwards landing-fadeIn;display:flex}.landing-root .stat-card{border:1px solid #b8986a33;border-left:3px solid var(--gold);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0a;padding:28px 32px}.landing-root .stat-number{color:var(--gold-light);letter-spacing:-.02em;margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:52px;font-weight:300;line-height:1}.landing-root .stat-number sup{font-size:22px}.landing-root .stat-label{color:#fff9;letter-spacing:.15em;font-size:12px;font-weight:300}.landing-root .credentials{background:#ffffff0a;border:1px solid #b8986a26;padding:24px 32px}.landing-root .credentials-title{color:var(--gold);letter-spacing:.2em;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:11px}.landing-root .credentials-list{flex-wrap:wrap;gap:10px;display:flex}.landing-root .cred-badge{color:#ffffffbf;letter-spacing:.05em;background:#b8986a1a;border:1px solid #b8986a40;padding:6px 12px;font-size:11px;font-weight:300}.landing-root section{padding:100px 48px}.landing-root .section-inner{max-width:1200px;margin:0 auto}.landing-root .section-label{color:var(--gold);letter-spacing:.35em;text-transform:uppercase;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:12px}.landing-root .section-title{letter-spacing:.05em;color:var(--navy);margin-bottom:24px;font-family:Noto Serif JP,serif;font-size:clamp(24px,3vw,36px);font-weight:300;line-height:1.6}.landing-root .section-desc{color:var(--text-light);max-width:560px;margin-bottom:64px;font-size:14px;font-weight:300;line-height:2}.landing-root .divider{background:linear-gradient(to right, var(--gold), transparent);width:48px;height:2px;margin-bottom:24px}.landing-root #services{background:var(--cream)}.landing-root .services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.landing-root .service-card{background:var(--white);border:1px solid #0d1b2e14;padding:48px 36px;transition:all .35s;position:relative;overflow:hidden}.landing-root .service-card:before{content:"";background:linear-gradient(to right, var(--gold), var(--gold-light));transform-origin:0;height:3px;transition:transform .35s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.landing-root .service-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #0d1b2e1a}.landing-root .service-card:hover:before{transform:scaleX(1)}.landing-root .service-num{color:var(--gold-pale);letter-spacing:-.02em;margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:64px;font-weight:300;line-height:1}.landing-root .service-icon{margin-bottom:20px;font-size:32px}.landing-root .service-title{color:var(--navy);letter-spacing:.05em;margin-bottom:16px;font-family:Noto Serif JP,serif;font-size:18px;font-weight:400}.landing-root .service-desc{color:var(--text-light);font-size:13px;font-weight:300;line-height:1.9}.landing-root .service-items{border-top:1px solid #0d1b2e0f;margin-top:20px;padding-top:20px;list-style:none}.landing-root .service-items li{color:var(--text-light);padding:5px 0 5px 16px;font-size:12px;font-weight:300;position:relative}.landing-root .service-items li:before{content:"—";color:var(--gold);position:absolute;left:0}.landing-root #portfolio{background:var(--navy)}.landing-root #portfolio .section-title{color:var(--white)}.landing-root #portfolio .section-desc{color:#ffffff8c}.landing-root #portfolio .section-label{color:var(--gold)}.landing-root .portfolio-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.landing-root .portfolio-item{background:var(--navy-mid);border:1px solid #b8986a1a;padding:40px 36px;transition:all .3s;position:relative}.landing-root .portfolio-item:hover{background:#b8986a0f;border-color:#b8986a4d}.landing-root .portfolio-type{letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:10px}.landing-root .portfolio-name{color:var(--white);margin-bottom:12px;font-family:Noto Serif JP,serif;font-size:16px;font-weight:300}.landing-root .portfolio-detail{color:#ffffff73;font-size:12px;font-weight:300;line-height:1.8}.landing-root .portfolio-tag{color:var(--gold-light);letter-spacing:.08em;background:#b8986a1f;border:1px solid #b8986a33;margin-top:16px;padding:4px 10px;font-size:11px;display:inline-block}.landing-root .prop-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;display:grid}.landing-root .prop-card{background:var(--white);color:var(--text);border:1px solid #00000014;border-radius:4px;flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.landing-root .prop-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.landing-root .prop-thumb{background:#e8e4de 50%/cover no-repeat;justify-content:center;align-items:center;height:200px;display:flex;position:relative}.landing-root .prop-kind-badge{background:var(--navy);color:var(--gold-light);letter-spacing:.1em;border-radius:2px;padding:3px 10px;font-size:10px;position:absolute;top:10px;left:10px}.landing-root .prop-info{flex-direction:column;flex:1;gap:6px;padding:18px 20px 22px;display:flex}.landing-root .prop-name{color:var(--navy);font-family:Noto Serif JP,serif;font-size:15px;font-weight:400;line-height:1.5}.landing-root .prop-address{color:var(--text-light);font-size:12px;font-weight:300}.landing-root .prop-price{color:var(--gold);letter-spacing:.05em;margin-top:auto;font-family:Cormorant Garamond,serif;font-size:18px}.landing-root #about{background:var(--white)}.landing-root .about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.landing-root .about-visual{position:relative}.landing-root .about-box{background:var(--navy);padding:56px 48px;position:relative}.landing-root .about-box:after{content:"";border:1px solid var(--gold);z-index:-1;width:100%;height:100%;position:absolute;bottom:-12px;right:-12px}.landing-root .about-quote{color:var(--white);letter-spacing:.05em;font-family:Noto Serif JP,serif;font-size:18px;font-weight:300;line-height:2}.landing-root .about-quote em{color:var(--gold-light);font-style:normal}.landing-root .info-table{border-collapse:collapse;width:100%;margin-top:16px}.landing-root .info-table tr{border-bottom:1px solid #0d1b2e0f}.landing-root .info-table td{vertical-align:top;padding:16px 0;font-size:13px}.landing-root .info-table td:first-child{color:var(--text-light);letter-spacing:.05em;white-space:nowrap;width:120px;padding-right:24px;font-weight:300}.landing-root .info-table td:last-child{color:var(--text);font-weight:300;line-height:1.8}.landing-root #contact{background:var(--cream)}.landing-root .contact-grid{grid-template-columns:1fr 1.4fr;gap:64px;display:grid}.landing-root .contact-info h3{color:var(--navy);letter-spacing:.05em;margin-bottom:24px;font-family:Noto Serif JP,serif;font-size:22px;font-weight:300}.landing-root .contact-info p{color:var(--text-light);margin-bottom:36px;font-size:13px;font-weight:300;line-height:2}.landing-root .contact-form{background:var(--white);border:1px solid #0d1b2e14;padding:48px}.landing-root .form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.landing-root .form-group{margin-bottom:16px}.landing-root .form-group label{letter-spacing:.1em;color:var(--text-light);margin-bottom:8px;font-size:11px;font-weight:300;display:block}.landing-root .form-group label span{color:#c0392b;margin-left:4px}.landing-root .form-group input,.landing-root .form-group select,.landing-root .form-group textarea{background:var(--cream);width:100%;color:var(--text);appearance:none;border:1px solid #0d1b2e1f;outline:none;padding:14px 16px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:300;transition:border-color .3s}.landing-root .form-group input:focus,.landing-root .form-group select:focus,.landing-root .form-group textarea:focus{border-color:var(--gold);background:var(--white)}.landing-root .form-group textarea{resize:vertical;min-height:120px}.landing-root .form-submit{background:var(--navy);width:100%;color:var(--white);letter-spacing:.15em;cursor:pointer;border:none;margin-top:8px;padding:18px;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:300;transition:all .3s}.landing-root .form-submit:hover:not(:disabled){background:var(--navy-light)}.landing-root .form-submit:disabled{opacity:.7;cursor:not-allowed}.landing-root .form-success{border:1px solid var(--gold);text-align:center;color:var(--navy);background:#b8986a1a;margin-top:16px;padding:20px;font-size:14px;font-weight:300}.landing-root .form-error{color:#b1442a;margin:8px 0 0;font-size:13px;font-weight:400}.landing-root .unauthorized-banner{z-index:99;color:#fff;text-align:center;letter-spacing:.05em;background:#c0392bf2;padding:12px 48px;font-size:13px;position:fixed;top:72px;left:0;right:0}.landing-root footer{background:var(--navy);border-top:1px solid #b8986a26;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:48px;display:flex}.landing-root .footer-logo{color:var(--white);letter-spacing:.1em;font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400;text-decoration:none}.landing-root .footer-logo span{letter-spacing:.25em;color:var(--gold);margin-top:2px;font-family:Noto Sans JP,sans-serif;font-size:10px;font-weight:300;display:block}.landing-root .footer-copy{color:#ffffff59;letter-spacing:.08em;font-size:11px;font-weight:300}.landing-root footer nav{gap:28px}.landing-root footer nav a{color:#ffffff80;letter-spacing:.08em;font-size:12px;font-weight:300}.landing-root footer nav a:hover{color:var(--gold)}@keyframes landing-fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-fadeIn{0%{opacity:0}to{opacity:1}}.landing-root .reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(32px)}.landing-root .reveal.visible{opacity:1;transform:none}@media (max-width:900px){.landing-root header{padding:0 24px}.landing-root header nav{display:none}.landing-root section{padding:72px 24px}.landing-root footer{padding:36px 24px}.landing-root .hero-content{grid-template-columns:1fr;gap:48px;padding:0 24px}.landing-root .hero-stats{flex-flow:wrap;gap:16px}.landing-root .stat-card{flex:1;min-width:140px}.landing-root .services-grid,.landing-root .portfolio-grid{grid-template-columns:1fr}.landing-root .about-grid{grid-template-columns:1fr;gap:48px}.landing-root .contact-grid,.landing-root .form-row{grid-template-columns:1fr}.landing-root .contact-form{padding:32px 24px}.landing-root .about-box:after{display:none}.landing-root .unauthorized-banner{padding:10px 20px;font-size:12px}.landing-root .prop-grid{grid-template-columns:1fr}}
