/*
Theme Name: ニチエー Renewal
Version: 0.2.0
Requires PHP: 7.4
Text Domain: nichiei-home
Description: 建築事業向けの新デザイン。既存の投稿URLを維持し、施工事例を紹介します。
*/

:root{--paper:#f6f4ef;--ink:#282b28;--muted:#72766e;--red:#ac3e34;--line:#d9d9d0;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}::selection{background:#e6c0b9}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:200}.skip:focus{top:0}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid #e5e3dc}.brand{width:210px}.brand img{width:100%;height:auto;max-height:60px;object-fit:contain;mix-blend-mode:multiply}.header nav{display:flex;align-items:center;gap:37px;font-size:13px;font-weight:600;letter-spacing:.07em}.header nav>a{padding:9px 0;position:relative}.header nav>a[aria-current]:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--red);bottom:0;left:50%}.header .nav-contact{background:var(--ink);color:white;padding:12px 23px;min-width:135px;display:flex;justify-content:space-between;gap:30px}.nav-contact:hover,.submit-button:hover{background:var(--red)}.menu-toggle{display:none}.hero{position:relative;min-height:690px;height:calc(100svh - 100px);max-height:1000px;padding:0 5%}.hero-image{position:absolute;top:0;right:0;width:69%;height:calc(100% - 65px);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-copy{position:relative;z-index:1;padding-top:7vh;width:49%;pointer-events:none}.hero-copy>*{pointer-events:auto}.eyebrow{font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--red);line-height:1.5;margin:0 0 24px}.hero-copy h1{font-family:var(--serif);font-size:clamp(48px,5.1vw,83px);line-height:1.52;font-weight:500;letter-spacing:.12em;margin:0 0 25px;text-shadow:0 0 30px var(--paper)}.hero-copy h1 span{background:var(--paper);padding-right:16px}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:2.1;background:var(--paper);display:table;padding:10px 20px 10px 0}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:12px;font-weight:600}.text-link span{font-size:21px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.hero-copy .text-link{background:var(--paper);padding-right:10px}.hero-bottom{position:absolute;bottom:19px;left:5%;right:5%;display:flex;gap:30px;font-size:10px;letter-spacing:.08em;align-items:center}.hero-bottom span:nth-child(2){color:var(--muted);font:9px Arial,sans-serif;letter-spacing:.12em}.hero-bottom a{margin-left:auto;font:9px Arial,sans-serif;letter-spacing:.14em}.section{padding:100px 7.5%;max-width:1680px;margin:auto}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-family:var(--serif);font-size:clamp(28px,3vw,43px);font-weight:500;line-height:1.65;letter-spacing:.06em;margin:0 0 28px}h3{font-weight:500}.intro{display:grid;grid-template-columns:1fr 2fr;padding-top:125px;padding-bottom:115px}.intro>div{display:grid;grid-template-columns:1.1fr 1fr;gap:0 45px}.intro h2{grid-row:span 2;font-size:31px}.intro p:not(.eyebrow){font-size:13px;line-height:2.4;margin:0 0 20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:12px;margin:0}.selected{background:#eaece5;max-width:none}.feature-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:40px 40px}.feature-grid .case-card:first-child{grid-row:span 2}.feature-grid .case-card:first-child .case-image{aspect-ratio:4/4.5}.feature-grid .case-card:not(:first-child){display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-content:start}.feature-grid .case-card:not(:first-child) .case-image{grid-row:span 4;aspect-ratio:1/1.2}.feature-grid .case-card:not(:first-child) h3{font-size:21px}.feature-grid .case-card:not(:first-child) .case-meta{display:block;margin-top:0}.feature-grid .case-card:not(:first-child) .case-meta>span{display:block}.case-card{background:none;border:0;text-align:left;padding:0;width:100%}.case-image{position:relative;overflow:hidden;aspect-ratio:1.45;background:#e3e1db}.case-image>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.case-card:hover .case-image>img{transform:scale(1.035)}.case-index{position:absolute;top:17px;left:18px;color:white;font:12px Arial,sans-serif;text-shadow:0 1px 8px black}.case-arrow{position:absolute;bottom:0;right:0;background:var(--paper);display:grid;place-items:center;width:49px;height:49px;font-size:24px}.case-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin:18px 0 10px}.case-meta>span:first-child{color:var(--red)}.case-card h3{font-family:var(--serif);font-size:27px;line-height:1.6;letter-spacing:.04em;margin:8px 0 10px}.case-card>p{font-size:11px;color:var(--muted);margin:0}.service{padding-top:110px;padding-bottom:110px}.service-list{border-top:1px solid var(--line)}.service-list>a{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);padding:26px 6px;transition:padding .25s,background .25s}.service-list>a:hover{padding-left:15px;background:#efeee7}.number{font:11px Arial,sans-serif;color:var(--red)}.service-list h3{font-family:var(--serif);font-size:23px;margin:0;letter-spacing:.03em}.service-desc{margin-left:auto;color:var(--muted);font-size:11px}.line-arrow{font-size:24px;margin-left:25px}.philosophy{display:grid;grid-template-columns:1.1fr 1fr;background:#e8e5de}.philosophy>img{width:100%;height:100%;object-fit:cover;min-height:530px}.philosophy>div{padding:80px 15%}.philosophy h2{font-size:32px}.philosophy p:not(.eyebrow){font-size:13px;line-height:2.2}.contact-band{padding:85px 12%;display:flex;align-items:center;justify-content:space-between;gap:50px;background:#29372f;color:#f6f4ef}.contact-band .eyebrow{color:#aebca8}.contact-band h2{font-size:38px}.contact-band p{font-size:12px;color:#d5dbd1}.round-link{border:1px solid #768477;border-radius:50%;width:230px;height:230px;display:flex;justify-content:center;align-items:center;gap:23px;font-size:13px;transition:background .2s}.round-link:hover{background:#415045}.round-link span{font-size:24px}footer{padding:60px 7.5% 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:50px}.footer-brand{font-weight:700;font-size:23px;letter-spacing:.05em}.footer-brand small{display:block;font:9px Arial,sans-serif;letter-spacing:.3em;margin-top:5px}.footer-top p{font-size:11px;margin:0}.footer-top>div{display:flex;flex-direction:column;align-items:end;font-size:11px;gap:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.page-title{padding-top:80px;padding-bottom:60px}.page-title h1{font-family:var(--serif);font-size:clamp(36px,4.5vw,65px);line-height:1.6;font-weight:500;letter-spacing:.08em;margin:20px 0}.page-title>p:last-child{font-size:13px;color:var(--muted);line-height:2.2}.works-section{padding-top:0}.filter-bar{display:flex;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:23px}.filter-bar button{border:1px solid var(--line);background:transparent;padding:9px 20px;font-size:12px}.filter-bar button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-bar small{margin-left:9px;font-size:9px}.filter-status{font-size:10px;color:var(--muted);margin:20px 0}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 35px}.works-grid .case-wrap:nth-child(even){padding-top:65px}.case-wrap[hidden]{display:none}.caption{font-size:10px;color:var(--muted);margin:50px 0 0}.about-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;padding-top:20px;align-items:center}.about-intro>img{height:470px;width:100%;object-fit:cover}.about-intro p{font-size:13px;line-height:2.3}.process{background:#eaece5;max-width:none}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.steps article{border-top:1px solid #b9c0b6;padding-top:25px}.steps article>span{font:12px Arial,sans-serif;color:var(--red)}.steps h3{font-family:var(--serif);font-size:20px;margin:16px 0}.steps p{font-size:12px;color:#656c61;line-height:2}.company{display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line);padding:18px 0;font-size:12px}.company dt{color:var(--muted)}.company dd{margin:0}.faq{padding-top:20px;max-width:1100px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:22px 35px 22px 0;list-style:none;position:relative;font-size:13px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'＋';position:absolute;right:4px;color:var(--red)}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 25px 15px 0;color:var(--muted);font-size:12px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e8e5de;max-width:none}.contact-section h2{font-size:40px}.contact-section p{font-size:12px}.phone{display:block;font-family:Georgia,serif;font-size:35px;letter-spacing:.03em;margin-top:30px}.phone span{font-size:24px;margin-left:20px}.small{font-size:10px!important;color:#65665f}form label{display:block;font-size:12px;margin-bottom:22px}form label>span{color:var(--red);font-size:9px;margin-left:10px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa99f;border-radius:0;background:#f6f4ef;margin-top:8px;padding:12px;color:var(--ink);font-size:13px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:2px}.submit-button{width:100%;border:0;color:white;background:var(--ink);display:flex;justify-content:space-between;padding:17px 24px;font-size:13px;margin-top:20px}.direct-email{display:inline-block;text-decoration:underline;margin-top:15px}#form-status{font-size:12px;color:var(--red)}dialog{border:0;padding:0;width:min(1000px,92vw);max-height:90svh;background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#172019b8;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:0;float:right;z-index:5;background:var(--ink);color:white;border:0;padding:15px 25px;font-size:12px}.detail-content{padding:65px 7%}.detail-content h2{font-size:37px;margin:12px 0 30px}.detail-cover{width:100%;max-height:530px;object-fit:cover}.detail-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;margin-top:25px;color:var(--red)}.detail-text{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.detail-text h3{font-family:var(--serif);font-size:23px}.detail-text p{font-size:13px;line-height:2.1}.detail-point{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:25px 0}.detail-point h3{font-size:10px;letter-spacing:.15em;color:var(--red)}.detail-point p{font-family:var(--serif);font-size:20px}.comparison{margin:40px 0}.comparison-tabs{display:flex;gap:6px;margin-bottom:12px}.comparison-tabs button{padding:8px 25px;border:1px solid var(--line);background:transparent;font-size:12px}.comparison-tabs button[aria-pressed=true]{background:var(--ink);color:white}.comparison img{width:100%;max-height:540px;object-fit:contain;background:#e8e5de}.comparison figcaption{font-size:11px;color:var(--muted);margin-top:8px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.detail-gallery img{width:100%;height:260px;object-fit:cover}.detail-end{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:35px}.source-link{font-size:10px;color:var(--muted);text-decoration:underline}.mobile-contact{display:none}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero-copy{padding-top:9vh}}@media(max-width:1050px){.header nav{gap:20px}.brand{width:180px}.hero{min-height:650px}.hero-copy{width:56%;padding-top:65px}.hero-image{width:66%}.intro{grid-template-columns:1fr;gap:30px}.intro>div{grid-template-columns:1fr 1fr}.intro h2{font-size:28px}.feature-grid{gap:30px}.feature-grid .case-card:not(:first-child){display:block}.feature-grid .case-card:not(:first-child) .case-image{aspect-ratio:1.7}.feature-grid .case-card:not(:first-child) h3{font-size:19px}.feature-grid .case-card:not(:first-child) .case-meta{margin-top:12px}.feature-grid .case-card:not(:first-child) .case-meta>span{display:inline}.philosophy>div{padding:60px 12%}.philosophy h2{font-size:27px}.service-desc{max-width:180px}.steps{gap:20px}.steps h3{font-size:18px}.contact-section{gap:6%}.phone{font-size:29px}}@media(max-width:720px){html{scroll-padding-top:85px}.header{height:76px;padding:0 6%}.brand{width:165px}.menu-toggle{display:flex;gap:14px;align-items:center;font:10px Arial,sans-serif;letter-spacing:.1em;background:none;border:0;padding:10px}.menu-toggle span{font-size:24px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line)}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.header nav>a{padding:10px}.header nav>a[aria-current]:after{display:none}.header .nav-contact{padding:15px}.hero{height:auto;min-height:0;padding:0 6% 60px;display:flex;flex-direction:column}.hero-image{position:relative;order:0;width:calc(100% + 12.77%);margin:0 -6.385%;height:350px}.hero-image img{object-position:60% center}.hero-copy{width:100%;padding-top:25px;order:1}.hero-copy .eyebrow{font-size:9px;margin-bottom:15px}.hero-copy h1{font-size:43px;line-height:1.5;margin-bottom:15px;letter-spacing:.12em}.hero-copy h1 br:nth-of-type(1){display:none}.hero-copy>p:not(.eyebrow){font-size:12px;padding:0;background:none}.hero-copy .text-link{margin-top:5px}.hero-bottom{bottom:15px;left:6%;right:6%;font-size:9px}.hero-bottom span:nth-child(2){display:none}.section{padding:65px 6%}h2{font-size:27px}.eyebrow{font-size:9px;margin-bottom:20px}.intro{gap:10px}.intro>div{display:block}.intro h2{font-size:29px;margin-bottom:25px}.intro p:not(.eyebrow){font-size:12px}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:18px}.section-heading>p{margin-top:20px}.feature-grid{display:block}.feature-grid .case-card{margin-bottom:35px}.feature-grid .case-card:first-child .case-image{aspect-ratio:1.3}.feature-grid .case-card:not(:first-child){display:block}.feature-grid .case-card:not(:first-child) .case-image{aspect-ratio:1.4}.feature-grid .case-card:not(:first-child) h3{font-size:24px}.case-card h3{font-size:24px}.feature-grid .case-card:not(:first-child) .case-meta{display:flex}.case-meta{font-size:10px}.service-list>a{position:relative;gap:17px;padding:23px 0;flex-wrap:wrap}.service-list h3{font-size:18px;max-width:calc(100% - 70px)}.service-desc{margin-left:33px;max-width:none;width:80%;font-size:10px;margin-top:-12px}.line-arrow{position:absolute;right:0;top:27px;font-size:20px}.philosophy{display:block}.philosophy>img{min-height:0;height:330px}.philosophy>div{padding:50px 7%}.contact-band{padding:60px 7%;display:block}.contact-band h2{font-size:30px}.round-link{margin-top:30px;border-radius:0;width:100%;height:auto;padding:20px;justify-content:space-between}.footer-top{grid-template-columns:1fr;gap:23px;padding-bottom:30px}.footer-top>div{align-items:start;flex-direction:row;flex-wrap:wrap;gap:18px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}footer{padding:45px 6% 100px}.mobile-contact{display:flex;justify-content:space-between;align-items:center;position:fixed;z-index:20;bottom:0;left:0;right:0;padding:15px 7% calc(15px + env(safe-area-inset-bottom));background:var(--ink);color:white;font-size:12px;box-shadow:0 -3px 20px #0001}.page-title{padding-top:45px;padding-bottom:40px}.page-title h1{font-size:34px;letter-spacing:.05em}.works-section{padding-top:0}.filter-bar{gap:8px}.filter-bar button{font-size:11px;padding:8px 13px}.works-grid{grid-template-columns:1fr;gap:40px}.works-grid .case-wrap:nth-child(even){padding-top:0}.about-intro{display:block;padding-top:0}.about-intro>img{height:310px;margin-bottom:35px}.about-intro h2{font-size:29px}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps h3{font-size:17px}.steps p{font-size:11px}.company{display:block}.company dl>div{grid-template-columns:85px 1fr;font-size:11px}.faq{padding-top:0}.contact-section{display:block;scroll-margin-top:25px}.contact-section form{margin-top:35px}.contact-section h2{font-size:32px}.phone{font-size:32px}.detail-content{padding:55px 6% 35px}.detail-content h2{font-size:29px}.detail-text{display:block}.detail-point p{font-size:18px}.detail-gallery{grid-template-columns:1fr}.detail-gallery img{height:280px}.detail-end{display:block}.detail-end .source-link{display:block;margin-bottom:15px}dialog{width:94vw;max-height:88svh}.dialog-close{padding:12px 18px}.detail-meta{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.nh-placeholder{display:grid;place-items:center;height:100%;min-height:250px;background:#e8ebe2;color:#697466;letter-spacing:.2em}.nh-article{max-width:1050px}.nh-article h1{font:500 clamp(28px,4vw,46px)/1.6 var(--serif);letter-spacing:.03em}.nh-article-cover{width:100%;height:auto;max-height:620px;object-fit:cover;margin:35px 0}.nh-content{line-height:2.2}.nh-content h2{font-size:27px;margin-top:50px}.nh-content h3{font-family:var(--serif);font-size:23px}.nh-content img{max-width:100%;height:auto}.nh-content figure{margin:25px 0}.nh-content a{color:var(--red);text-decoration:underline}.nh-content .nh-beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:20px}.nh-content figcaption{font-size:12px;color:var(--muted)}.nh-case-facts{display:grid;grid-template-columns:100px 1fr;gap:15px}.nh-case-facts dd{margin:0}.feature-grid:empty:after{content:"施工事例を準備しています。"}.wpcf7 form label{display:block}.wpcf7 input:not([type=checkbox]),.wpcf7 textarea,.wpcf7 select{width:100%}.wpcf7 input[type=submit]{background:var(--ink);color:white;padding:15px;cursor:pointer}body.admin-bar .header{top:32px}@media(max-width:782px){body.admin-bar .header{top:46px}}@media(max-width:600px){body.admin-bar .header{top:0}.nh-content .nh-beforeafter{grid-template-columns:1fr}}

/* Layout refinement: preserve the complete Instagram photographs. */
.case-card{display:block;min-width:0}
.case-image>img{object-fit:contain}
.case-card:hover .case-image>img{transform:none}
.works-grid{align-items:start}
.works-grid .case-wrap:nth-child(even){padding-top:0}
.nh-article{max-width:1120px;padding:64px 40px 80px}
.nh-article h1{font-size:clamp(27px,3.2vw,42px);line-height:1.65;margin:0 0 22px;text-wrap:pretty}
.nh-article .eyebrow{margin-bottom:18px}
.nh-article .small{margin-bottom:35px}
.nh-content{max-width:850px;margin:0 auto;font-size:15px}
.nh-content>p{max-width:720px;margin:0 0 22px}
.nh-content h2{font-size:25px;border-top:1px solid var(--line);padding-top:30px;margin:42px 0 24px}
.nh-content figure{margin:0 0 32px}
.nh-content figure img{width:100%;height:auto;max-height:740px;object-fit:contain;background:#e8e5de}
.nh-content figcaption{margin-top:10px;font-size:11px;letter-spacing:.04em}
.nh-article-cover{object-fit:contain;background:#e8e5de}
.nh-content a{display:inline-block;padding:10px 0;text-underline-offset:5px}
.filter-bar button{min-height:44px}
.round-link{flex-shrink:0}
.wpcf7-form-control-wrap{display:block;margin-left:0;font-size:inherit}
@media(max-width:720px){
 .nh-article{padding:40px 6% 55px}
 .nh-article h1{font-size:28px}
 .nh-content{font-size:14px;line-height:2.1}
 .nh-content h2{font-size:23px;margin-top:32px}
 .nh-content figure img{max-height:600px}
 .nh-content figure{margin-bottom:25px}
 .wpcf7 input:not([type=submit]),.wpcf7 textarea,.wpcf7 select{font-size:16px}
}

/* NICHIEI brand concept: supplied logo artwork, unchanged proportions. */
.nh-logo-window{display:block;position:relative;overflow:hidden;aspect-ratio:5.15;width:100%;mix-blend-mode:multiply}
.nh-logo-window img,.brand .nh-logo-window img{position:absolute;width:142%;max-width:none;height:auto;max-height:none;left:-21%;top:50%;transform:translateY(-48.4%);object-fit:initial}
.brand-name{display:block;font-size:10px;letter-spacing:.18em;margin-top:7px;text-align:center}
.footer-brand{display:block;width:220px;max-width:100%}
.footer-brand small{font-family:var(--sans);letter-spacing:.18em;text-align:center;margin-top:12px}
.nh-brand-story{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:center;border-top:1px solid var(--line)}
.nh-brand-display>p{font-family:var(--serif);font-size:20px;text-align:center;margin-top:30px}
.nh-brand-story>div>p:not(.eyebrow){line-height:2.2}
.hero-copy h1{font-size:clamp(44px,4.8vw,78px)}
@media(max-width:720px){.brand{width:165px}.brand-name{font-size:9px;margin-top:5px}.hero-copy h1{font-size:42px}.hero-copy h1 br:nth-of-type(1){display:initial}.nh-brand-story{grid-template-columns:1fr;gap:45px}.nh-brand-display{max-width:330px;margin:auto;width:100%}.nh-brand-display>p{font-size:17px}.page-title h1{font-size:30px}.footer-brand{width:200px}}

/* A house and an open entrance: original vector illustration, not a building plan. */
.hero.hero-line{height:auto;min-height:690px;max-height:none;padding:60px 7.5% 80px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:4%;border-bottom:1px solid var(--line)}
.hero-line .hero-copy{grid-column:1;grid-row:1;width:100%;padding:0;pointer-events:auto}
.hero-line .hero-copy h1{font-size:clamp(46px,4.8vw,76px);line-height:1.5;letter-spacing:.08em;text-shadow:none;margin-bottom:24px}
.hero-line .hero-copy h1 span{background:none;padding:0}
.hero-line .hero-copy>p:not(.eyebrow){font-size:15px;background:none;line-height:2.1;margin-bottom:20px}
.hero-line .hero-copy .text-link{background:none;font-size:13px}
.hero-drawing{grid-column:2;grid-row:1;width:100%;max-width:720px;justify-self:center}
.hero-drawing svg{display:block;width:100%;height:auto;overflow:visible}
.hero-disciplines{display:flex;justify-content:center;align-items:center;gap:23px;margin-top:12px;font-size:12px;letter-spacing:.15em;color:#62695d}
.hero-disciplines i{width:3px;height:3px;background:#ad5146;border-radius:50%}
.hero-line .hero-bottom{left:7.5%;right:7.5%;bottom:24px}
@media(min-width:1600px){.hero.hero-line{padding-top:75px;padding-bottom:95px;min-height:740px}}
@media(max-width:1050px){.hero.hero-line{min-height:620px;gap:1%;padding-left:6%;padding-right:6%}.hero-line .hero-copy h1{font-size:51px}.hero-disciplines{gap:15px;font-size:11px}}
@media(max-width:720px){.hero.hero-line{display:flex;flex-direction:column;align-items:stretch;padding:38px 6% 65px;gap:0;min-height:0}.hero-line .hero-copy{order:0;padding:0}.hero-line .hero-copy .eyebrow{margin-bottom:18px}.hero-line .hero-copy h1{font-size:42px;line-height:1.45;margin-bottom:18px}.hero-line .hero-copy>p:not(.eyebrow){font-size:13px;margin-bottom:12px}.hero-line .hero-copy .text-link{font-size:12px;margin-top:0}.hero-drawing{order:1;max-width:420px;align-self:center;margin-top:8px}.hero-drawing svg{max-height:280px}.hero-disciplines{margin-top:0;font-size:11px;gap:18px}.hero-line .hero-bottom{left:6%;right:6%;bottom:18px}.hero-line .hero-bottom a{display:none}}

/* Balanced hero spacing across desktop, tablet, and phone. */
.hero.hero-line{min-height:650px;padding:64px max(7.5%,calc((100% - 1380px)/2)) 76px;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,88px)}
.hero-line .hero-copy h1{font-size:clamp(46px,4.5vw,70px);line-height:1.38;letter-spacing:.07em;margin:0 0 24px}
.hero-line .hero-copy .eyebrow{margin-bottom:26px}
.hero-line .hero-copy>p:not(.eyebrow){padding:0;line-height:2;margin:0 0 24px}
.hero-line .hero-copy .text-link{margin:0;padding:9px 0}
.hero-drawing{max-width:560px;justify-self:start}
.hero-disciplines{margin-top:20px}
.hero-line .hero-bottom{left:max(7.5%,calc((100% - 1380px)/2));right:max(7.5%,calc((100% - 1380px)/2));bottom:22px}
@media(max-width:1050px) and (min-width:721px){.hero.hero-line{min-height:580px;padding:48px 6% 68px;gap:28px}.hero-line .hero-copy h1{font-size:48px}.hero-line .hero-copy>p:not(.eyebrow){font-size:13px}.hero-line .hero-bottom{left:6%;right:6%}.hero-disciplines{gap:14px;font-size:10px}}
@media(max-width:720px){.hero.hero-line{min-height:0;padding:32px 7% 58px;gap:0}.hero-line .hero-copy .eyebrow{margin-bottom:18px}.hero-line .hero-copy h1{font-size:40px;line-height:1.35;letter-spacing:.06em;margin-bottom:18px}.hero-line .hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-bottom:16px}.hero-line .hero-copy .text-link{font-size:12px;padding:8px 0}.hero-drawing{max-width:280px;margin-top:25px}.hero-drawing svg{max-height:none}.hero-disciplines{margin-top:10px;gap:16px;font-size:10px}.hero-line .hero-bottom{left:7%;right:7%;bottom:17px;font-size:8px}}
@media(max-width:360px){.hero-line .hero-copy h1{font-size:36px}.hero-drawing{max-width:250px}}

/* Explain the brand and operating company without crowding the main hero. */
.nh-brand-intro{padding-top:15px;padding-bottom:80px;max-width:1200px}
.nh-brand-intro>p{max-width:850px;line-height:2.2}
.nh-brand-intro .nh-brand-lead{font-size:17px;line-height:2}
.nh-name-note{margin-top:35px;padding:25px 30px;background:#eaece5;border-left:2px solid var(--red);max-width:850px}
.nh-name-note h3{font-family:var(--serif);font-size:22px;line-height:1.7;margin:0 0 15px}
.nh-name-note p{font-size:13px;line-height:2.1;margin:12px 0 0}
@media(max-width:720px){.nh-brand-intro{padding-top:0;padding-bottom:55px}.nh-brand-intro .nh-brand-lead{font-size:15px}.nh-brand-intro>p{font-size:13px}.nh-name-note{padding:22px 20px;margin-top:25px}.nh-name-note h3{font-size:20px}.company dl>div{grid-template-columns:100px 1fr}}


