/* Design review revision: clearer hierarchy, readable examples and responsive navigation. */
:root { --muted:#52645c; --line:#d6ddd4; }
html { scroll-padding-top:108px; }
em { color:#597260; }
.eyebrow { font-size:11px; letter-spacing:.14em; }
.section-wrap { max-width:1440px; }
.site-header { position:fixed; height:88px; padding:18px 38px; display:flex; align-items:center; justify-content:space-between; gap:28px; transition:background .2s,box-shadow .2s,color .2s; }
.wordmark { order:-1; font-size:31px; }
.header-links { flex-direction:row; align-items:center; gap:30px; font-size:14px; line-height:1.5; }
.header-links a { display:flex; align-items:center; min-height:44px; opacity:.92; }
.header-links .nav-contact { display:none; }
.site-header.is-scrolled { background:#f7f7f2f5; color:var(--ink); box-shadow:0 1px 0 #213a3020; backdrop-filter:blur(14px); }
.site-header.is-scrolled .header-cta { background:var(--pine); color:white; }
.site-header.is-scrolled .header-cta .arrow-box { background:var(--mint); color:var(--pine); }
.inner-page .site-header { position:sticky; min-height:88px; }
.button { font-size:14px; min-height:50px; border-radius:4px; padding:7px 7px 7px 21px; gap:27px; }
.arrow-box { width:34px; height:34px; }
.hero { min-height:720px; max-height:1000px; }
.hero-content { padding:85px 24px 50px; animation:none; }
.hero .eyebrow { font-size:11px; letter-spacing:.18em; margin-bottom:29px; }
.hero h1 { font-size:clamp(68px,7.4vw,108px); line-height:1.03; }
.hero-intro { font-size:17px; line-height:1.7; max-width:650px; margin:28px auto 30px; color:#eef2ed; }
.hero-shade { background:linear-gradient(180deg,#0c222a35 0%,#0b242914 40%,#05151965 100%); }
.hero-bottom { font-size:11px; bottom:32px; }
.hero-bottom>a { font-size:9px; letter-spacing:.14em; min-height:60px; }
.text-link { min-height:44px; padding:9px 0 8px; font-size:14px; gap:22px; }
.intro { padding-top:100px; padding-bottom:86px; }
.intro>.eyebrow { margin-bottom:30px; }
.intro-grid { grid-template-columns:1.15fr 1fr; gap:10%; }
.intro-copy { font-size:16px; padding-top:4px; max-width:455px; line-height:1.85; }
.intro-copy .text-link { margin-top:20px; }
.work-section { padding-top:58px; padding-bottom:92px; border-top:1px solid var(--line); }
.section-heading { margin-bottom:40px; }
.section-heading>p { font-size:15px; max-width:285px; line-height:1.8; }
.europe-section { padding-top:86px; background:#143e39; }
.europe-grid { grid-template-columns:1.2fr 1fr; gap:9%; align-items:center; }
.europe-copy h2 { font-size:clamp(40px,4vw,58px); line-height:1.15; }
.europe-copy>p:not(.eyebrow) { font-size:15px; max-width:455px; line-height:1.85; }
.europe-copy h2 em { color:#b3ccb5; }
.context-card { background:#1d4941; border:1px solid #557969; padding:31px 30px 25px; align-self:stretch; }
.context-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.context-card-head .eyebrow { font-size:10px; color:#c7d9ca; }
.context-monogram { font-size:34px; line-height:1; letter-spacing:-.1em; color:#c9d5bb; }
.context-card h3 { font-size:28px; line-height:1.3; letter-spacing:-.035em; margin-bottom:25px; }
.context-row { display:flex; gap:19px; border-top:1px solid #557969; padding:19px 0; }
.context-row>span { font-size:11px; color:#b4cbb8; padding-top:2px; }
.context-row h4 { font-size:15px; font-weight:500; margin:0 0 4px; }
.context-row p { font-size:12px; color:#c3d5c8; line-height:1.65; }
.context-caption { font-size:9px; letter-spacing:.06em; color:#c3d4c0; border-top:1px solid #557969; padding-top:18px; }
.process-section { padding-top:90px; padding-bottom:85px; }
.process-section .section-heading { margin-bottom:40px; }
.process-list article { padding:30px 0; grid-template-columns:55px 1fr 1.1fr; }
.process-list h3 { font-size:28px; max-width:300px; }
.process-number { font-size:12px; color:#627664; }
.process-list p { font-size:15px; line-height:1.85; }
.process-output { font-size:10px; color:#4e6953; letter-spacing:.09em; }
.process-billing { font-size:13px; color:#536b59; margin-top:28px; }
.notes-section { padding-top:72px; padding-bottom:76px; }
.notes-heading h2 { font-size:42px; line-height:1.2; }
.note-text h3 { font-size:27px; line-height:1.25; }
.note-text .eyebrow { font-size:10px; }
.note-text>p:not(.eyebrow) { font-size:15px; }
.note-art { overflow:hidden; }
.note-paper { transition:transform .25s; }
.note-feature:hover .note-paper { transform:rotate(8deg) translateY(-5px); }
.faq-section { padding-top:66px; padding-bottom:85px; }
.faq-list summary { font-size:15px; min-height:74px; padding:23px 0; gap:25px; line-height:1.7; }
.faq-list summary>span { flex-shrink:0; width:24px; text-align:center; font-size:24px; }
.faq-list details>p { font-size:15px; line-height:1.85; padding-bottom:24px; max-width:530px; }
.contact-section { padding-top:88px; text-align:left; }
.contact-inner { display:grid; grid-template-columns:1.15fr 1fr; gap:10%; align-items:start; }
.contact-inner .eyebrow { justify-content:flex-start; margin-bottom:28px; font-size:11px; }
.contact-inner h2 { font-size:clamp(40px,4.5vw,65px); line-height:1.15; }
.contact-copy>p:not(.eyebrow) { font-size:16px; color:#d0ded2; margin:26px 0; line-height:1.8; }
.contact-copy .button { margin-top:3px; }
.contact-note { font-size:12px; color:#c2d3c4; margin-top:23px; }
.contact-copy>.pending-explanation { font-size:12px!important; color:#c3d3c4!important; max-width:350px; margin:15px 0 0!important; line-height:1.7!important; }
.conversation-card { border-top:1px solid #668775; padding-top:22px; }
.contact-inner .conversation-card .eyebrow { font-size:10px; margin-bottom:21px; }
.conversation-card h3 { font-size:27px; }
.conversation-card ol { padding:0; margin:23px 0; list-style:none; }
.conversation-card li { display:flex; gap:20px; padding:16px 0; border-bottom:1px solid #557567; }
.conversation-card li>span { font-size:11px; color:#bbd1be; padding-top:4px; }
.conversation-card strong { font-size:15px; font-weight:500; }
.conversation-card li p { font-size:13px; color:#c7d8cb; margin-top:4px; line-height:1.7; }
.contact-wordmark { text-align:center; font-size:clamp(140px,22vw,320px); margin-top:45px; color:#92b28e21; }
.site-footer { font-size:12px; padding:23px 38px; align-items:center; }
.footer-links { gap:25px; }
.footer-links a,.footer-links button { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
.article-header h1 { text-wrap:balance; }
.article-body p,.article-body li { font-size:16px; }
.article-body .sources { font-size:13px; }
.consent-panel p { font-size:13px; }
.consent-actions button { font-size:12px; min-height:44px; }
.consent-close { min-height:44px; min-width:44px; top:2px; right:5px; }

@media(max-width:1150px) {
  .header-links { gap:22px; font-size:13px; }
  .site-header { padding-left:28px; padding-right:28px; gap:20px; }
  .header-cta { font-size:13px; gap:15px; }
  .europe-grid { gap:6%; grid-template-columns:1.2fr 1fr; }
  .context-card { padding:25px 22px; }
  .europe-copy h2 { font-size:43px; }
  .contact-inner { gap:7%; }
}
@media(max-width:900px) {
  html { scroll-padding-top:90px; }
  .site-header { height:76px; padding:14px 24px; }
  .wordmark { font-size:28px; }
  .header-cta { display:none; }
  .mobile-toggle { display:flex; align-items:center; gap:12px; border:1px solid #b7c9bd65; color:inherit; border-radius:4px; padding:9px 13px; background:transparent; font-size:13px; min-height:44px; }
  .mobile-toggle span { font-size:18px; width:13px; }
  .mobile-toggle[aria-expanded="true"] span { transform:rotate(45deg); }
  .site-header.is-scrolled .mobile-toggle { border-color:#c5d0c1; }
  .header-links { display:none; position:absolute; top:76px; left:16px; right:16px; flex-direction:column; align-items:stretch; padding:16px 22px; background:#f7f7f2; color:var(--ink); border:1px solid #d3ddce; border-radius:4px; box-shadow:0 15px 30px #102c2a25; font-size:16px; gap:0; }
  .header-links.is-open { display:flex; }
  .header-links a { padding:10px 0; min-height:48px; opacity:1; }
  .header-links .nav-contact { display:flex; border-top:1px solid var(--line); margin-top:8px; padding-top:17px; color:#215b41; }
  .inner-page .site-header { min-height:76px; }
  .section-wrap { padding-left:6%; padding-right:6%; }
  .hero { min-height:720px; height:92svh; }
  .europe-grid { gap:30px; }
  .europe-copy h2 { font-size:37px; }
  .context-card { padding:24px 20px; }
  .context-card h3 { font-size:25px; }
  .context-row { gap:12px; }
  .context-row p { font-size:12px; }
  .contact-inner { grid-template-columns:1.05fr 1fr; gap:6%; }
  .contact-inner h2 { font-size:40px; }
  .site-footer { flex-direction:column; align-items:flex-start; gap:6px; }
}
@media(max-width:700px) {
  .section-wrap { padding-left:24px; padding-right:24px; }
  .hero { height:92svh; min-height:680px; max-height:850px; }
  .hero-content { padding:74px 22px 80px; }
  .hero .eyebrow { font-size:9px; letter-spacing:.16em; margin-bottom:27px; }
  .hero h1 { font-size:clamp(36px,10.5vw,69px); line-height:1.09; }
  .hero-intro { font-size:15px; max-width:390px; line-height:1.8; margin:25px auto 29px; }
  .hero .button { font-size:14px; gap:24px; }
  .hero-bottom { bottom:26px; left:24px; right:24px; font-size:10px; }
  .hero-bottom>span { max-width:120px!important; }
  .hero-bottom>a { font-size:8px; min-height:45px; }
  .hero-bottom>span:last-child { display:none; }
  .hero-bottom>a { align-items:flex-end; }
  h2 { font-size:38px; line-height:1.15; }
  .eyebrow,.intro>.eyebrow,.section-heading .eyebrow,.europe-copy .eyebrow,.notes-heading .eyebrow,.faq-section .eyebrow { font-size:10px; }
  .intro { padding-top:65px; padding-bottom:60px; }
  .intro-grid { display:block; }
  .intro-copy { padding-top:25px; font-size:15px; }
  .intro-copy .text-link { margin-top:17px; }
  .work-section { padding-top:55px; padding-bottom:60px; }
  .section-heading>p { font-size:15px; max-width:none; margin-top:20px; }
  .europe-section { padding-top:63px; }
  .europe-grid { grid-template-columns:1fr; gap:35px; }
  .europe-copy h2 { font-size:clamp(32px,8.7vw,47px); }
  .europe-copy>p:not(.eyebrow) { font-size:15px; max-width:none; }
  .europe-copy .text-link { font-size:14px; margin-top:22px; }
  .context-card { padding:25px; }
  .context-card h3 { font-size:29px; margin-bottom:24px; }
  .context-row { padding:17px 0; gap:18px; }
  .context-row h4 { font-size:16px; }
  .context-row p { font-size:13px; }
  .context-caption { font-size:9px; line-height:1.8; }
  .process-section { padding-top:65px; padding-bottom:60px; }
  .process-section .section-heading { margin-bottom:30px; }
  .process-list article { grid-template-columns:28px 1fr; gap:14px; padding:27px 0; }
  .process-list h3 { font-size:26px; max-width:none; }
  .process-list article>div { grid-column:2; }
  .process-list p { font-size:15px; }
  .process-output { font-size:10px; }
  .process-billing { font-size:12px; line-height:1.8; align-items:flex-start; }
  .process-billing .tiny-cross { margin-top:3px; }
  .notes-section { grid-template-columns:1fr; padding-top:55px; padding-bottom:60px; gap:30px; }
  .notes-heading h2 { font-size:36px; }
  .note-text h3 { font-size:26px; }
  .note-text>p:not(.eyebrow) { font-size:15px; }
  .note-text .eyebrow { font-size:9px; }
  .faq-section { grid-template-columns:1fr; padding-top:55px; padding-bottom:60px; gap:25px; }
  .faq-section h2 { font-size:36px; }
  .faq-list summary { font-size:15px; gap:20px; min-height:74px; }
  .faq-list details>p { font-size:15px; }
  .contact-section { padding-top:62px; }
  .contact-inner { grid-template-columns:1fr; gap:45px; }
  .contact-inner .eyebrow { font-size:10px; margin-bottom:24px; }
  .contact-inner h2 { font-size:39px; }
  .contact-copy>p:not(.eyebrow) { font-size:15px; margin:23px 0; }
  .contact-copy>.pending-explanation { max-width:320px; }
  .conversation-card { padding-top:23px; }
  .conversation-card h3 { font-size:26px; }
  .conversation-card li p { font-size:14px; }
  .conversation-card strong { font-size:16px; }
  .contact-wordmark { font-size:25vw; margin-top:42px; }
  .site-footer { padding:23px 24px; gap:7px; }
  .footer-links { gap:0 23px; }
  .article-header { padding-top:45px; }
  .article-header h1 { font-size:39px; }
  .article-body p,.article-body li { font-size:15px; }
}
@media(max-width:359px) {
  .site-header { padding-left:20px; padding-right:20px; }
  .section-wrap { padding-left:20px; padding-right:20px; }
  .hero { min-height:655px; }
  .hero-content { padding-left:18px; padding-right:18px; }
  .hero h1 { font-size:34px; }
  .hero-intro { font-size:14px; }
  h2 { font-size:34px; }
  .context-card { padding:21px; }
  .europe-copy h2 { font-size:30px; }
  .contact-inner h2 { font-size:34px; }
  .contact-inner .eyebrow { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header,.note-paper { transition:none; }
}

/* A field-led offer: real work, expert contribution, concrete deliverables. */
.work-section { padding-top:76px; padding-bottom:76px; }
.expertise-heading { align-items:flex-end; margin-bottom:46px; gap:48px; }
.expertise-heading h2 { max-width:720px; }
.expertise-heading>p { max-width:310px; font-size:16px; padding-bottom:5px; }
.expertise-browser { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr); gap:50px; align-items:start; }
.expertise-tabs { border-top:1px solid #cbd5c9; }
.expertise-tab { min-height:86px; display:flex; gap:19px; align-items:center; padding:22px 14px; border-bottom:1px solid #cbd5c9; font-size:18px; line-height:1.5; transition:background .15s,color .15s; }
.expertise-tab:hover { background:#e9eee5; }
.expertise-index { font-size:10px; letter-spacing:.06em; color:#5d715f; }
.expertise-arrow { margin-left:auto; font-size:21px; color:#56755e; }
.expertise-tab[aria-selected="true"] { background:#173d35; color:#fff; border-color:#173d35; box-shadow:inset 3px 0 #cba180; }
.expertise-tab[aria-selected="true"] .expertise-index { color:#d6b99b; }
.expertise-tab[aria-selected="true"] .expertise-arrow { color:#d7e4d5; }
.expertise-examples { min-width:0; display:grid; gap:24px; }
.expertise-example { background:#e9eee5; padding:34px 40px 29px; min-height:468px; display:flex; flex-direction:column; }
.expertise-example:focus-visible { outline:3px solid #9a6743; outline-offset:5px; }
.example-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.example-topline .eyebrow { font-size:10px; color:#50644e; letter-spacing:.12em; }
.example-count { font-size:10px; letter-spacing:.08em; color:#596e54; }
.expertise-example h3 { font-size:clamp(32px,3.1vw,45px); line-height:1.13; letter-spacing:-.045em; }
.example-brief { font-size:16px; line-height:1.8; margin-top:20px; max-width:570px; }
.expert-contribution { margin:25px 0 28px; border-left:2px solid #9b7351; padding-left:18px; }
.expert-contribution .eyebrow { font-size:9px; color:#57694f; letter-spacing:.11em; margin-bottom:8px; }
.expert-contribution p { font-size:14px; line-height:1.8; color:#425641; max-width:550px; }
.example-deliverables { border-top:1px solid #c5d1be; padding-top:17px; margin-top:auto; }
.example-deliverables>span { font-size:9px; letter-spacing:.11em; color:#57694f; font-weight:700; }
.example-deliverables p { font-size:12px; color:#334d37; margin-top:6px; line-height:1.9; }
.example-deliverables b { font-weight:400; padding:0 5px; color:#61795b; }
.expertise-bottom { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:31px; }
.expertise-bottom>p { font-size:14px; line-height:1.9; }
.expertise-bottom>p>span { color:#586b59; font-size:12px; }
.expertise-bottom .text-link { flex-shrink:0; }
.europe-section { padding-bottom:86px; }
@media(max-width:1150px) {
  .expertise-browser { gap:30px; grid-template-columns:minmax(235px,.85fr) minmax(0,1.5fr); }
  .expertise-tab { font-size:16px; gap:13px; padding-left:13px; padding-right:13px; }
  .expertise-example { padding:30px; min-height:492px; }
  .expertise-heading>p { max-width:290px; }
}
@media(max-width:900px) {
  .expertise-browser { gap:24px; grid-template-columns:minmax(215px,.8fr) minmax(0,1.3fr); }
  .expertise-tab { font-size:15px; gap:11px; padding-left:11px; padding-right:11px; }
  .expertise-example { padding:27px; min-height:520px; }
  .expertise-heading { gap:30px; }
  .expertise-heading>p { max-width:240px; font-size:15px; }
  .example-brief { font-size:15px; }
  .expertise-bottom { align-items:flex-start; }
  .expertise-bottom>p { max-width:365px; }
}
@media(max-width:700px) {
  .work-section { padding-top:55px; padding-bottom:57px; }
  .expertise-heading { margin-bottom:28px; }
  .expertise-heading>p { max-width:none; padding:0; margin-top:19px; }
  .expertise-browser { grid-template-columns:1fr; gap:22px; }
  .expertise-tabs { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
  .expertise-tab { min-height:70px; padding:14px 10px; gap:9px; font-size:13px; }
  .expertise-arrow { display:none; }
  .expertise-index { font-size:9px; }
  .expertise-example { min-height:495px; padding:27px 24px 24px; }
  .expertise-example h3 { font-size:34px; }
  .example-topline { margin-bottom:22px; }
  .example-topline .eyebrow,.example-count { font-size:9px; }
  .example-brief { font-size:15px; margin-top:19px; }
  .expert-contribution { margin-top:23px; margin-bottom:24px; padding-left:15px; }
  .expert-contribution p { font-size:14px; }
  .example-deliverables p { font-size:12px; }
  .expertise-bottom { flex-direction:column; align-items:flex-start; gap:12px; margin-top:23px; }
  .expertise-bottom>p { font-size:13px; }
  .expertise-bottom>p>span { font-size:12px; }
  .europe-section { padding-bottom:63px; }
}
@media(max-width:359px) {
  .expertise-tabs { gap:0 10px; }
  .expertise-tab { padding-left:9px; padding-right:9px; font-size:12px; }
  .expertise-example { padding:23px 20px; }
  .expertise-example h3 { font-size:30px; }
  .example-brief { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .expertise-tab { transition:none; }
}

/* A short enquiry form replaces the downloadable-brief contact flow. */
.contact-inner { gap:7%; grid-template-columns:1fr 1.1fr; }
.contact-email { display:inline-flex; align-items:center; gap:23px; min-height:44px; font-size:18px; border-bottom:1px solid #a6bba880; padding:5px 0 8px; margin:4px 0 7px; }
.contact-email:hover { color:#d9e8cc; }
.enquiry-form { position:relative; background:#f3f5ee; color:var(--ink); padding:34px; text-align:left; }
.enquiry-form h3 { font-size:29px; line-height:1.25; margin-bottom:27px; }
.enquiry-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:23px 17px; }
.enquiry-field { min-width:0; }
.enquiry-field label { display:block; font-size:13px; font-weight:600; margin-bottom:9px; }
.enquiry-field input,.enquiry-field textarea { width:100%; min-width:0; border:1px solid #9eafa0; border-radius:2px; background:#fcfdf8; color:var(--ink); padding:12px 13px; font:inherit; font-size:16px; line-height:1.6; }
.enquiry-field input { min-height:50px; }
.enquiry-field textarea { display:block; resize:vertical; min-height:140px; }
.enquiry-field input::placeholder,.enquiry-field textarea::placeholder { color:#68796c; opacity:1; font-size:14px; }
.enquiry-field input:focus-visible,.enquiry-field textarea:focus-visible { outline:2px solid #8e633e; outline-offset:3px; }
.enquiry-message { grid-column:1 / -1; }
.enquiry-privacy { font-size:11px; line-height:1.8; color:#506250; margin:20px 0; }
.enquiry-privacy a { text-decoration:underline; text-underline-offset:3px; }
.enquiry-submit { width:100%; justify-content:space-between; }
.enquiry-submit:disabled { cursor:not-allowed; opacity:.6; }
.enquiry-submit:disabled:hover { transform:none; }
.enquiry-status,.form-preview-note { font-size:12px; line-height:1.7; color:#536451; margin:14px 0 0; }
.enquiry-status:focus { outline:2px solid #8e633e; outline-offset:4px; }
.form-trap { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1150px) {
  .contact-inner { gap:5%; }
  .enquiry-form { padding:28px; }
  .enquiry-fields { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:700px) {
  .contact-inner { grid-template-columns:1fr; gap:35px; }
  .enquiry-form { padding:27px 24px; }
  .enquiry-form h3 { font-size:27px; margin-bottom:25px; }
  .enquiry-field label { font-size:14px; }
  .enquiry-field textarea { min-height:150px; }
  .enquiry-privacy { font-size:12px; }
  .contact-email { font-size:18px; }
}
@media(max-width:359px) {
  .enquiry-form { padding:25px 20px; }
  .enquiry-form h3 { font-size:25px; }
  .enquiry-field input::placeholder,.enquiry-field textarea::placeholder { font-size:13px; }
}
