/* PulsenTak: calm architectural composition and customer-first navigation. */
html { scroll-behavior:auto; }
.site-header .brand { flex-shrink:0; }
.site-header .brand img { width:clamp(170px,18vw,235px); }
.site-header #main-nav { gap:clamp(16px,1.8vw,27px); }
.nav-more { position:relative; }
.nav-more > summary { display:flex; align-items:center; gap:9px; min-height:44px; list-style:none; font-size:14px; font-weight:500; white-space:nowrap; }
.nav-more > summary::-webkit-details-marker { display:none; }
.nav-more > summary::after { content:'⌄'; font-size:17px; line-height:1; transform:translateY(-2px); }
.nav-more[open] > summary::after { transform:rotate(180deg); }
.site-header .nav-more-links { position:absolute; top:calc(100% + 15px); right:-24px; width:290px; padding:15px 24px; background:var(--surface); border:1px solid var(--line); box-shadow:0 15px 40px #171c1812; }
.site-header .nav-more-links a { display:flex; white-space:normal; font-size:14px; min-height:47px; border-bottom:1px solid var(--line); }
.site-header .nav-more-links a:last-child { border:0; }
.nav-more[open] summary { color:#486136; }
.p-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:620px; border-bottom:1px solid var(--line); overflow:hidden; }
.p-hero-copy { min-width:0; padding-right:32px; padding:clamp(48px,6vw,84px) 0 clamp(40px,5vw,70px) var(--gutter); position:relative; z-index:1; padding-right:32px; }
.p-hero .eyebrow { font-size:11px; letter-spacing:.13em; margin-bottom:27px; }
.p-hero h1 { font-size:clamp(54px,6.1vw,90px); line-height:1.035; letter-spacing:-.06em; margin:0 0 25px; }
.p-hero h1 span { color:#6c7e5d; }
.p-hero .lead { max-width:37ch; margin-bottom:27px; color:#4c5845; font-size:19px; }
.p-hero-actions { display:flex; flex-wrap:wrap; gap:12px 23px; align-items:center; }
.p-hero-actions .button { gap:30px; }
.p-hero-note { color:var(--muted); margin-top:23px; font-size:12px; line-height:1.8; }
.p-hero-visual { overflow:hidden; position:relative; display:flex; flex-direction:column; justify-content:center; background:#eeeee7; min-width:0; }
.p-hero-visual > img { width:125%; max-width:none; height:100%; object-fit:cover; object-position:center; mix-blend-mode:multiply; position:absolute; right:-6%; top:0; }
.p-image-label { position:absolute; z-index:2; top:30px; right:var(--gutter); font-size:10px; letter-spacing:.1em; color:#54624a; }
.p-hero-visual figcaption { position:absolute; z-index:2; bottom:27px; left:30px; right:var(--gutter); display:flex; justify-content:space-between; gap:20px; align-items:end; color:#526047; }
.p-hero-visual figcaption a { display:inline-flex; align-items:center; min-height:44px; gap:15px; color:var(--ink); }
.p-value-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-block:21px; border-bottom:1px solid var(--line); }
.p-value-strip p { margin:0; display:flex; align-items:center; gap:19px; font-size:14px; }
.p-value-strip p span { color:#728366; font-size:11px; }
.p-elmia-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(30px,6vw,90px); align-items:start; margin-bottom:36px; }
.p-elmia-heading h2 { margin-bottom:0; }
.p-elmia-copy { padding-top:4px; max-width:48ch; }
.p-elmia-copy > p { color:var(--muted); }
.p-elmia-copy .lead { color:var(--ink); }
.p-elmia-gallery { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(18px,2.8vw,40px); }
.p-elmia-gallery figure { min-width:0; }
.p-elmia-photo { height:clamp(280px,31vw,430px); overflow:hidden; background:#202c2c; }
.p-elmia-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.p-elmia-material img { object-position:63% center; }
.p-elmia-meeting img { object-position:52% center; }
.p-elmia-gallery figcaption { padding-top:17px; color:var(--muted); line-height:1.6; font-size:13px; }
.p-elmia-gallery figcaption > span { display:block; color:var(--ink); font-size:10px; letter-spacing:.1em; margin-bottom:7px; }
@media(max-width:760px) { .p-elmia-heading { grid-template-columns:minmax(0,1fr); gap:19px; margin-bottom:28px; } .p-elmia-heading h2 { font-size:clamp(34px,8vw,44px); } .p-elmia-copy { padding-top:0; } .p-elmia-gallery { grid-template-columns:minmax(0,1fr); gap:30px; } .p-elmia-photo { height:auto; aspect-ratio:16/9; } .p-elmia-gallery figcaption { padding-top:12px; } }
.p-project-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.p-project-links > a { min-width:0; padding:31px 26px; text-decoration:none; transition:background .15s; display:flex; flex-direction:column; align-items:flex-start; }
.p-project-links > a + a { border-left:1px solid var(--line); }
.p-project-links > a:hover { background:#e9eddf; }
.p-project-links > a > span:first-child { font-size:10px; letter-spacing:.11em; color:#68795b; }
.p-project-links h3 { margin:25px 0 17px; font-size:clamp(24px,2.5vw,33px); line-height:1.2; }
.p-project-links p { color:var(--muted); font-size:15px; }
.p-project-links > a > span:last-child { font-size:27px; line-height:1; margin-top:auto; padding-top:14px; }
.p-project-subnav { display:flex; flex-wrap:wrap; gap:10px 30px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.p-project-subnav a { display:flex; min-height:44px; align-items:center; font-size:14px; text-decoration:none; }
.p-project-disclosure { margin-top:20px; color:var(--muted); font-size:13px; }
.p-project-case { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(35px,7vw,100px); align-items:center; scroll-margin-top:120px; }
.p-project-case:nth-of-type(even) figure { order:2; }
.p-project-case figure img { width:100%; aspect-ratio:1.4; object-fit:cover; }
.p-project-case figcaption { color:var(--muted); margin-top:12px; }
.p-project-case h2 { font-size:clamp(36px,3.4vw,50px); }
.p-project-case p,.p-project-case li { color:var(--muted); }
.p-project-case ul { list-style:none; padding:0; margin:22px 0; }
.p-project-case li { padding:9px 0; border-bottom:1px solid var(--line); font-size:15px; }
.p-project-case .text-link { display:flex; width:fit-content; margin-top:8px; }
.p-process ol { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.p-process li { display:grid; grid-template-columns:45px minmax(0,1fr) minmax(0,.8fr); gap:25px; padding:31px 0; border-bottom:1px solid var(--line); }
.p-process-number { color:#6c7e5d; font-size:12px; padding-top:4px; }
.p-process h3 { font-size:25px; margin-bottom:12px; }
.p-process li p { color:var(--muted); font-size:15px; max-width:46ch; }
.p-process-outcome { padding-left:25px; border-left:1px solid var(--line); }
.p-process-outcome > span { font-size:10px; letter-spacing:.1em; color:#6b7e5d; display:block; margin:2px 0 12px; }
.p-process > .text-link { margin-top:22px; }
.p-trust-teaser { background:#e9eddf; border-top:1px solid #c7d1bb; border-bottom:1px solid #c7d1bb; }
.p-trust-teaser > div { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,8vw,110px); align-items:start; }
.p-trust-teaser p { color:#526047; }
.p-trust-teaser .button { margin-top:12px; }
@media(min-width:1440px) { .p-hero-copy { padding-left:max(var(--gutter),calc((100vw - 1320px)/2)); } }
@media(max-width:1100px) { .site-header #main-nav { gap:16px; } .site-header #main-nav > a, .nav-more > summary { font-size:12px; } .p-hero { min-height:580px; } .p-hero-visual figcaption > span { display:none; } .p-hero-visual figcaption { justify-content:flex-end; } }
@media(max-width:1000px) { .p-hero { grid-template-columns:1fr 1fr; } .p-hero-copy { padding-right:24px; } .p-hero h1 { font-size:60px; } .p-hero-actions { align-items:flex-start; flex-direction:column; gap:5px; } .p-hero-note { margin-top:13px; } .p-hero-visual > img { width:150%; right:-25%; } }
@media(max-width:1000px) { .site-header #main-nav > a,.nav-more > summary { font-size:16px; } .nav-more { border-bottom:1px solid var(--line); } .nav-more > summary { min-height:54px; } .site-header .nav-more-links { position:static; width:auto; padding:0 0 12px 18px; border:0; background:transparent; box-shadow:none; } .site-header .nav-more-links a { font-size:14px; } }
@media(max-width:760px) { .p-hero { grid-template-columns:minmax(0,1fr); min-height:0; } .p-hero-copy { min-width:0; padding-right:32px; padding:43px var(--gutter) 30px; } .p-hero h1 { font-size:clamp(48px,12vw,70px); } .p-hero .lead { font-size:18px; max-width:40ch; } .p-hero-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:9px 20px; } .p-hero-visual { min-height:310px; } .p-hero-visual > img { width:100%; max-width:100%; right:0; object-position:center; } .p-image-label { top:17px; right:var(--gutter); font-size:9px; } .p-hero-visual figcaption { bottom:10px; } .p-value-strip { grid-template-columns:1fr; gap:8px; padding-block:18px; } .p-value-strip p { font-size:13px; gap:18px; } .p-project-links { grid-template-columns:1fr; } .p-project-links > a { padding:27px 0; } .p-project-links > a + a { border-left:0; border-top:1px solid var(--line); } .p-project-links h3 { margin:15px 0; } .p-project-case { grid-template-columns:1fr; gap:26px; } .p-project-case figure,.p-project-case:nth-of-type(even) figure { order:0; } .p-project-case h2 { font-size:38px; } .p-project-case figure img { aspect-ratio:1.5; } .p-process li { grid-template-columns:25px minmax(0,1fr); gap:14px; padding:25px 0; } .p-process-outcome { grid-column:2; padding-left:0; border-left:0; } .p-process h3 { font-size:24px; } .p-trust-teaser > div { grid-template-columns:1fr; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .p-project-links > a { transition:none; } }
