 :root{--ink:#0d1821;--ink2:#142532;--copper:#e66e2b;--copper-light:#ff9954;--paper:#f5f6f7;--muted:#64717b}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:Inter,Arial,sans-serif;color:#18232c;background:var(--paper);line-height:1.7}h1,h2,h3,h4,.brand-wordmark{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;line-height:1.04}a{transition:color .2s,background-color .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ffad68;outline-offset:3px}.skip-link{position:absolute;top:-100px;left:20px;background:white;color:#111;padding:12px;z-index:10000}.skip-link:focus{top:12px}.container-xl{max-width:1320px}.site-header{position:sticky;top:0;z-index:1000;background:rgba(10,20,29,.97);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px)}.navbar{padding:15px 0}.brand-logo,.custom-logo{width:67px;height:67px;object-fit:contain;border-radius:50%}.custom-logo-link{display:block}.brand-wordmark{color:white;font-size:25px;letter-spacing:.015em;white-space:nowrap}.brand-wordmark small{display:block;color:var(--copper-light);font-size:19px;letter-spacing:.04em}.navbar-dark .navbar-nav .nav-link{color:#d9e1e7;font-size:14px;font-weight:700;padding:10px 5px}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .current-menu-item>.nav-link{color:var(--copper-light)}.btn{border-radius:7px;font-weight:750;padding:14px 25px;font-size:14px;letter-spacing:.01em}.btn-lg{padding:17px 31px}.btn-accent{background:var(--copper);border:1px solid var(--copper);color:white}.btn-accent:hover{background:#bb5019;border-color:#bb5019;color:white;transform:translateY(-2px)}.btn-outline-light:hover{color:var(--ink)}.hero-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 20%,rgba(44,107,137,.45),transparent 46%),linear-gradient(105deg,#09121b 4%,#142532 68%,#0a1118);color:white}.hero-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(6,14,20,.88) 0%,rgba(6,14,20,.55) 65%,rgba(6,14,20,.3)),var(--hero-image,linear-gradient(125deg,transparent,transparent));background-size:cover;background-position:center;opacity:.95}.hero-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:75px 75px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-inner{position:relative;padding-top:125px;padding-bottom:135px}.eyebrow,.section-kicker,.micro-label{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--copper-light)}.eyebrow{display:flex;align-items:center;gap:15px;margin-bottom:26px}.eyebrow-line{height:2px;width:35px;background:var(--copper)}.hero-title{font-size:clamp(58px,6.6vw,112px);max-width:850px;text-transform:uppercase;letter-spacing:-.018em;margin-bottom:27px}.hero-lead{font-size:clamp(17px,1.5vw,21px);max-width:650px;color:#d7e0e5;line-height:1.75;margin-bottom:36px}.hero-features span{font-size:13px;font-weight:700;color:#dce4e8}.hero-features i{color:var(--copper-light);margin-right:8px}.hero-info{background:rgba(10,20,29,.83);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:34px;box-shadow:0 20px 70px rgba(0,0,0,.24);backdrop-filter:blur(8px)}.hero-info .info-icon{font-size:28px;color:var(--copper-light);margin-bottom:14px}.hero-info p{margin:10px 0;font-weight:600;line-height:1.6}.hero-info a{color:white}.hero-info>a{color:var(--copper-light);font-size:13px}.hero-info hr{border-color:rgba(255,255,255,.2);margin:25px 0}.feature-strip{background:#101f2b;color:white;padding:33px 0}.feature-strip .row>div{display:flex;align-items:center;gap:20px;padding-left:32px}.feature-strip i{font-size:32px;color:var(--copper-light)}.feature-strip strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:21px;line-height:1.2}.feature-strip span{display:block;color:#b8c5cc;font-size:13px}.section-space{padding:115px 0}.section-light{background:#f6f7f8}.section-dark{background:radial-gradient(circle at 85% 10%,#20394a,#0b1721 68%);color:white}.section-heading{font-size:clamp(42px,4vw,66px);text-transform:uppercase;letter-spacing:-.01em;margin:16px 0 22px}.section-heading span{color:var(--copper)}.section-intro{font-size:17px;color:#60707a;max-width:680px;line-height:1.85}.section-dark .section-intro,.process-section .section-intro,.faq-section .section-intro,.contact-section .section-intro{color:#b8c6d0}.section-heading-block{margin-bottom:60px}.section-kicker{color:#c95a1c}.section-dark .section-kicker,.process-section .section-kicker,.faq-section .section-kicker,.contact-section .section-kicker{color:var(--copper-light)}.text-link{color:#bb4c13;text-decoration:none;font-weight:800}.text-link i{margin-left:10px}.text-link:hover{color:#8e360a}.service-card{background:white;border:1px solid #e4e9ed;border-radius:12px;padding:42px 35px;min-height:360px;height:100%;box-shadow:0 16px 45px rgba(14,31,45,.05);transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(14,31,45,.12)}.service-icon,.material-icon{display:grid;place-items:center;background:#fff0e7;color:#c7581d;width:67px;height:67px;border-radius:10px;font-size:26px;margin-bottom:35px}.service-index{font-size:11px;color:#9b6b50;font-weight:800;letter-spacing:.13em}.service-card h3{font-size:32px;margin:12px 0 15px}.service-card p{font-size:14px;color:#65737d;line-height:1.85}.card-link{display:inline-block;margin-top:15px;color:#bc521b;font-size:14px;font-weight:800;text-decoration:none}.card-link i{margin-left:8px}.material-card{height:100%;display:flex;gap:24px;align-items:flex-start;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:35px 27px;position:relative;transition:background .25s,transform .25s}.material-card:hover{background:rgba(255,255,255,.09);transform:translateY(-4px)}.material-icon{background:rgba(230,110,43,.14);color:#ff9d5f;flex-shrink:0;width:58px;height:58px;margin:0}.material-card h3{font-size:29px;margin:3px 0 12px}.material-card p{font-size:13px;color:#b9c6ce;line-height:1.8;margin:0}.material-arrow{position:absolute;right:19px;bottom:15px;color:#e58a55;font-size:12px}.about-visual{min-height:480px;border-radius:14px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#36556b,#0c1823 65%);border:12px solid white;box-shadow:0 22px 70px rgba(14,31,45,.13)}.about-visual:before{content:"";position:absolute;inset:30px;border:1px solid rgba(255,255,255,.14);border-radius:50%}.about-mark{font-size:145px;color:#e77935;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}.about-stamp{position:absolute;bottom:30px;left:30px;right:30px;padding:18px;background:rgba(7,15,23,.8);text-align:center;color:white;font-family:'Barlow Condensed';font-weight:800;font-size:25px;letter-spacing:.05em}.about-stamp span{color:#f3a16b}.about-point{font-size:14px;font-weight:750}.about-point i{color:#dc6b2e;margin-right:12px}.process-section,.faq-section{background:#10212e;color:white}.process-card{height:100%;padding:35px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.035)}.process-card>span{font-family:'Barlow Condensed';font-size:56px;font-weight:900;color:#e77837}.process-card h3{font-size:28px;margin:20px 0 12px}.process-card p{color:#bdc8cf;font-size:14px}.project-card{display:block;background:white;color:#1a2730;text-decoration:none;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px rgba(15,35,49,.07);height:100%;transition:transform .25s}.project-card:hover{transform:translateY(-5px);color:#1a2730}.project-image{height:255px;background:#162c3c;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project-card:hover img{transform:scale(1.05)}.project-placeholder{height:100%;display:grid;place-items:center;font-size:64px;color:#607f91}.project-caption{padding:26px}.project-caption h2,.project-caption h3{font-size:28px}.project-caption span{color:#bf551e;font-size:13px;font-weight:800}.empty-projects{text-align:center;border:2px dashed #cfd9df;padding:70px 20px;border-radius:12px}.empty-projects i{font-size:45px;color:#c46b39}.empty-projects h3{font-size:34px;margin-top:20px}.accordion-item{background:#162b3a;color:white;border:1px solid rgba(255,255,255,.12);margin-bottom:12px;border-radius:8px!important;overflow:hidden}.accordion-button{background:#162b3a;color:white;font-weight:700;padding:23px}.accordion-button:not(.collapsed){background:#203b4c;color:#fff;box-shadow:none}.accordion-button:after{filter:brightness(0) invert(1)}.accordion-body{color:#d0dce3}.contact-section{background:linear-gradient(135deg,#0b1721,#1b3647);color:white}.contact-detail{display:flex;align-items:flex-start;gap:20px;margin-top:33px}.contact-detail>i{color:#ff9657;font-size:23px;margin-top:4px}.contact-detail strong,.contact-detail span{display:block}.contact-detail span,.contact-detail a{color:#d4dfe5;text-decoration:none}.quote-panel{background:white;color:#152633;padding:45px;border-radius:13px;box-shadow:0 25px 65px rgba(0,0,0,.17)}.quote-panel h3{font-size:40px}.quote-panel>p{color:#667783}.form-label{font-size:13px;font-weight:750}.form-control,.form-select{padding:14px;border-color:#d7e0e5;background:#f9fafb;border-radius:7px}.form-control:focus,.form-select:focus{border-color:#e66e2b;box-shadow:0 0 0 .2rem rgba(230,110,43,.14)}.trinity-honeypot{position:absolute;left:-9999px;top:-9999px}.site-footer{background:#08131b;color:#c3ced6;padding:85px 0 0}.site-footer h3{color:white;font-size:25px;margin-bottom:23px}.footer-brand{font-size:34px;color:white}.footer-brand span{color:var(--copper-light);display:block}.site-footer p{font-size:14px}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:12px}.site-footer a{color:#c3ced6;text-decoration:none}.site-footer a:hover{color:var(--copper-light)}.footer-direction{color:var(--copper-light)!important}.social-links a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #3b5363;border-radius:50%}.footer-bottom{border-top:1px solid #263845;padding:28px 0;margin-top:75px;font-size:12px}.inner-main{min-height:60vh}.entry-content{font-size:17px;line-height:1.9}.entry-content img{max-width:100%;height:auto}.single-featured img{width:100%;height:auto;border-radius:12px}.content-card{background:white;border:1px solid #e4e9ed;border-radius:10px;padding:35px;height:100%}.content-card h2{font-size:30px}.content-card h2 a{text-decoration:none;color:#162a38}.content-card p{color:#687681}@media(min-width:992px){.navbar .navbar-collapse{justify-content:flex-end}}@media(max-width:991px){.section-space{padding:80px 0}.hero-inner{padding:100px 0}.hero-title{font-size:clamp(55px,10vw,85px)}.nav-quote{margin-top:20px}.navbar-collapse{padding:25px 0}.hero-info{max-width:520px}.about-visual{min-height:370px}}@media(max-width:575px){.section-space{padding:65px 0}.hero-inner{padding:78px 0}.hero-title{font-size:clamp(50px,13vw,68px)}.brand-logo,.custom-logo{width:49px;height:49px}.brand-wordmark{font-size:19px}.brand-wordmark small{font-size:14px}.section-heading{font-size:43px}.service-card,.quote-panel{padding:28px 23px}.material-card{padding:27px 21px}.feature-strip .row>div{padding-left:18px}.hero-info{padding:26px}.about-visual{min-height:300px}.about-mark{font-size:100px}.about-stamp{font-size:18px}.btn-lg{padding:15px 21px}.footer-bottom{margin-top:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* v1.1 refinement: comfortable rhythm, tactile cards, clearer form states */
:root { --trinity-section-spacing: clamp(4.5rem, 8vw, 8rem); }
.section-space { padding-top: var(--trinity-section-spacing); padding-bottom: var(--trinity-section-spacing); }
.section-heading-block { margin-bottom: clamp(2.5rem, 4vw, 4.5rem); }
.service-card, .material-card, .process-card { height:100%; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover, .material-card:hover, .process-card:hover { transform:translateY(-5px); box-shadow:0 18px 42px rgba(0,0,0,.12); }
.quote-panel { padding:clamp(1.5rem,4vw,3.25rem); }
.trinity-quote-form .form-control, .trinity-quote-form .form-select { min-height:3.25rem; padding:.85rem 1rem; }
.trinity-quote-form textarea.form-control { min-height:10rem; }
.trinity-quote-form .form-label { margin-bottom:.65rem; font-weight:650; }
.trinity-quote-form .form-control:focus, .trinity-quote-form .form-select:focus { border-color:#e18a47; box-shadow:0 0 0 .2rem rgba(225,138,71,.18); }
.quote-privacy { font-size:.88rem; opacity:.8; margin-bottom:1rem; }
.quote-privacy i { margin-right:.45rem; }
.trinity-back-to-top { position:fixed; right:1.25rem; bottom:1.25rem; z-index:90; width:3rem; height:3rem; border:1px solid rgba(255,255,255,.2); border-radius:.75rem; color:#fff; background:#ba612a; box-shadow:0 8px 25px rgba(0,0,0,.22); opacity:0; visibility:hidden; transform:translateY(10px); transition:all .2s ease; }
.trinity-back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }
:where(a,button,input,textarea,select):focus-visible { outline:3px solid #f5ad69; outline-offset:3px; }
@media(max-width:767.98px) { :root { --trinity-section-spacing:4.25rem; } .hero-inner { padding-top:5rem; padding-bottom:5rem; } .trinity-back-to-top { bottom:1rem; right:1rem; } }
@media(prefers-reduced-motion:reduce) { .service-card,.material-card,.process-card,.trinity-back-to-top { transition:none!important; transform:none!important; } html { scroll-behavior:auto!important; } }


/* Trinity v1.2 — unified spacing, alignment and component system */
:root {
  --tw-container: 1280px;
  --tw-space-section: clamp(4.5rem, 7.5vw, 7.5rem);
  --tw-space-heading: clamp(2rem, 4vw, 3.5rem);
  --tw-gap: clamp(1.25rem, 2vw, 2rem);
  --tw-radius: 14px;
  --tw-border-light: #dce3e8;
  --tw-shadow: 0 16px 45px rgba(13, 24, 33, .07);
}
*, *::before, *::after { box-sizing: border-box; }
body { overflow-wrap: break-word; }
.container-xl { max-width: var(--tw-container); padding-left: clamp(1.25rem, 3vw, 2rem); padding-right: clamp(1.25rem, 3vw, 2rem); }
.row { --bs-gutter-x: clamp(1.5rem, 2.5vw, 2.5rem); }
.row.g-4, .row.g-5 { --bs-gutter-x: var(--tw-gap); --bs-gutter-y: var(--tw-gap); }
.section-space { padding-block: var(--tw-space-section); }
.section-heading-block, .row.section-heading-block { margin-bottom: var(--tw-space-heading) !important; }
.section-kicker { display: block; margin-bottom: 1rem; line-height: 1.4; }
.section-heading { margin: 0 0 1.35rem; max-width: 850px; line-height: 1.07; text-wrap: balance; }
.text-center .section-heading { margin-inline: auto; }
.section-intro { margin: 0; line-height: 1.8; }
.section-heading-block .section-intro { margin-top: .15rem; }
.section-heading-block .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.section-heading-block > [class*="col-"] > .text-link { margin-bottom: .25rem; }
.hero-inner { padding-block: clamp(5rem, 9vw, 8rem); }
.hero-title { margin-bottom: 1.5rem; line-height: 1; text-wrap: balance; }
.hero-lead { margin-bottom: 2rem; }
.hero-features { row-gap: 1rem !important; column-gap: 1.5rem !important; }
.hero-info { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--tw-radius); }
.feature-strip { padding-block: 2rem; }
.feature-strip .row > div { padding-left: calc(var(--bs-gutter-x) * .5); gap: 1rem; }
.service-card, .material-card, .process-card, .project-card, .quote-panel, .content-card { border-radius: var(--tw-radius); }
.service-card, .process-card { padding: clamp(1.65rem, 3vw, 2.5rem); min-height: 0; }
.service-card { display: flex; flex-direction: column; box-shadow: var(--tw-shadow); }
.service-icon { margin-bottom: 1.75rem; }
.service-card h3 { margin: .75rem 0 1rem; line-height: 1.15; }
.service-card p { margin: 0 0 1.5rem; }
.service-card .card-link { margin-top: auto; padding-top: .5rem; min-height: 44px; display: inline-flex; align-items: center; }
.material-card { padding: clamp(1.5rem, 2.6vw, 2.25rem); gap: 1.25rem; align-items: flex-start; }
.material-card h3 { margin: 0 0 .65rem; line-height: 1.15; }
.material-card p { font-size: .9rem; line-height: 1.7; }
.material-icon { width: 56px; height: 56px; }
.about-visual { border-width: 8px; border-radius: var(--tw-radius); }
.about-point { line-height: 1.6; }
.process-card { display: flex; flex-direction: column; }
.process-card > span { line-height: 1; }
.process-card h3 { margin: 1.5rem 0 .75rem; }
.process-card p { margin: 0; line-height: 1.75; }
.project-caption { padding: 1.75rem; }
.project-caption h3 { margin: 0 0 .75rem; }
.accordion-item { margin-bottom: 1rem; }
.accordion-button { padding: 1.35rem 1.5rem; line-height: 1.5; }
.accordion-body { padding: 0 1.5rem 1.5rem; line-height: 1.75; }
.quote-panel { padding: clamp(1.75rem, 4vw, 3rem); }
.quote-panel h3 { margin-bottom: .75rem; }
.quote-panel > p { margin-bottom: 1.75rem; }
.contact-detail { margin-top: 1.75rem; }
.site-footer { padding-top: clamp(4rem, 6vw, 6rem); }
.site-footer h3 { margin-bottom: 1.5rem; }
.footer-bottom { margin-top: clamp(3rem, 5vw, 5rem); }
.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .25rem; }
.btn-lg { min-height: 54px; }
@media (max-width: 991.98px) {
  :root { --tw-space-section: 5rem; }
  .navbar-collapse { padding-block: 1.25rem; }
  .hero-inner { padding-block: 5rem; }
  .section-heading { max-width: 100%; }
  .feature-strip .row > div { padding-block: .25rem; }
}
@media (max-width: 767.98px) {
  :root { --tw-space-section: 4rem; --tw-space-heading: 2.25rem; }
  .hero-inner { padding-block: 4.5rem; }
  .hero-title { font-size: clamp(3.15rem, 12vw, 5rem); }
  .section-heading { font-size: clamp(2.5rem, 9vw, 3.5rem); }
  .section-heading-block > [class*="col-"] > .text-link { margin-top: .5rem; }
  .material-card { padding: 1.5rem; }
  .feature-strip { padding-block: 1.75rem; }
  .feature-strip .row > div { padding-block: .5rem; }
  .about-visual { min-height: 310px; }
}
@media (max-width: 575.98px) {
  .container-xl { padding-inline: 1.25rem; }
  .hero-inner { padding-block: 4rem; }
  .hero-features { gap: .85rem 1.25rem !important; }
  .hero-info { padding: 1.5rem; }
  .service-card, .process-card, .quote-panel { padding: 1.6rem; }
  .material-card { flex-direction: row; }
  .material-icon { width: 48px; height: 48px; font-size: 1.25rem; }
  .btn-lg { width: 100%; }
  .hero-inner .d-flex.flex-wrap.gap-3 { flex-direction: column; }
  .project-image { height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card:hover, .material-card:hover, .process-card:hover, .project-card:hover { transform: none; }
}


/* Trinity v1.2 — unified spacing, alignment and component system */
:root {
  --tw-container: 1280px;
  --tw-space-section: clamp(4.5rem, 7.5vw, 7.5rem);
  --tw-space-heading: clamp(2rem, 4vw, 3.5rem);
  --tw-gap: clamp(1.25rem, 2vw, 2rem);
  --tw-radius: 14px;
  --tw-border-light: #dce3e8;
  --tw-shadow: 0 16px 45px rgba(13, 24, 33, .07);
}
*, *::before, *::after { box-sizing: border-box; }
body { overflow-wrap: break-word; }
.container-xl { max-width: var(--tw-container); padding-left: clamp(1.25rem, 3vw, 2rem); padding-right: clamp(1.25rem, 3vw, 2rem); }
.row { --bs-gutter-x: clamp(1.5rem, 2.5vw, 2.5rem); }
.row.g-4, .row.g-5 { --bs-gutter-x: var(--tw-gap); --bs-gutter-y: var(--tw-gap); }
.section-space { padding-block: var(--tw-space-section); }
.section-heading-block, .row.section-heading-block { margin-bottom: var(--tw-space-heading) !important; }
.section-kicker { display: block; margin-bottom: 1rem; line-height: 1.4; }
.section-heading { margin: 0 0 1.35rem; max-width: 850px; line-height: 1.07; text-wrap: balance; }
.text-center .section-heading { margin-inline: auto; }
.section-intro { margin: 0; line-height: 1.8; }
.section-heading-block .section-intro { margin-top: .15rem; }
.section-heading-block .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.section-heading-block > [class*="col-"] > .text-link { margin-bottom: .25rem; }
.hero-inner { padding-block: clamp(5rem, 9vw, 8rem); }
.hero-title { margin-bottom: 1.5rem; line-height: 1; text-wrap: balance; }
.hero-lead { margin-bottom: 2rem; }
.hero-features { row-gap: 1rem !important; column-gap: 1.5rem !important; }
.hero-info { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--tw-radius); }
.feature-strip { padding-block: 2rem; }
.feature-strip .row > div { padding-left: calc(var(--bs-gutter-x) * .5); gap: 1rem; }
.service-card, .material-card, .process-card, .project-card, .quote-panel, .content-card { border-radius: var(--tw-radius); }
.service-card, .process-card { padding: clamp(1.65rem, 3vw, 2.5rem); min-height: 0; }
.service-card { display: flex; flex-direction: column; box-shadow: var(--tw-shadow); }
.service-icon { margin-bottom: 1.75rem; }
.service-card h3 { margin: .75rem 0 1rem; line-height: 1.15; }
.service-card p { margin: 0 0 1.5rem; }
.service-card .card-link { margin-top: auto; padding-top: .5rem; min-height: 44px; display: inline-flex; align-items: center; }
.material-card { padding: clamp(1.5rem, 2.6vw, 2.25rem); gap: 1.25rem; align-items: flex-start; }
.material-card h3 { margin: 0 0 .65rem; line-height: 1.15; }
.material-card p { font-size: .9rem; line-height: 1.7; }
.material-icon { width: 56px; height: 56px; }
.about-visual { border-width: 8px; border-radius: var(--tw-radius); }
.about-point { line-height: 1.6; }
.process-card { display: flex; flex-direction: column; }
.process-card > span { line-height: 1; }
.process-card h3 { margin: 1.5rem 0 .75rem; }
.process-card p { margin: 0; line-height: 1.75; }
.project-caption { padding: 1.75rem; }
.project-caption h3 { margin: 0 0 .75rem; }
.accordion-item { margin-bottom: 1rem; }
.accordion-button { padding: 1.35rem 1.5rem; line-height: 1.5; }
.accordion-body { padding: 0 1.5rem 1.5rem; line-height: 1.75; }
.quote-panel { padding: clamp(1.75rem, 4vw, 3rem); }
.quote-panel h3 { margin-bottom: .75rem; }
.quote-panel > p { margin-bottom: 1.75rem; }
.contact-detail { margin-top: 1.75rem; }
.site-footer { padding-top: clamp(4rem, 6vw, 6rem); }
.site-footer h3 { margin-bottom: 1.5rem; }
.footer-bottom { margin-top: clamp(3rem, 5vw, 5rem); }
.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .25rem; }
.btn-lg { min-height: 54px; }
@media (max-width: 991.98px) {
  :root { --tw-space-section: 5rem; }
  .navbar-collapse { padding-block: 1.25rem; }
  .hero-inner { padding-block: 5rem; }
  .section-heading { max-width: 100%; }
  .feature-strip .row > div { padding-block: .25rem; }
}
@media (max-width: 767.98px) {
  :root { --tw-space-section: 4rem; --tw-space-heading: 2.25rem; }
  .hero-inner { padding-block: 4.5rem; }
  .hero-title { font-size: clamp(3.15rem, 12vw, 5rem); }
  .section-heading { font-size: clamp(2.5rem, 9vw, 3.5rem); }
  .section-heading-block > [class*="col-"] > .text-link { margin-top: .5rem; }
  .material-card { padding: 1.5rem; }
  .feature-strip { padding-block: 1.75rem; }
  .feature-strip .row > div { padding-block: .5rem; }
  .about-visual { min-height: 310px; }
}
@media (max-width: 575.98px) {
  .container-xl { padding-inline: 1.25rem; }
  .hero-inner { padding-block: 4rem; }
  .hero-features { gap: .85rem 1.25rem !important; }
  .hero-info { padding: 1.5rem; }
  .service-card, .process-card, .quote-panel { padding: 1.6rem; }
  .material-card { flex-direction: row; }
  .material-icon { width: 48px; height: 48px; font-size: 1.25rem; }
  .btn-lg { width: 100%; }
  .hero-inner .d-flex.flex-wrap.gap-3 { flex-direction: column; }
  .project-image { height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card:hover, .material-card:hover, .process-card:hover, .project-card:hover { transform: none; }
}


/* v1.3 — photographic image system: standardized ratios, overlays and consistent rhythm */
.hero-section::before { background-image:linear-gradient(90deg,rgba(6,14,20,.55) 0%,rgba(6,14,20,.16) 58%,rgba(6,14,20,.34) 100%),var(--hero-image); background-position:center; background-size:cover; opacity:1; }
.service-card { padding:0; overflow:hidden; }
.service-photo { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:#172834; }
.service-photo::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(8,18,25,.46)); pointer-events:none; }
.service-photo img,.material-photo img,.about-visual>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.service-card:hover .service-photo img,.material-card:hover .material-photo img { transform:scale(1.045); }
.service-photo .service-icon { position:absolute; bottom:1rem; left:1.35rem; z-index:2; margin:0; width:56px; height:56px; border:1px solid rgba(255,255,255,.22); background:rgba(12,27,37,.90); color:#ff9c5c; box-shadow:0 8px 25px rgba(0,0,0,.25); }
.service-body { padding:clamp(1.5rem,2.8vw,2.3rem); display:flex; flex-direction:column; flex:1; }
.service-body h3 { margin:.7rem 0 1rem; }
.service-body .card-link { margin-top:auto; }
.material-card { padding:0; overflow:hidden; display:flex; flex-direction:column; gap:0; background:#142936; border-color:rgba(255,255,255,.12); }
.material-photo { aspect-ratio:16/8.5; width:100%; overflow:hidden; background:#1b3342; }
.material-body { padding:clamp(1.4rem,2.5vw,2rem); display:flex; gap:1.25rem; align-items:flex-start; flex:1; }
.material-body .material-icon { margin:0; flex-shrink:0; }
.material-body h3 { margin:0 0 .7rem; }
.material-body p { margin:0; }
.about-visual { background:#14232d; padding:0; border:0; min-height:440px; }
.about-visual::before { display:none; }
.about-visual>img { position:absolute; inset:0; }
.about-visual::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(5,13,21,.65)); pointer-events:none; }
.about-stamp { z-index:1; bottom:1.5rem; left:1.5rem; right:1.5rem; border-radius:6px; font-size:clamp(1.35rem,3vw,1.8rem); }
.empty-projects { position:relative; overflow:hidden; isolation:isolate; border:0; background:#112633; color:#fff; min-height:340px; display:grid; place-items:center; text-align:center; padding:clamp(2rem,6vw,4.5rem); }
.empty-projects:before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--empty-photo); background-size:cover; background-position:center 45%; }
.empty-projects:after { content:""; position:absolute; inset:0; z-index:-1; background:rgba(6,20,30,.77); }
.empty-projects-inner { max-width:610px; }
.empty-projects h3 { color:white; }
.empty-projects p { color:#d5dfe5; }
.empty-projects .btn { margin-top:.7rem; }
.contact-section { position:relative; isolation:isolate; }
.contact-section::before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--contact-photo); background-size:cover; background-position:center; opacity:.26; }
.contact-section::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,22,32,.93),rgba(16,39,55,.85)); }
@media(max-width:767.98px){
 .service-photo { aspect-ratio:16/9; }
 .material-photo { aspect-ratio:16/8; }
 .material-body { padding:1.5rem; }
 .hero-section::before { background-image:linear-gradient(90deg,rgba(4,13,22,.80),rgba(4,13,22,.67)),var(--hero-image); background-position:65% center; }
 .about-visual { min-height:350px; }
}
@media(prefers-reduced-motion:reduce){.service-photo img,.material-photo img,.about-visual>img{transition:none;}}
