:root {
    --nibte-navy: #0D345B;
    --nibte-navy-deep: #071F36;
    --nibte-gold: #BE892F;
    --nibte-terracotta: #C86F56;
    --nibte-cream: #F8F0E4;
    --nibte-paper: #FFFDF8;
    --nibte-ink: #1E2B36;
    --nibte-muted: #67727A;
    --nibte-line: rgba(13,52,91,.14);
    --nibte-shadow: 0 24px 70px rgba(7,31,54,.12);
    --nibte-radius: 28px;
    --nibte-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--nibte-paper);
    color: var(--nibte-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
p { margin: 0 0 1.25rem; }
h1,h2,h3,h4 { margin: 0 0 1rem; color: var(--nibte-navy-deep); font-family: Georgia, "Times New Roman", serif; line-height: 1.08; font-weight: 500; letter-spacing: -.025em; }
h1 { font-size: clamp(2.75rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2.2rem, 4.2vw, 4.25rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); }
ul { padding-left: 1.2rem; }
.container { width: min(calc(100% - 40px), var(--nibte-container)); margin-inline: auto; }
.section { padding: clamp(78px, 9vw, 130px) 0; }
.center { text-align: center; }
.screen-reader-text { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 9999; transform: translateY(-150%); background: #fff; padding: 12px 18px; border-radius: 12px; }
.skip-link:focus { transform: translateY(0); }

.eyebrow { margin: 0 0 18px; color: var(--nibte-terracotta); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; }
.eyebrow--light { color: #E9C98F; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 25px; border: 1px solid var(--nibte-terracotta); border-radius: 999px; background: var(--nibte-terracotta); color: #fff; font-size: .92rem; font-weight: 750; text-decoration: none; letter-spacing: .01em; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button:hover,.button:focus-visible { transform: translateY(-2px); background: #B95F47; box-shadow: 0 12px 30px rgba(200,111,86,.25); }
.button--small { min-height: 43px; padding: 10px 19px; font-size: .84rem; }
.button--outline { background: transparent; color: var(--nibte-navy); border-color: var(--nibte-navy); }
.button--outline:hover { background: var(--nibte-navy); color: #fff; }
.button--light { background: var(--nibte-cream); color: var(--nibte-navy-deep); border-color: var(--nibte-cream); }
.text-link { display: inline-flex; gap: 10px; align-items: center; color: var(--nibte-navy); font-weight: 750; text-decoration: none; border-bottom: 1px solid rgba(13,52,91,.3); padding-bottom: 2px; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.text-link--large { font-size: 1.08rem; }

.site-header { position: fixed; inset: 18px 0 auto; z-index: 1000; pointer-events: none; }
.site-header__inner { width: min(calc(100% - 32px), 1240px); min-height: 72px; margin: auto; padding: 9px 10px 9px 18px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.72); background: rgba(255,253,248,.86); box-shadow: 0 15px 48px rgba(7,31,54,.11); backdrop-filter: blur(18px); border-radius: 999px; pointer-events: auto; transition: min-height .2s ease, background .2s ease; }
.site-header.is-scrolled .site-header__inner { min-height: 62px; background: rgba(255,253,248,.95); }
.site-brand { display: block; width: 132px; flex: 0 0 auto; }
.site-brand img { width: 100%; }
.primary-navigation { display: flex; align-items: center; gap: 20px; }
.nibte-menu { display: flex; align-items: center; gap: clamp(14px,2vw,28px); list-style: none; padding: 0; margin: 0; }
.nibte-menu a { color: var(--nibte-navy-deep); text-decoration: none; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.nibte-menu a:hover,.nibte-menu .current-menu-item > a { color: var(--nibte-terracotta); }
.menu-toggle { display: none; width: 46px; height: 46px; border: 0; background: var(--nibte-navy); border-radius: 50%; padding: 12px; }
.menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 4px 0; background: #fff; border-radius: 2px; transition: .25s; }

.hero { position: relative; min-height: min(860px, 96vh); padding: 145px 0 72px; overflow: hidden; background: linear-gradient(125deg, var(--nibte-cream) 0%, #FFFDF8 55%, #F0DFD2 100%); }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(190,137,47,.3); border-radius: 50%; right: -190px; top: 130px; }
.hero__shape { position: absolute; border-radius: 48% 52% 63% 37% / 50% 38% 62% 50%; filter: blur(.2px); }
.hero__shape--one { width: 470px; height: 420px; left: -280px; bottom: -90px; background: rgba(200,111,86,.12); transform: rotate(20deg); }
.hero__shape--two { width: 260px; height: 230px; right: 14%; top: -100px; background: rgba(190,137,47,.09); }
.hero__grid { min-height: 620px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); gap: clamp(45px,6vw,95px); align-items: center; position: relative; z-index: 2; }
.hero__copy { max-width: 700px; }
.animated-logo { width: min(610px, 100%); height: clamp(112px,16vw,185px); position: relative; margin: -8px 0 3px; display: flex; align-items: center; }
.animated-logo__word { display: block; width: 88%; overflow: hidden; position: relative; clip-path: inset(0 100% 0 0); animation: nibte-write 2.1s cubic-bezier(.33,1,.68,1) .25s forwards; }
.animated-logo__word::after { content: ""; position: absolute; top: 50%; left: -10px; width: 12px; height: 12px; border-radius: 50%; background: var(--nibte-gold); box-shadow: 0 0 16px rgba(190,137,47,.65); opacity: 0; animation: nibte-pen 2.05s cubic-bezier(.33,1,.68,1) .28s forwards; }
.animated-logo__word img { width: 100%; }
.animated-logo__icon { position: absolute; right: 0; top: 5%; width: 25%; opacity: 0; transform: scale(.74) rotate(-4deg); filter: drop-shadow(0 10px 20px rgba(190,137,47,.16)); animation: nibte-icon-in .7s cubic-bezier(.34,1.56,.64,1) 2.15s forwards; }
@keyframes nibte-write { to { clip-path: inset(0 0 0 0); } }
@keyframes nibte-pen { 0% { left: 0; opacity: 0; } 8% { opacity: .7; } 92% { opacity: .7; } 100% { left: calc(100% - 14px); opacity: 0; } }
@keyframes nibte-icon-in { to { opacity: 1; transform: scale(1) rotate(0); } }
.hero h1 { max-width: 790px; font-size: clamp(2.7rem,4.3vw,4.9rem); margin-top: 6px; }
.hero__lead { max-width: 650px; color: #44525D; font-size: clamp(1.05rem,1.35vw,1.24rem); }
.hero__actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 34px; }
.hero__visual { position: relative; min-height: 570px; }
.portrait-frame { position: absolute; inset: 8% 0 0 5%; border-radius: 230px 230px 34px 34px; overflow: hidden; box-shadow: var(--nibte-shadow); background: #C5B9AE; }
.portrait-frame::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); border-radius: inherit; }
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.portrait-frame__label { position: absolute; left: 24px; right: 24px; bottom: 22px; padding: 17px 20px; border-radius: 18px; background: rgba(7,31,54,.87); backdrop-filter: blur(12px); color: #fff; }
.portrait-frame__label span { display: block; color: #E9C98F; font-size: .73rem; text-transform: uppercase; letter-spacing: .12em; }
.portrait-frame__label strong { font-family: Georgia, serif; font-size: 1.06rem; font-weight: 500; }
.hero__gold-ring { position: absolute; width: 170px; height: 170px; border: 1px solid var(--nibte-gold); border-radius: 50%; right: -52px; top: 20px; }
.hero__gold-ring::after { content: ""; position: absolute; inset: 17px; border: 1px solid rgba(190,137,47,.45); border-radius: 50%; }
.hero__scroll { position: absolute; left: 50%; bottom: 21px; transform: translateX(-50%); color: var(--nibte-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.hero__scroll span { display: inline-block; margin-left: 8px; animation: scroll-bob 1.5s ease-in-out infinite; }
@keyframes scroll-bob { 50% { transform: translateY(5px); } }

.section--intro { background: var(--nibte-paper); }
.intro-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px,8vw,120px); align-items: end; }
.intro-copy { color: var(--nibte-muted); font-size: 1.08rem; }
.pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 78px; border-top: 1px solid var(--nibte-line); border-bottom: 1px solid var(--nibte-line); }
.pillar { padding: 42px clamp(18px,3vw,44px); position: relative; }
.pillar + .pillar { border-left: 1px solid var(--nibte-line); }
.pillar > span { color: var(--nibte-gold); font-size: .76rem; letter-spacing: .12em; }
.pillar h3 { margin-top: 30px; }
.pillar p { color: var(--nibte-muted); margin-bottom: 0; }

.section--about { background: var(--nibte-cream); }
.about-grid { display: grid; grid-template-columns: minmax(340px,.86fr) minmax(0,1.14fr); gap: clamp(55px,9vw,125px); align-items: center; }
.about-image { position: relative; padding: 0 0 36px 36px; }
.about-image img { width: 100%; aspect-ratio: .79; object-fit: cover; border-radius: 210px 210px 28px 28px; position: relative; z-index: 2; box-shadow: var(--nibte-shadow); }
.about-image::before { content: ""; position: absolute; left: 0; bottom: 0; width: 77%; height: 72%; border: 1px solid var(--nibte-gold); border-radius: 24px; }
.about-image__accent { position: absolute; width: 92px; height: 92px; background: var(--nibte-terracotta); border-radius: 50%; top: 8%; right: -26px; z-index: 3; opacity: .88; }
.about-content p:not(.eyebrow) { color: #4A5964; }
.about-content .button { margin-top: 16px; }

.section--services { background: #fff; }
.section-heading { display: flex; justify-content: space-between; gap: 55px; align-items: end; margin-bottom: 55px; }
.section-heading > p { max-width: 500px; color: var(--nibte-muted); }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
.service-card { min-height: 470px; height: 100%; padding: clamp(30px,3.6vw,48px); border-radius: var(--nibte-radius); display: flex; flex-direction: column; box-shadow: 0 15px 42px rgba(7,31,54,.06); }
.service-card__number { display: block; margin-bottom: 56px; font-size: .78rem; letter-spacing: .14em; }
.service-card h3 { display: flex; align-items: flex-end; min-height: 2.45em; margin: 0; font-size: clamp(1.7rem,2.4vw,2.35rem); }
.service-card p { min-height: 7.2em; margin-bottom: 20px; opacity: .82; }
.service-card ul { margin: auto 0 0; padding: 0; list-style: none; }
.service-card li { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.18); font-size: .9rem; }
.service-card--navy { background: var(--nibte-navy-deep); color: #fff; }
.service-card--navy h3 { color: #fff; }
.service-card--navy .service-card__number { color: #E9C98F; }
.service-card--terracotta { background: var(--nibte-terracotta); color: #fff; }
.service-card--terracotta h3 { color: #fff; }
.service-card--terracotta .service-card__number { color: #FFE7DE; }
.service-card--cream { background: var(--nibte-cream); color: var(--nibte-ink); }
.service-card--cream li { border-color: rgba(13,52,91,.14); }
.service-card--cream .service-card__number { color: var(--nibte-gold); }
.section--services .center { margin-top: 45px; }

.reflection-feature { position: relative; overflow: hidden; background: var(--nibte-navy-deep); color: #fff; text-align: center; }
.reflection-feature::before,.reflection-feature::after { content: ""; position: absolute; border: 1px solid rgba(190,137,47,.2); border-radius: 50%; }
.reflection-feature::before { width: 460px; height: 460px; left: -180px; top: -180px; }
.reflection-feature::after { width: 350px; height: 350px; right: -140px; bottom: -160px; }
.reflection-feature__inner { max-width: 920px; position: relative; z-index: 2; }
.reflection-feature__mark { width: 84px; margin: 0 auto 24px; }
.reflection-feature blockquote { margin: 15px auto 24px; color: #fff; font-family: Georgia, serif; font-size: clamp(2.3rem,5vw,5rem); line-height: 1.14; }
.reflection-feature p:not(.eyebrow) { max-width: 680px; margin-inline: auto; color: rgba(255,255,255,.76); }
.reflection-feature .button { margin-top: 22px; }

.section--articles { background: var(--nibte-paper); }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.article-card { background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 15px 45px rgba(7,31,54,.07); transition: transform .25s ease, box-shadow .25s ease; }
.article-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(7,31,54,.12); }
.article-card__image { display: block; aspect-ratio: 1.45; overflow: hidden; background: var(--nibte-cream); }
.article-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.article-card:hover .article-card__image img { transform: scale(1.035); }
.article-card__placeholder { display: block; width: 100%; height: 100%; background: radial-gradient(circle at 68% 35%, rgba(190,137,47,.25) 0 14%, transparent 15%), linear-gradient(145deg, var(--nibte-navy) 0 54%, var(--nibte-terracotta) 54% 73%, var(--nibte-cream) 73%); }
.article-card__body { padding: 26px 28px 30px; }
.article-card__meta,.reflection-card__date { color: var(--nibte-terracotta); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.article-card h3,.article-card h2 { font-size: 1.55rem; }
.article-card h3 a,.article-card h2 a { text-decoration: none; }
.article-card__body > p:not(.article-card__meta) { color: var(--nibte-muted); font-size: .94rem; }

.cta-section { background: var(--nibte-cream); }
.cta-section__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center; padding: clamp(45px,6vw,78px); border-radius: 34px; background: #fff; box-shadow: var(--nibte-shadow); }
.cta-section__inner > div:last-child { color: var(--nibte-muted); }

.site-footer { background: var(--nibte-navy-deep); color: rgba(255,255,255,.76); padding: 78px 0 25px; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 70px; }
.site-footer h2 { color: #fff; font-family: inherit; font-size: .78rem; text-transform: uppercase; letter-spacing: .15em; }
.site-footer__brand img { width: 190px; filter: brightness(0) invert(1); opacity: .94; }
.site-footer__brand p { margin-top: 20px; max-width: 350px; }
.site-footer a { color: #fff; text-decoration: none; }
.footer-menu { margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin: 7px 0; }
.footer-menu .button { display: none; }
.footer-socials { display: flex; gap: 14px; flex-wrap: wrap; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 58px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.12); font-size: .75rem; }
.dimedesign-credit strong { color: #fff; }

.page-hero { padding: 190px 0 105px; background: linear-gradient(130deg, var(--nibte-cream), #fff); }
.page-hero .container { max-width: 1060px; }
.page-hero h1 { font-size: clamp(3rem,6vw,5.4rem); }
.page-hero p:not(.eyebrow) { max-width: 730px; color: var(--nibte-muted); font-size: 1.16rem; }
.page-hero--split .page-hero__grid { max-width: var(--nibte-container); display: grid; grid-template-columns: 1.1fr .9fr; gap: 75px; align-items: center; }
.page-hero--split img { border-radius: 170px 170px 26px 26px; box-shadow: var(--nibte-shadow); }
.content-shell { max-width: 830px; }
.entry-content { font-size: 1.08rem; }
.entry-content .lead { color: var(--nibte-navy); font-family: Georgia,serif; font-size: 1.85rem; }
.entry-content h2 { margin-top: 2.3em; font-size: 2.25rem; }
.entry-content h3 { margin-top: 2em; }
.entry-content blockquote { margin: 2.4em 0; padding: 1.4em 1.6em; border-left: 4px solid var(--nibte-gold); background: var(--nibte-cream); color: var(--nibte-navy); font-family: Georgia,serif; font-size: 1.55rem; }
.value-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.value-grid article { padding: clamp(35px,5vw,62px); background: var(--nibte-cream); border-radius: 26px; }
.value-grid article:nth-child(2),.value-grid article:nth-child(3) { background: #fff; border: 1px solid var(--nibte-line); }
.value-grid span,.service-detail-list__number { color: var(--nibte-gold); font-size: .78rem; letter-spacing: .14em; }
.value-grid h2 { margin-top: 50px; font-size: 2.2rem; }
.service-detail-list { display: grid; gap: 20px; }
.service-detail-list article { display: grid; grid-template-columns: 85px 1fr; gap: 35px; padding: clamp(35px,5vw,68px); border-radius: 28px; background: var(--nibte-cream); }
.service-detail-list article:nth-child(2) { background: var(--nibte-navy-deep); color: #fff; }
.service-detail-list article:nth-child(2) h2 { color: #fff; }
.service-detail-list h2 { font-size: clamp(2rem,4vw,3.5rem); }
.service-detail-list ul { columns: 2; column-gap: 40px; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.contact-details dl { margin: 35px 0; }
.contact-details dt { margin-top: 18px; color: var(--nibte-terracotta); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.contact-details dd { margin: 4px 0 0; font-size: 1.15rem; }
.contact-quote { margin-top: 45px; padding: 30px; border-radius: 24px; background: var(--nibte-navy-deep); color: #fff; font-family: Georgia,serif; font-size: 1.5rem; }
.contact-form-shell { padding: clamp(28px,4vw,50px); border-radius: 28px; background: var(--nibte-cream); }
.nibte-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nibte-form__full { grid-column: 1/-1; }
.nibte-form label { display: block; margin-bottom: 6px; color: var(--nibte-navy); font-size: .82rem; font-weight: 750; }
.nibte-form input,.nibte-form textarea,.nibte-form select { width: 100%; border: 1px solid rgba(13,52,91,.18); border-radius: 14px; background: #fff; padding: 14px 15px; font: inherit; color: var(--nibte-ink); }
.nibte-form textarea { min-height: 165px; resize: vertical; }
.nibte-form input:focus,.nibte-form textarea:focus { outline: 3px solid rgba(190,137,47,.25); border-color: var(--nibte-gold); }
.nibte-form__notice { grid-column: 1/-1; padding: 14px 16px; border-radius: 12px; background: #E7F3EA; color: #24532C; }
.reflection-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.reflection-card { min-height: 315px; padding: clamp(30px,5vw,55px); border: 1px solid var(--nibte-line); border-radius: 25px; background: #fff; }
.reflection-card:nth-child(4n+2),.reflection-card:nth-child(4n+3) { background: var(--nibte-cream); }
.reflection-card h2 { font-size: clamp(1.75rem,3vw,2.75rem); }
.single-reflection__header { padding: 200px 0 105px; background: var(--nibte-navy-deep); }
.single-reflection__header h1 { color: #fff; }
.single-article__header { padding: 190px 0 95px; background: var(--nibte-cream); }
.single-article__intro { color: var(--nibte-muted); font-size: 1.2rem; }
.single-article__image { margin-top: -48px; position: relative; }
.single-article__image img { width: 100%; max-height: 650px; object-fit: cover; border-radius: 30px; box-shadow: var(--nibte-shadow); }
.nibte-share { margin: 55px 0; padding: 26px; border: 1px solid var(--nibte-line); border-radius: 20px; }
.nibte-share__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.nibte-share__buttons a { display: inline-flex; padding: 9px 14px; border-radius: 999px; background: var(--nibte-cream); color: var(--nibte-navy); text-decoration: none; font-size: .82rem; font-weight: 750; }
.pagination,.nav-links { grid-column: 1/-1; display: flex; justify-content: center; gap: 8px; margin-top: 35px; }
.page-numbers { padding: 9px 13px; border-radius: 10px; background: var(--nibte-cream); text-decoration: none; }
.page-numbers.current { background: var(--nibte-navy); color: #fff; }

@media (max-width: 1050px) {
    .site-header { inset: 10px 0 auto; }
    .site-header__inner { border-radius: 28px; }
    .menu-toggle { display: block; }
    .primary-navigation { position: fixed; top: 90px; left: 16px; right: 16px; max-height: calc(100vh - 110px); overflow: auto; padding: 28px; display: block; background: var(--nibte-paper); border-radius: 24px; box-shadow: var(--nibte-shadow); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s; }
    .primary-navigation.is-open { opacity: 1; visibility: visible; transform: none; }
    .nibte-menu { display: block; }
    .nibte-menu li { border-bottom: 1px solid var(--nibte-line); }
    .nibte-menu a { display: block; padding: 14px 3px; font-size: 1rem; }
    .primary-navigation .button { width: 100%; margin-top: 20px; }
    .menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .hero { min-height: auto; padding-top: 130px; }
    .hero__grid { grid-template-columns: 1fr; min-height: auto; }
    .hero__visual { min-height: 520px; max-width: 650px; width: 100%; margin: 0 auto; }
    .intro-grid,.about-grid,.cta-section__inner,.contact-grid,.page-hero--split .page-hero__grid { grid-template-columns: 1fr; }
    .service-grid,.article-grid { grid-template-columns: repeat(2,1fr); }
    .service-card:last-child,.article-card:last-child { grid-column: 1/-1; }
    .site-footer__grid { grid-template-columns: 1.2fr .8fr; }
    .site-footer__grid > div:last-child { grid-column: 1/-1; }
}

@media (max-width: 700px) {
    body { font-size: 16px; }
    .container { width: min(calc(100% - 28px), var(--nibte-container)); }
    .site-brand { width: 112px; }
    .site-header__inner { min-height: 62px; padding-left: 14px; }
    .hero { padding-bottom: 60px; }
    .hero__grid { gap: 28px; }
    .animated-logo { height: 98px; }
    .hero h1 { font-size: clamp(2.5rem,12vw,3.7rem); }
    .hero__lead { font-size: 1rem; }
    .hero__visual { min-height: 410px; }
    .portrait-frame { inset: 3% 0 0; border-radius: 160px 160px 25px 25px; }
    .hero__gold-ring { width: 110px; height: 110px; right: -26px; }
    .hero__scroll { display: none; }
    .section { padding: 75px 0; }
    .intro-grid { gap: 26px; }
    .pillars { grid-template-columns: 1fr; margin-top: 50px; }
    .pillar + .pillar { border-left: 0; border-top: 1px solid var(--nibte-line); }
    .about-grid { gap: 45px; }
    .about-image { padding: 0 0 20px 20px; }
    .section-heading { display: block; margin-bottom: 35px; }
    .section-heading > p,.section-heading > a { margin-top: 18px; }
    .service-grid,.article-grid,.value-grid,.reflection-grid { grid-template-columns: 1fr; }
    .service-card,.service-card:last-child,.article-card:last-child { grid-column: auto; }
    .service-card { min-height: 400px; }
    .service-card h3,.service-card p { min-height: 0; }
    .service-card__number { margin-bottom: 36px; }
    .reflection-feature blockquote { font-size: 2.4rem; }
    .cta-section__inner { padding: 32px 24px; gap: 25px; }
    .site-footer__grid { grid-template-columns: 1fr; gap: 35px; }
    .site-footer__grid > div:last-child { grid-column: auto; }
    .site-footer__bottom { display: block; }
    .page-hero { padding: 145px 0 75px; }
    .service-detail-list article { grid-template-columns: 1fr; gap: 12px; padding: 32px 25px; }
    .service-detail-list ul { columns: 1; }
    .nibte-form { grid-template-columns: 1fr; }
    .nibte-form__full { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
    .animated-logo__word { clip-path: inset(0); }
    .animated-logo__icon { opacity: 1; transform: none; }
}

/* V1.3.0 refinements */
.animated-logo__word::after { content: none !important; display: none !important; animation: none !important; }
.nibte-breadcrumbs { margin: 0 0 20px; color: var(--nibte-muted); font-size: .76rem; font-weight: 700; letter-spacing: .04em; }
.nibte-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; padding: 0; list-style: none; }
.nibte-breadcrumbs li { display: inline-flex; align-items: center; gap: 8px; }
.nibte-breadcrumbs li + li::before { content: "›"; color: var(--nibte-gold); }
.nibte-breadcrumbs a { color: var(--nibte-navy); text-decoration: none; }
.nibte-breadcrumbs a:hover { color: var(--nibte-terracotta); }
.single-article__header { padding: 165px 0 75px; background: linear-gradient(130deg, var(--nibte-cream), #fff); }
.single-article__hero-grid { display: grid; grid-template-columns: 1fr; gap: clamp(35px,6vw,80px); align-items: center; }
.single-article__hero-grid.has-image { grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); }
.single-article__heading { max-width: 830px; }
.single-article__header h1 { font-size: clamp(2.7rem,5.2vw,5rem); }
.single-article__hero-image { margin: 0; justify-self: end; width: min(100%, 410px); }
.single-article__hero-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 26px; box-shadow: var(--nibte-shadow); }
@media (max-width: 850px) {
    .single-article__hero-grid.has-image { grid-template-columns: 1fr; }
    .single-article__hero-image { justify-self: start; width: min(100%, 520px); }
}
@media (max-width: 700px) {
    .single-article__header { padding: 135px 0 55px; }
    .nibte-breadcrumbs { margin-bottom: 16px; }
}

/* V1.4.0 hero, menu and animation refinements */
.site-header { inset: 26px 0 auto; }
.animated-logo { width: min(610px, 100%); height: clamp(112px,16vw,185px); }
.animated-logo__word {
    width: 100%;
    overflow: visible;
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 44%, transparent 56%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 44%, transparent 56%, transparent 100%);
    -webkit-mask-size: 225% 100%;
    mask-size: 225% 100%;
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transform: translate3d(0,3px,0);
    will-change: clip-path, mask-position, opacity, transform;
    animation: nibte-write-smooth 2.85s cubic-bezier(.22,.72,.18,1) .18s forwards;
}
.animated-logo__word img { display:block; width:100%; height:auto; }
.animated-logo__icon { display:none!important; }
@keyframes nibte-write-smooth {
    0% {
        opacity:0;
        clip-path:inset(0 100% 0 0);
        -webkit-mask-position:100% 0;
        mask-position:100% 0;
        transform:translate3d(0,3px,0);
    }
    7% { opacity:1; }
    54% { clip-path:inset(0 43% 0 0); }
    100% {
        opacity:1;
        clip-path:inset(0 0 0 0);
        -webkit-mask-position:0 0;
        mask-position:0 0;
        transform:translate3d(0,0,0);
    }
}
@media (max-width:1050px) {
    .site-header { inset:18px 0 auto; }
    .primary-navigation {
        top:102px;
        max-height:calc(100dvh - 126px);
    }
    .hero { padding-top:142px; }
}
@media (max-width:700px) {
    .site-header { inset:16px 0 auto; }
    .primary-navigation { top:94px; max-height:calc(100dvh - 112px); }
}
@media (prefers-reduced-motion:reduce) {
    .animated-logo__word {
        opacity:1;
        clip-path:inset(0);
        -webkit-mask-image:none;
        mask-image:none;
        transform:none;
    }
}


/* V1.5.0: echte schrijfanimatie, Dimedesign-credit en stabiele afronding */
.animated-logo {
    width:min(610px,100%);
    height:auto;
    min-height:clamp(112px,16vw,185px);
    display:flex;
    align-items:center;
    margin:-8px 0 3px;
}
.animated-logo__svg {
    display:block;
    width:100%;
    height:auto;
    overflow:visible;
}
.animated-logo__stroke {
    stroke-dasharray:1;
    stroke-dashoffset:1;
}
.animated-logo__dot,
.animated-logo__finish {
    opacity:0;
}
.animated-logo.is-writing .animated-logo__stroke--n {
    animation:nibte-handwrite 1.22s cubic-bezier(.42,0,.28,1) .12s forwards;
}
.animated-logo.is-writing .animated-logo__stroke--i {
    animation:nibte-handwrite .42s cubic-bezier(.42,0,.28,1) 1.28s forwards;
}
.animated-logo.is-writing .animated-logo__dot {
    animation:nibte-dot-in .13s ease-out 1.62s forwards;
}
.animated-logo.is-writing .animated-logo__stroke--b-stem {
    animation:nibte-handwrite .50s cubic-bezier(.42,0,.28,1) 1.62s forwards;
}
.animated-logo.is-writing .animated-logo__stroke--b-loop {
    animation:nibte-handwrite .52s cubic-bezier(.42,0,.28,1) 2.02s forwards;
}
.animated-logo.is-writing .animated-logo__stroke--t {
    animation:nibte-handwrite .52s cubic-bezier(.42,0,.28,1) 2.42s forwards;
}
.animated-logo.is-writing .animated-logo__stroke--t-cross {
    animation:nibte-handwrite .22s ease-out 2.77s forwards;
}
.animated-logo.is-writing .animated-logo__stroke--e {
    animation:nibte-handwrite .78s cubic-bezier(.42,0,.22,1) 2.93s forwards;
}
.animated-logo.is-writing .animated-logo__finish {
    animation:nibte-logo-complete .16s ease-out 3.64s forwards;
}
@keyframes nibte-handwrite {
    to { stroke-dashoffset:0; }
}
@keyframes nibte-dot-in {
    0% { opacity:0; transform:scale(.25); transform-origin:387px 201px; }
    100% { opacity:1; transform:scale(1); transform-origin:387px 201px; }
}
@keyframes nibte-logo-complete {
    to { opacity:1; }
}

.site-footer__design-credit {
    margin-top:58px;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
}
.dimedesign-credit {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    min-height:102px;
    padding:18px 0;
}
.dimedesign-credit__prefix {
    color:#d9a88d;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.dimedesign-credit__badge {
    display:inline-flex;
    align-items:center;
    gap:11px;
    min-height:52px;
    padding:7px 18px 7px 7px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    color:#fff;
    text-decoration:none;
    transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.dimedesign-credit__badge:hover,
.dimedesign-credit__badge:focus-visible {
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.34);
    background:rgba(255,255,255,.075);
}
.dimedesign-credit__mark {
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    padding:5px;
    overflow:hidden;
    border-radius:50%;
    background:#fff;
}
.dimedesign-credit__mark img {
    width:100%;
    height:100%;
    object-fit:contain;
}
.dimedesign-credit__badge strong {
    color:#fff;
    font-size:1rem;
    letter-spacing:.01em;
}
.site-footer__bottom {
    justify-content:flex-start;
    margin-top:0;
    padding-top:22px;
    border-top:0;
}
@media (max-width:700px) {
    .dimedesign-credit {
        flex-direction:column;
        gap:14px;
        text-align:center;
        min-height:132px;
    }
    .dimedesign-credit__prefix {
        font-size:.7rem;
        line-height:1.5;
    }
}
@media (prefers-reduced-motion:reduce) {
    .animated-logo__stroke { stroke-dashoffset:0; }
    .animated-logo__dot,
    .animated-logo__finish { opacity:1; }
}


/* V1.6.0 contactbevestiging en Dimedesign-footer */
.nibte-form__notice--error{background:#f9e1df!important;color:#7b2620!important}
.nibte-form-success{padding:clamp(34px,6vw,70px);border:1px solid rgba(190,137,47,.28);border-radius:30px;background:linear-gradient(135deg,#fff,var(--nibte-cream));text-align:center;box-shadow:var(--nibte-shadow)}
.nibte-form-success .animated-logo--success{width:min(430px,100%);height:auto;min-height:130px;margin:2px auto 8px}
.nibte-form-success h2{margin-top:0}.nibte-form-success>p:not(.eyebrow){max-width:650px;margin-inline:auto;color:var(--nibte-muted)}
.nibte-form-success .button{margin-top:16px}
.dimedesign-credit__mark img{filter:none!important;opacity:1!important}

/* V1.6.1 contactformulier zonder paginaverversing */
.nibte-form.is-submitting{opacity:.72;pointer-events:none}
.nibte-form button[disabled]{cursor:wait;opacity:.72}
.nibte-form-ajax-status{grid-column:1/-1;margin-top:14px}

/* V1.7.0 cookievoorkeuren */
.nibte-cookie-link{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.nibte-cookie-banner[hidden],.nibte-cookie-modal[hidden]{display:none!important}.nibte-cookie-banner{position:fixed;z-index:99998;left:18px;right:18px;bottom:18px}.nibte-cookie-banner__inner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 28px;border:1px solid rgba(190,137,47,.3);border-radius:24px;background:rgba(248,240,228,.98);box-shadow:0 24px 70px rgba(7,31,54,.2);backdrop-filter:blur(14px)}.nibte-cookie-banner h2{margin:2px 0 6px;font-size:clamp(1.35rem,2vw,1.8rem)}.nibte-cookie-banner p{max-width:720px;margin:0 0 5px;color:var(--nibte-muted)}.nibte-cookie-banner__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.nibte-cookie-banner__actions .button{white-space:nowrap}
.nibte-cookie-modal{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:18px}.nibte-cookie-modal__backdrop{position:absolute;inset:0;background:rgba(7,31,54,.62);backdrop-filter:blur(5px)}.nibte-cookie-modal__dialog{position:relative;width:min(680px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;padding:34px;border-radius:28px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.28)}.nibte-cookie-modal__dialog h2{margin-top:4px}.nibte-cookie-modal__close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:var(--nibte-cream);font-size:28px;line-height:1;cursor:pointer}.nibte-cookie-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px;border:1px solid rgba(13,52,91,.13);border-radius:18px}.nibte-cookie-choice strong{color:var(--nibte-navy-deep)}.nibte-cookie-choice p{margin:4px 0 0;color:var(--nibte-muted)}.nibte-cookie-choice input{width:24px;height:24px;accent-color:var(--nibte-navy)}.nibte-cookie-always{flex:none;padding:6px 10px;border-radius:999px;background:var(--nibte-cream);color:var(--nibte-navy);font-size:.78rem;font-weight:700}.nibte-cookie-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.cookie-modal-open{overflow:hidden}
@media(max-width:760px){.nibte-cookie-banner{left:10px;right:10px;bottom:10px}.nibte-cookie-banner__inner{align-items:stretch;flex-direction:column;gap:16px;padding:20px;border-radius:20px}.nibte-cookie-banner__actions{justify-content:stretch}.nibte-cookie-banner__actions .button{flex:1}.nibte-cookie-modal__dialog{padding:28px 20px}.nibte-cookie-choice{align-items:flex-start}.nibte-cookie-modal__actions{flex-direction:column-reverse}.nibte-cookie-modal__actions .button{width:100%}}
