/* A quiet architectural identity: ink, generous space, restrained brass. */
:root{--navy:#0c1c2d;--blue:#213d59;--gold:#a78a53;--muted:#566473}
body{background:#fff;color:#172b40;font-weight:400}
header{background:rgba(255,255,255,.97);border-bottom:1px solid #172b4014;box-shadow:none;padding:18px 5.5%;backdrop-filter:blur(16px)}
nav{font-size:14px;gap:32px}nav .nav-contact{background:#132b40;border:1px solid #132b40;border-radius:0;padding:15px 24px}
a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a78a53;outline-offset:5px}
.hero-main{min-height:690px;height:calc(100svh - 110px);max-height:1000px}
.hero-copy{padding-left:9%;padding-bottom:95px}.hero-main:after{background:linear-gradient(90deg,#071522db 0%,#091b2e91 45%,#091b2e0d 100%)}
.hero h1{font-size:clamp(42px,5.2vw,80px);line-height:1.55;letter-spacing:.09em;font-weight:400;margin-bottom:32px}.hero h1 em{font-style:normal}
.hero .eyebrow{font-size:15px;letter-spacing:.3em;margin-bottom:38px}.hero .intro{line-height:2.3;color:#f2f3f5}
.gold-link{min-width:250px;justify-content:space-between;padding:16px 0;border-color:#c4ab7c}.gold-link span,.detail-link span,.recruit-link span,.email-button span{transition:transform .25s}.gold-link:hover span,.detail-link:hover span,.recruit-link:hover span,.email-button:hover span{transform:translate(3px,-3px)}
.hero-location{margin-top:36px;font-size:12px;letter-spacing:.15em}.hero-strip{background:#0c1c2d;padding:22px 9%;font-size:14px}.hero-strip>span:nth-child(2){color:#c6cfda}
.section{padding:120px 8%}.section h2{font-weight:400;line-height:1.6;font-size:clamp(30px,3.4vw,48px)}
.eyebrow,.section-heading .eyebrow{font-size:13px;letter-spacing:.22em;color:#8d713f}.services .section-heading{margin-bottom:80px}.services .section-heading>p:last-child{max-width:480px;align-self:end}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:76px 5%}
.service-list article,.service-list article:last-child,.service-list article:nth-child(even){display:flex;flex-direction:column;align-items:stretch;margin:0;gap:0;min-width:0}
.service-list .service-photo,.service-list article:nth-child(even) .service-photo{aspect-ratio:1.52;object-fit:cover;width:100%;height:auto}
.service-list article>div,.service-list article:nth-child(even)>div{padding:28px 0 0}.service-list .number{display:none}
.service-list .english{font-size:12px;letter-spacing:.18em;margin:0;color:#927749}.service-list h3{font-size:clamp(23px,2vw,29px);font-weight:400;margin:12px 0 17px}.service-list article p{line-height:2.05}.detail-link{font-size:14px;min-height:44px;border-color:#b29b75;margin-top:14px}
.service-list article.service-text-only{display:flex;justify-content:center;background:#112b40;color:white;padding:48px;border-top:2px solid #bfa16c}.service-list article.service-text-only>div{padding:0}.service-text-only h3,.service-text-only .detail-link{color:#fff}.service-list .service-text-only p{color:#dce3e9}.service-text-only .english{color:#d2b780}
.photo-note{font-size:13px;line-height:1.9;margin-top:42px}.company{background:#f3f5f7}.company-data>div{padding:24px 0;border-color:#d5dce2}.company-data dt{font-size:14px}
.contact,.work-end{background:#0c1c2d;color:#fff}.contact h2,.work-end h2{color:#fff}.contact-options{padding-left:12%}.email-button{background:#d3bd92;border:1px solid #d3bd92;border-radius:0;color:#10263a;padding:22px 28px}.contact .main-email{font-size:clamp(23px,2.2vw,34px)}
.recruitment{background:#fff;border-color:#e0e4e8}.recruitment h3{font-size:24px}.recruit-link{min-height:48px}.recruitment .recruit-note{font-size:14px;line-height:2}
footer{background:#091725;color:#e4eaf0;padding:60px 8%}.footer-name+p{color:#abb9c7;font-size:14px}.footer-nav{font-size:14px}.footer-nav>span{color:#8fa0b1;font-size:12px;letter-spacing:.12em}
.works-cover{padding-left:9%;min-height:680px}.works-cover h1{font-weight:400;letter-spacing:.07em}.works-menu{padding-top:36px;padding-bottom:36px;background:#f3f5f7}.work-index a{font-size:15px;min-height:66px}.work-details{max-width:1560px}.work-detail{padding:110px 0;gap:8%}.work-copy .eyebrow{font-size:13px}.work-copy h2{font-size:clamp(28px,2.6vw,40px)}.work-copy aside{background:#f3f5f7;border-top:1px solid #b59c71}.work-detail figcaption{font-size:13px}.work-detail#masonry{margin:40px 0;background:#f3f5f7;padding:65px 6%;border:0}
.form-page{max-width:900px;padding:80px 40px 100px}.form-page h1{font-size:clamp(32px,3.5vw,48px);font-weight:400;letter-spacing:.06em;margin:20px 0 26px}.form-page .eyebrow{color:#8e7447}.form-page form{border-top:1px solid #bba37d;margin-top:46px;padding-top:12px}.form-page form>label{margin:30px 0}.form-page input:not([type=checkbox]),.form-page select,.form-page textarea{background:#f7f8fa;border:1px solid #d7dee4;border-radius:0;padding:16px;transition:border-color .2s}.form-page input:focus,.form-page select:focus,.form-page textarea:focus{border-color:#a68b59;background:white}.form-page label>span,.form-page label>small{font-size:13px}.form-button{background:#112b40;padding:18px 35px}.privacy-note{line-height:2}.form-actions{margin-top:28px}#success{padding:40px 0;border-top:1px solid #bba37d;margin-top:35px}
@media(min-width:1000px){.recruitment{grid-template-columns:1fr 1.1fr;gap:10%}.company{grid-template-columns:1fr 1.2fr;gap:10%}}
@media(max-width:760px){header{padding:10px 5%;gap:8px}nav{gap:8px;font-size:13px}nav .nav-contact{padding:10px 13px}.hero-main{min-height:640px;max-height:850px;height:calc(100svh - 116px)}.hero-copy{padding:48px 7% 65px}.hero h1{font-size:clamp(32px,8vw,52px);letter-spacing:.04em}.hero .eyebrow{font-size:13px;letter-spacing:.22em;margin-bottom:28px}.hero-strip{padding:20px 7%;font-size:13px}.hero-strip>span:nth-child(2){font-size:12px}.section{padding:72px 6%}.services .section-heading{margin-bottom:40px}.service-list{grid-template-columns:1fr;gap:46px}.service-list article.service-text-only{padding:30px}.service-list article>div{padding-top:23px}.service-list h3{font-size:25px}.service-list article p{font-size:16px}.company-data dd{font-size:16px}.contact-options{padding-left:0}.works-cover{padding:48px 7% 70px;min-height:570px}.works-menu{padding-top:18px;padding-bottom:24px}.work-index a{font-size:14px;gap:8px;line-height:1.7}.work-detail{padding:60px 0;gap:28px}.work-detail#masonry{padding:32px 7%;margin:16px 0}.form-page{padding:42px 6% 65px}.form-page h1{font-size:30px}.form-page form>label{line-height:1.8}.form-page label>small{display:block;margin-left:0}footer{padding:45px 6%}.footer-nav{gap:20px}.section h2{font-size:32px}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.works-cover-copy{animation:intro-enter .85s both}.reveal-once{animation:section-enter .6s both}@keyframes intro-enter{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes section-enter{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}}

/* Keep the architectural photograph naturally bright. */
.hero-main:after,.works-cover:after{background:linear-gradient(90deg,rgba(8,22,37,.32) 0%,rgba(8,22,37,.10) 38%,rgba(8,22,37,0) 68%)}
.hero h1,.hero .intro,.hero .gold-link,.hero-location,.works-cover-copy{text-shadow:0 2px 8px #0008}
@media(max-width:760px){.hero-main:after,.works-cover:after{background:linear-gradient(90deg,rgba(8,22,37,.32),rgba(8,22,37,0))}.hero .hero-signature{padding:0;gap:0;letter-spacing:.12em}}

/* Lining numerals only: keep Japanese and Latin lettering unchanged. */
@font-face{font-family:HikariNumerals;src:local("Times New Roman"),local("Times"),local("Noto Serif");unicode-range:U+0030-0039;font-weight:100 900;font-style:normal;font-display:swap}
body{font-variant-numeric:lining-nums tabular-nums}

/* Primary company identity. */
header .brand{gap:20px;align-items:center;flex-shrink:0}
header .brand .header-emblem{display:block;width:124px;height:80px;object-fit:contain}
header .brand-wordmark{display:flex;flex-direction:column;gap:5px}
header .brand-wordmark strong{font-family:"Times New Roman",serif;font-size:23px;font-weight:400;letter-spacing:.06em;line-height:1.25}
header .brand-wordmark small{font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:14px!important;letter-spacing:.08em;color:#243b4c}
@media(max-width:760px){header .brand{gap:10px}header .brand .header-emblem{width:88px;height:58px}header .brand-wordmark strong{font-size:17px;letter-spacing:.025em}header .brand-wordmark small{font-size:12px!important}}

@media(min-width:761px) and (max-width:1100px){header{flex-wrap:wrap}header nav{width:100%;justify-content:flex-end}}
@media(max-width:360px){header .brand-wordmark strong{font-size:15px}header .brand .header-emblem{width:78px;height:52px}}

.company-photo{margin:42px 0 0;overflow:hidden;background:#e9e3d8}.company-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 58%}.company-photo figcaption{padding:10px 0 0;background:#fff;color:#967a48;font-family:Georgia,serif;font-size:10px;letter-spacing:.16em}.company-photo+*{margin-top:0}@media(max-width:760px){.company-photo{margin-top:28px}.company-photo figcaption{font-size:9px}}

.case-study{background:#f5f2eb;border-top:1px solid #ded6c7;border-bottom:1px solid #ded6c7}.case-study-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:24px 70px;align-items:start}.case-study-heading .eyebrow{grid-column:1/-1}.case-study-heading h2{margin:0}.case-study-heading>p:last-child{margin:0;line-height:2}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}.before-after figure{position:relative;margin:0;background:#fff}.before-after figure>span{position:absolute;z-index:1;top:12px;left:12px;padding:7px 11px;background:rgba(16,40,60,.9);color:#fff;font:10px Georgia,serif;letter-spacing:.16em}.before-after img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.before-after figcaption{padding:12px 14px;color:#53606b;font-size:12px;letter-spacing:.08em}@media(max-width:760px){.case-study-heading{grid-template-columns:1fr;gap:18px}.case-study-heading .eyebrow{grid-column:auto}.before-after{grid-template-columns:1fr;gap:18px;margin-top:28px}}


/* BOTANICAL NAVY PANELS */
.contact,.work-end,footer,.hero-strip,.service-list article.service-text-only{position:relative;isolation:isolate;overflow:hidden;background-color:#0c1c2d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='240' viewBox='0 0 420 240'%3E%3Cg fill='none' stroke='%23c6ab78' stroke-width='1.15' opacity='.17'%3E%3Cpath d='M-8 225C54 202 78 156 99 82M99 82C112 49 135 23 168 7M99 82C72 68 52 47 38 17M78 145C52 137 30 119 15 92M80 141C108 133 132 114 149 88M258 251C278 205 302 174 350 144M350 144C382 124 404 96 429 55M326 162C312 133 312 107 319 78M354 141C374 154 394 161 421 160'/%3E%3C/g%3E%3Cg fill='%23c6ab78' opacity='.095'%3E%3Cellipse cx='108' cy='62' rx='8' ry='21' transform='rotate(34 108 62)'/%3E%3Cellipse cx='72' cy='105' rx='8' ry='22' transform='rotate(-55 72 105)'/%3E%3Cellipse cx='133' cy='105' rx='8' ry='23' transform='rotate(48 133 105)'/%3E%3Cellipse cx='51' cy='151' rx='8' ry='23' transform='rotate(-58 51 151)'/%3E%3Cellipse cx='337' cy='137' rx='8' ry='22' transform='rotate(-48 337 137)'/%3E%3Cellipse cx='374' cy='119' rx='8' ry='21' transform='rotate(52 374 119)'/%3E%3Cellipse cx='319' cy='96' rx='7' ry='20' transform='rotate(-8 319 96)'/%3E%3C/g%3E%3C/svg%3E");background-position:left bottom;background-repeat:repeat;background-size:420px 240px}
.contact>*,.work-end>*,footer>*,.hero-strip>*,.service-list article.service-text-only>*{position:relative;z-index:1}
nav .nav-contact,.form-button{position:relative;overflow:hidden;background-color:#132b40;background-image:radial-gradient(ellipse at 12% 115%,rgba(198,171,120,.22) 0 8%,transparent 9%),radial-gradient(ellipse at 92% -15%,rgba(198,171,120,.16) 0 8%,transparent 9%)}
@media(max-width:760px){.contact,.work-end,footer,.hero-strip,.service-list article.service-text-only{background-size:320px 183px}}

/* COMPANY TRUST LAYOUT */
.company{position:relative;align-items:start}
.company-copy{padding-right:8%}
.company-profile{height:100%;padding-left:9%;border-left:1px solid rgba(167,138,83,.45)}
.company .company-photo{grid-column:1/-1;width:100%;margin:64px 0 0;box-shadow:0 22px 55px rgba(12,28,45,.14);background:#0c1c2d}
.company .company-photo img{width:100%;height:auto;aspect-ratio:21/8;object-fit:cover;object-position:center 64%;filter:contrast(1.04) saturate(.92)}
.company .company-photo figcaption{padding:14px 18px;background:#0c1c2d;color:#d9c49b;letter-spacing:.2em}
@media(max-width:760px){.company-copy{padding-right:0}.company-profile{padding-left:0;border-left:0;border-top:1px solid rgba(167,138,83,.4);padding-top:28px}.company .company-photo{margin-top:34px}.company .company-photo img{aspect-ratio:16/10;object-position:center 62%}}

/* GARDEN LIGHTING DESIGN & INSTALLATION */
.lighting-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 4px}
.lighting-points p{margin:0;padding:16px 17px;background:#f4f1ea;border-top:1px solid #b59c71;font-size:13px!important;line-height:1.8!important}
.lighting-points strong{display:block;margin-bottom:6px;color:#8d713f;font-family:Georgia,serif;font-size:10px;font-weight:400;letter-spacing:.16em}
@media(max-width:760px){.lighting-points{grid-template-columns:1fr}.lighting-points p{font-size:14px!important}}

/* Complete the final service row, then feature lighting across both columns. */
.service-list article.service-drainage{scroll-margin-top:150px}
.service-list article.service-lighting-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:5%;align-items:center;padding:40px;background:#f5f2eb;border-top:1px solid #b59c71;scroll-margin-top:150px}
.service-list article.service-lighting-feature>.service-photo{display:block;width:100%;height:100%;min-height:440px;aspect-ratio:auto;object-fit:cover;object-position:center}
.service-list article.service-lighting-feature>div{padding:0;min-width:0}
.service-lighting-feature .lighting-points{grid-template-columns:1fr;gap:14px}
.service-lighting-feature .lighting-points p{background:#fff;padding:17px 20px}
@media(min-width:761px) and (max-width:1100px){.service-list article.service-lighting-feature{padding:28px;gap:4%;grid-template-columns:1fr 1.1fr}.service-list article.service-drainage{padding:30px}.service-list article.service-lighting-feature>.service-photo{min-height:480px}}
@media(max-width:760px){.service-list article.service-lighting-feature{grid-template-columns:1fr;padding:0;gap:0}.service-list article.service-lighting-feature>.service-photo{height:auto;min-height:0;aspect-ratio:4/3}.service-list article.service-lighting-feature>div{padding:28px 24px}.service-lighting-feature .lighting-points{gap:12px}}

/* Construction case: a full-width editorial heading and a natural-height comparison. */
.case-study.section{display:block;padding:80px 8%;scroll-margin-top:140px}
.case-study .case-study-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px 7%;align-items:end}
.case-study .case-study-heading .eyebrow{grid-column:1/-1;margin:0 0 8px;letter-spacing:.2em}
.case-study .case-study-heading h2{margin:0;font-size:clamp(28px,2.6vw,42px);line-height:1.65;letter-spacing:.04em;word-break:normal;overflow-wrap:normal}
.case-study .case-study-heading>p:last-child{margin:0;max-width:40em;font-size:16px;line-height:2;color:#52606a}
.case-study .before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:38px 0 0;align-items:start}
.case-study .before-after figure{display:block;align-self:start;height:auto;min-height:0;margin:0;overflow:hidden;background:transparent;border-bottom:1px solid #d4c6ad}
.case-study .before-after img{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:2.08;object-fit:cover}
.case-study .before-after figure>span{top:16px;left:16px;padding:8px 14px;font-size:11px;letter-spacing:.13em}
.case-study .before-after figure:last-child>span{background:#80673e}
.case-study .before-after figcaption{margin:0;padding:15px 0 17px;background:transparent;font-size:14px;line-height:1.7;color:#334858}
@media(max-width:900px){.case-study .case-study-heading{grid-template-columns:1fr;gap:18px}.case-study .case-study-heading .eyebrow{grid-column:auto;margin:0}.case-study .before-after{gap:20px}}
@media(max-width:600px){.case-study.section{padding:52px 6%}.case-study .case-study-heading h2{font-size:27px}.case-study .case-study-heading>p:last-child{font-size:15px;line-height:1.9}.case-study .before-after{grid-template-columns:1fr;margin-top:28px;gap:26px}.case-study .before-after figure>span{top:12px;left:12px}.case-study .before-after figcaption{padding:12px 0 14px;font-size:13px}}
