
:root{
  --paper:#f7f5f1;
  --white:#ffffff;
  --ink:#20201d;
  --muted:#6d6961;
  --line:#d9d4cc;
  --soft:#efebe5;
  --max:1720px;
  --pad:clamp(18px,3.1vw,58px);
  --header:92px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{
  margin:0;color:var(--ink);background:var(--paper);
  font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute;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;left:-9999px;top:12px;z-index:1000;background:#fff;padding:12px 16px}
.skip-link:focus{left:12px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(247,245,241,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);pointer-events:auto}
.header-inner{max-width:var(--max);margin:0 auto;min-height:var(--header);padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:28px;pointer-events:auto}
.brand{display:block;flex:0 0 auto;position:relative;z-index:102}
.brand img{width:245px;height:54px;object-fit:contain;object-position:left center}
nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,1.6vw,28px);position:relative;z-index:102;pointer-events:auto!important}
nav a{display:inline-flex;align-items:center;min-height:34px;text-decoration:none;text-transform:uppercase;letter-spacing:.075em;font-size:12px;white-space:nowrap;position:relative;cursor:pointer;pointer-events:auto!important;color:var(--ink)}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ink);transition:right .25s ease}
nav a:hover:after,nav a:focus-visible:after,nav a.is-active:after{right:0}
.menu-toggle{display:none;border:1px solid var(--ink);background:transparent;padding:10px 13px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;cursor:pointer;position:relative;z-index:103}
.pillars{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--line);gap:1px}
.pillar{background:var(--paper);min-width:0;scroll-margin-top:var(--header)}
.pillar figure{margin:0;position:relative;overflow:hidden;background:#ddd}
.pillar figure img{width:100%;aspect-ratio:.78;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pillar:nth-child(1) figure img{object-position:center 48%}
.pillar:nth-child(2) figure img{object-position:center 50%}
.pillar:nth-child(3) figure img{object-position:center 50%}
.pillar-flow figure img{object-position:center 40%}
.pillar:hover figure img{transform:scale(1.012)}
.pillar figure figcaption,.materials-image figcaption{position:absolute;left:14px;bottom:12px;padding:6px 8px;background:rgba(247,245,241,.9);color:#45433e;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.pillar-copy{min-height:285px;padding:30px clamp(22px,2.5vw,42px) 34px;display:flex;flex-direction:column}
.pillar-copy h2{margin:0 0 18px;font-family:inherit;font-size:clamp(20px,1.6vw,28px);line-height:1.08;font-weight:500;text-transform:uppercase;letter-spacing:.01em}
.pillar-copy p{margin:0;max-width:34ch;font-size:15px;text-align:justify;text-justify:inter-word;hyphens:auto}
.pillar-copy>a,.text-link,.journal-copy>a{margin-top:auto;padding-top:28px;align-self:flex-start;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;color:var(--ink)}
.pillar-copy>a span,.text-link span,.journal-copy>a span{display:inline-block;margin-left:8px;transition:transform .2s}
.pillar-copy>a:hover span,.text-link:hover span,.journal-copy>a:hover span{transform:translateX(4px)}
.materials{max-width:var(--max);margin:1px auto 0;display:grid;grid-template-columns:minmax(280px,.54fr) minmax(0,1.46fr);background:var(--white);border-bottom:1px solid var(--line);scroll-margin-top:var(--header)}
.materials-copy{padding:clamp(44px,6vw,100px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-label,.tag,.process-no{margin:0 0 14px;color:var(--ink)!important;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700}
.materials-copy h2,.studio h2,.process h2,.journal h2,.contact h2{margin:0 0 26px;font-family:inherit;font-weight:400;letter-spacing:-.025em;line-height:1.03;font-size:clamp(38px,4.2vw,68px)}
.materials-copy p{margin:0 0 10px;max-width:42ch;text-align:justify;text-justify:inter-word;hyphens:auto}
.materials-copy .text-link{margin-top:25px}
.materials-image{margin:0;position:relative;min-height:100%}
.materials-image img{width:100%;height:100%;min-height:520px;object-fit:cover}
.studio{max-width:var(--max);margin:0 auto;padding:clamp(72px,9vw,150px) var(--pad);display:grid;grid-template-columns:.35fr 1fr 1fr;gap:clamp(28px,5vw,90px);border-bottom:1px solid var(--line);background:var(--paper);scroll-margin-top:var(--header)}
.studio .section-label{padding-top:10px}
.studio h2{max-width:10ch}
.studio-copy{max-width:58ch;font-size:17px}
.studio-copy p{margin:0 0 17px;text-align:justify;text-justify:inter-word;hyphens:auto}
.signature{font-weight:700;margin-top:32px!important;text-align:left!important}
.process{max-width:var(--max);margin:0 auto;padding:clamp(68px,8vw,130px) var(--pad);background:var(--white);scroll-margin-top:var(--header)}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:44px}
.section-head h2{margin-bottom:0}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.process-grid article{min-height:290px;padding:31px 30px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-no{display:block;margin-bottom:30px}
.process-grid h3{font-family:inherit;font-size:23px;line-height:1.15;font-weight:500;margin:0 0 18px}
.process-grid p{margin:0;font-size:14px;max-width:31ch;text-align:justify;text-justify:inter-word;hyphens:auto}
.journal{max-width:var(--max);margin:0 auto;padding:clamp(70px,8vw,130px) var(--pad);background:var(--paper);border-top:1px solid var(--line);scroll-margin-top:var(--header)}
.journal-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:46px}
.journal-head>div>p:last-child{max-width:62ch;margin:0;text-align:justify;text-justify:inter-word;hyphens:auto}
.journal-head h2{margin-bottom:18px}
.journal-head .text-link{margin-bottom:8px;white-space:nowrap}
.journal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.journal-card{display:flex;flex-direction:column;background:var(--white);min-width:0}
.journal-image{display:block;overflow:hidden;background:#ddd}
.journal-image img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .45s ease}
.journal-card:nth-child(1) .journal-image img{object-position:center 50%}
.journal-card:nth-child(2) .journal-image img{object-position:center 48%}
.journal-card:nth-child(3) .journal-image img{object-position:center 46%}
.journal-card:nth-child(4) .journal-image img{object-position:center 47%}
.journal-image:hover img{transform:scale(1.012)}
.journal-copy{display:flex;flex-direction:column;flex:1;padding:30px 32px 32px}
.journal-copy .tag{margin-bottom:12px}
.journal-copy h3{font-family:inherit;font-size:26px;line-height:1.13;font-weight:500;margin:0 0 17px;letter-spacing:-.015em}
.journal-copy p:not(.tag){font-size:15px;margin:0;text-align:justify;text-justify:inter-word;hyphens:auto}
.journal-copy>a{margin-top:auto}
.image-credit{color:var(--muted);font-size:11px;margin:17px 0 0}
.contact{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,9vw,160px);padding:clamp(76px,9vw,150px) var(--pad);background:var(--paper);color:var(--ink);border-top:1px solid var(--line);scroll-margin-top:var(--header)}
.contact h2{color:var(--ink);max-width:10ch}
.contact-copy>p:not(.eyebrow){max-width:52ch;color:var(--ink);text-align:justify;text-justify:inter-word;hyphens:auto}
.contact address{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:32px}
.contact address a{text-decoration:none}
.contact-form{display:grid;gap:20px;background:var(--white);border:1px solid var(--line);padding:clamp(28px,4vw,54px)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-form label{display:grid;gap:8px}
.contact-form label>span{font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.contact-form small{font-size:inherit;text-transform:none}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a8a39b;border-radius:0;padding:12px 0;outline:none}
.contact-form select{color:var(--ink)}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--ink)}
.consent{grid-template-columns:auto 1fr!important;align-items:start;gap:11px!important;text-transform:none}
.consent input{width:auto;margin-top:5px}
.consent span{text-transform:none!important;letter-spacing:0!important;line-height:1.5;color:var(--muted)}
.contact-form button{justify-self:start;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:14px 22px;text-transform:uppercase;letter-spacing:.09em;font-size:11px;cursor:pointer;transition:.2s}
.contact-form button:hover{background:transparent;color:var(--ink)}
.honeypot{position:absolute;left:-9999px}
.site-footer{max-width:var(--max);margin:0 auto;padding:54px var(--pad) 28px;display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:42px;background:var(--white);border-top:1px solid var(--line);font-size:13px}
.footer-brand img{width:240px;height:62px;object-fit:contain;object-position:left center;margin-bottom:17px}
.footer-brand p{max-width:42ch;color:var(--muted);text-align:justify;text-justify:inter-word;hyphens:auto}
.site-footer>div:not(.footer-bottom){display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.site-footer a{text-decoration:none}
.footer-label{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;margin:0 0 11px}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:23px;margin-top:12px}
.legal-page{max-width:920px;margin:0 auto;padding:80px var(--pad) 120px}
.legal-page h1{font-family:inherit;font-size:clamp(42px,6vw,78px);font-weight:400;line-height:1;margin:0 0 40px}
.legal-page h2{font-family:inherit;font-size:28px;font-weight:500;margin:42px 0 14px}
.legal-page p,.legal-page li{max-width:75ch;text-align:justify;text-justify:inter-word;hyphens:auto}
.back-link{display:inline-block;margin-bottom:45px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;text-decoration:none}
.status-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:var(--paper)}
.status-card{max-width:700px;background:#fff;padding:clamp(35px,6vw,80px);border:1px solid var(--line);text-align:center}
.status-card h1{font-family:inherit;font-weight:400;font-size:clamp(42px,6vw,68px);margin:0 0 20px}
.status-card a{display:inline-block;margin-top:22px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
@media(max-width:1220px){
  :root{--header:82px}.header-inner{min-height:var(--header)}.brand img{width:215px}nav{gap:14px}nav a{font-size:10px}.pillar-copy{min-height:305px}.site-footer{grid-template-columns:1.2fr 1fr 1fr}.site-footer>div:nth-child(4){grid-column:3}
}
@media(max-width:900px){
  :root{--header:74px}.header-inner{min-height:var(--header)}.menu-toggle{display:block}
  nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px var(--pad) 28px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}
  nav.open{display:flex}nav a{font-size:12px}.pillars{grid-template-columns:repeat(2,1fr)}.materials{grid-template-columns:1fr}.materials-image img{min-height:420px}.studio{grid-template-columns:1fr}.studio h2{max-width:13ch}.process-grid{grid-template-columns:repeat(2,1fr)}.journal-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:nth-child(4){grid-column:auto}
}
@media(max-width:620px){
  :root{--pad:18px}.brand img{width:185px;height:46px}.pillars{grid-template-columns:1fr}.pillar figure img{aspect-ratio:.86}.pillar-copy{min-height:235px;padding:26px 22px 30px}.pillar-copy h2{font-size:24px}.materials-image img{min-height:330px}.studio,.process,.journal,.contact{padding-top:72px;padding-bottom:72px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:240px}.journal-head{display:block}.journal-head .text-link{display:inline-block;margin-top:20px}.form-row{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V6: compact four-column journal, exact LinkedIn images */
@media (min-width:1101px){
  .journal{padding-left:clamp(26px,4vw,72px);padding-right:clamp(26px,4vw,72px)}
  .journal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .journal-image img{aspect-ratio:4/3;height:auto;object-fit:cover}
  .journal-copy{padding:20px 18px 22px}
  .journal-copy h3{font-size:18px;line-height:1.15;margin-bottom:12px}
  .journal-copy p:not(.tag){font-size:12px;line-height:1.45}
  .journal-copy>a{font-size:9px;margin-top:20px}
}
@media (min-width:721px) and (max-width:1100px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.journal-grid{grid-template-columns:1fr}}
