/* Island introduction, scope, service list and benefits: shared editorial rhythm. */
.island-feature-editorial { padding: 60px 0; }
.island-editorial-inner { max-width: 1280px; padding: 0 32px; margin: auto; }
.island-feature-editorial h2 { margin: 12px 0 0; color: #0d160f; font-size: clamp(28px, 3.1vw, 42px); line-height: 1.12; font-weight: 750; letter-spacing: -.04em; }
.island-feature-editorial p { text-align: left; }
.island-editorial-heading { margin-bottom: 28px; }
.island-editorial-heading > span, .island-editorial-intro-copy > span { color: #226b34; font-size: 11px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.island-intro-editorial { padding: 0; background: #fff; }
.island-editorial-split { display: grid; grid-template-columns: 1fr 1.08fr; gap: 40px; align-items: stretch; }
.island-editorial-intro-copy { padding: 48px 0; }
.island-editorial-intro-copy .space-y-4 { margin-top: 22px; }
.island-editorial-intro-copy p { color: #536052; font-size: 15px; line-height: 1.7; }
.island-editorial-intro-copy > a { border-radius: 7px; }
.island-editorial-intro-photo { position: relative; min-height: 590px; }
.island-editorial-main-photo { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.island-editorial-detail { position: absolute; bottom: 28px; left: 24px; width: 36%; aspect-ratio: 1.15; border: 4px solid #fff; border-radius: 9px; overflow: hidden; box-shadow: 0 8px 25px #0003; }
.island-editorial-detail img { width: 100%; height: 100%; object-fit: cover; object-position: 35% 80%; transform: scale(1.8); }
.island-scope-editorial { background: #f3f8f1; padding: 40px 0; }
.island-scope-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.island-scope-step { padding-right: 24px; }
.island-scope-step + .island-scope-step { padding-left: 28px; border-left: 1px solid #cddccc; }
.island-scope-visual { position: relative; height: 155px; }
.island-scope-visual > span { position: absolute; top: 6px; left: 0; color: #94bf91; font-size: 48px; line-height: 1; font-weight: 750; letter-spacing: -.06em; }
.island-scope-drawing { display: block; width: 80%; height: 155px; margin-left: auto; }
.island-feature-editorial h3 { color: #101a12; font-size: 18px; font-weight: 700; line-height: 1.25; letter-spacing: -.02em; }
.island-scope-step h3 { max-width: 280px; margin: 12px 0 8px; font-size: 21px; }
.island-scope-step p { color: #536052; font-size: 15px; line-height: 1.55; }
.island-services-editorial { padding: 48px 0 38px; background: #fff; }
.island-services-banner { display: block; width: 100%; height: 225px; object-fit: cover; object-position: center 56%; border-radius: 8px; }
.island-service-rows { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 6px; }
.island-service-row { position: relative; display: grid; grid-template-columns: 44px 1fr; align-content: start; gap: 17px; padding: 24px 22px; border-bottom: 1px solid #dbe2d8; }
.island-service-row:nth-child(3n+1) { padding-left: 0; }
.island-service-row:nth-child(3n) { padding-right: 0; }
.island-service-row:not(:nth-child(3n))::after { content: ''; position: absolute; right: 0; top: 25px; bottom: 25px; border-right: 1px solid #dbe2d8; }
.island-service-row:nth-last-child(-n+3) { border-bottom: 0; }
.island-service-row > svg { width: 40px; height: 40px; color: #24713c; }
.island-service-row h3 { margin: 0 0 7px; font-size: 17px; }
.island-service-row p { margin: 0; color: #536052; font-size: 13px; line-height: 1.55; }
.island-benefits-editorial { padding: 38px 0; background: radial-gradient(ellipse at 20% 0,#1c3b28,#0d2117 70%); }
.island-benefits-editorial h2,.island-benefits-editorial .island-benefit-row h3 { color: #fff; }
.island-benefits-editorial .island-editorial-heading > span { color: #8fda93; }
.island-benefits-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 32px; align-items: stretch; }
.island-benefits-photo { width: 100%; height: 100%; min-height: 290px; object-fit: cover; border-radius: 9px; }
.island-benefit-rows { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
.island-benefit-row { display: grid; grid-template-columns: 40px 1fr; align-content: start; gap: 15px; padding: 15px 18px; }
.island-benefit-row:nth-child(-n+2) { border-bottom: 1px solid #42604b; }
.island-benefit-row:nth-child(odd) { border-right: 1px solid #42604b; padding-left: 0; }
.island-benefit-row > svg { width: 36px; height: 36px; color: #8fda75; stroke-width: 1.5; }
.island-benefit-row h3 { margin: 0 0 7px; font-size: 17px; }
.island-benefit-row p { margin: 0; color: #d3dfd1; font-size: 13px; line-height: 1.55; }
.island-worth-note { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 22px; margin-top: 22px; padding: 18px 22px; border-radius: 9px; background: #f2f8ef; }
.island-worth-note > svg { width: 38px; height: 38px; color: #24713c; }
.island-worth-note > div { padding-left: 22px; border-left: 1px solid #afc6ad; }
.island-worth-note h3 { margin: 0 0 5px; font-size: 17px; }
.island-worth-note p { margin: 0; color: #45644a; font-size: 13px; line-height: 1.6; }
@media(max-width:1023px) {
 .island-editorial-split { gap: 28px; grid-template-columns: 1fr 1fr; }
 .island-editorial-intro-copy p { font-size: 14px; }
 .island-service-rows { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .island-service-row:nth-child(n) { padding: 22px 16px; border-bottom: 1px solid #dbe2d8; }
 .island-service-row:nth-child(n)::after { display: none; }
 .island-service-row:nth-child(odd) { padding-left: 0; border-right: 1px solid #dbe2d8; }
 .island-service-row:last-child { border-bottom: 0; }
 .island-benefits-layout { grid-template-columns: 1fr; }
 .island-benefits-photo { height: 330px; }
 .island-scope-step + .island-scope-step { padding-left: 18px; }
 .island-scope-steps { gap: 18px; }
 .island-scope-step { padding-right: 0; }
}
@media(max-width:680px) {
 .island-editorial-inner { padding: 0 20px; }
 .island-feature-editorial { padding: 36px 0; }
 .island-intro-editorial { padding: 0 0 36px; }
 .island-editorial-split { grid-template-columns: 1fr; gap: 0; }
 .island-editorial-intro-copy { padding: 38px 0 28px; }
 .island-editorial-intro-photo { min-height: 360px; }
 .island-editorial-detail { width: 34%; bottom: 18px; left: 18px; }
 .island-scope-steps { grid-template-columns: 1fr; gap: 24px; }
 .island-scope-step:nth-child(n) { padding: 0 0 24px; border-left: 0; border-bottom: 1px solid #cddccc; }
 .island-scope-step:last-child { border: 0; padding-bottom: 0; }
 .island-scope-visual { height: 145px; }
 .island-scope-drawing { width: 75%; max-width: 250px; height: 145px; margin: 0 auto; }
 .island-scope-step h3 { max-width: none; }
 .island-service-rows { grid-template-columns: 1fr; }
 .island-service-row:nth-child(n) { padding: 20px 0; border-right: 0; }
 .island-services-banner { height: 190px; }
 .island-benefits-photo { min-height: 0; height: 240px; }
 .island-benefit-rows { grid-template-columns: 1fr; }
 .island-benefit-row:nth-child(n) { padding: 18px 0; border-right: 0; border-bottom: 1px solid #42604b; }
 .island-benefit-row:last-child { border-bottom: 0; }
 .island-worth-note { grid-template-columns: 30px 1fr; gap: 12px; padding: 18px 15px; }
 .island-worth-note > svg { width: 28px; height: 28px; }
 .island-worth-note > div { padding-left: 14px; }
}

/* Refined perspective illustrations: allow space for sinks, drawers and stools. */
.island-scope-visual { height: 184px; }
.island-scope-drawing { width: 88%; height: 184px; }
@media(max-width:680px) { .island-scope-visual { height: 174px; } .island-scope-drawing { width: 88%; max-width: 290px; height: 174px; } }
