/* Company page: supplied spaces, confirmed founder and attributed design history. */
:root { --forest:#173d35; --forest-deep:#102f29; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:#173d35; font:16px/1.65 Arial,Helvetica,sans-serif; }
a { color:inherit; }
.company-page { --co-muted:#59675f; max-width:1600px; margin:auto; padding:52px clamp(20px,4.1vw,72px) 80px; }
.company-page h1,.company-page h2,.company-page h3,.company-viewer h2 { font:400 48px/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.045em; }
.company-page h1,.company-page h2,.company-page h3,.company-page p,.company-page figure { margin:0; }
.company-page a { text-decoration:none; }
.co-kicker { color:#b7482e; font-size:12px; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
.co-hero { display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(28px,4vw,64px); align-items:center; }
.co-hero h1 { font-size:clamp(48px,5.2vw,78px); margin:24px 0; line-height:1.04; }
.co-hero-copy>p:not(.co-kicker) { max-width:430px; font-size:18px; color:var(--co-muted); }
.co-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:28px; }
.co-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 24px; background:#173d35; border:1px solid #173d35; border-radius:30px; color:#fffaf2; font-size:16px; transition:transform .2s,background .2s; }
.co-button:hover { background:#28594d; transform:translateY(-2px); }
.co-text-link { min-height:48px; display:inline-flex; align-items:center; text-decoration:underline !important; text-underline-offset:6px; text-decoration-color:#a4aea5 !important; }
.co-hero-photo { position:relative; }
.co-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:1.16; object-fit:cover; object-position:center 35%; border-radius:24px; }
.co-hero-photo figcaption { position:absolute; left:20px; bottom:20px; padding:8px 16px; background:#fffaf2; border-radius:24px; font-size:14px; }
.co-story { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:clamp(28px,5vw,80px); padding:44px 0; margin:32px 0 56px; border-bottom:1px solid #dedfd4; }
.co-origin { display:flex; align-items:center; gap:22px; }
.co-origin strong { font:400 clamp(64px,6.5vw,96px)/1 Georgia,serif; letter-spacing:-.06em; }
.co-origin p { max-width:145px; font-size:16px; color:var(--co-muted); }
.co-story-copy { font-size:19px; line-height:1.7; max-width:730px; }
.co-founder { scroll-margin-top:125px; background:#173d35; color:#fffaf2; border-radius:24px; overflow:hidden; display:grid; grid-template-columns:1.15fr 1fr; }
.co-founder-photo { display:flex; flex-direction:column; justify-content:center; padding:24px; }
.co-founder-photo img { display:block; width:100%; height:auto; border-radius:14px; }
.co-founder-photo figcaption { padding:12px 0 0; font-size:14px; color:#dbe4dc; }
.co-founder-copy { padding:clamp(28px,4vw,60px); align-self:center; }
.co-founder .co-kicker { color:#e4c9a2; }
.company-page h2 { font-size:clamp(35px,3.6vw,54px); }
.co-founder h2 { margin:20px 0 24px; }
.co-founder-copy>p:not(.co-kicker) { color:#dbe4dc; font-size:17px; }
.co-founder-name { display:block; font-size:21px; font-weight:400; margin-top:28px; }
.co-founder-role { display:block; color:#e4c9a2; font-size:15px; margin-top:4px; }
.co-awards { margin-top:84px; scroll-margin-top:128px; }
.co-awards-layout { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; }
.co-awards-heading h2 { margin:16px 0 26px; font-size:clamp(34px,3.2vw,48px); }
.co-awards-group img { width:100%; height:auto; display:block; border-radius:20px; }
.co-awards-group figcaption { font-size:14px; color:var(--co-muted); padding-top:12px; }
.co-award-records { list-style:none; margin:0; padding:0; border-top:1px solid #cdd4c9; }
.co-award { min-width:0; display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:16px; padding:18px 0; min-height:94px; border-bottom:1px solid #cdd4c9; transition:background .2s; }
.co-award:hover { background:#f5e3c9; }
.co-award-year { color:#b7482e; font:400 25px/1 Georgia,serif; }
.company-page .co-award h3 { font-size:24px; letter-spacing:-.03em; margin:0 0 5px; line-height:1.2; }
.co-award-label p { color:var(--co-muted); font-size:16px; }
.co-award-action { font-size:15px; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#a4aea5; }
.company-page .co-awards-context { max-width:580px; margin-top:20px; color:var(--co-muted); font-size:15px; line-height:1.65; }
.co-exhibition { margin-top:80px; padding-top:40px; border-top:1px solid #dedfd4; }
.co-exhibition-intro { max-width:380px; }
.co-exhibition-intro p { color:var(--co-muted); font-size:17px; }
.co-exhibition-intro .co-text-link { margin-top:14px; }
.co-exhibition-gallery { display:grid; grid-template-columns:1.7778fr 1fr; gap:24px; align-items:start; }
.co-exhibition-gallery img { display:block; width:100%; height:auto; border-radius:20px; }
.co-exhibition-gallery figcaption { padding-top:12px; color:var(--co-muted); font-size:15px; }
.co-spaces { margin-top:84px; }
.co-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:28px; }
.co-section-heading h2 { margin-top:16px; }
.co-section-heading>p { color:var(--co-muted); font-size:17px; max-width:380px; }
.co-space-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:28px; align-items:start; }
.co-space img { width:100%; height:auto; display:block; border-radius:20px; }
.co-space figcaption { padding-top:18px; }
.company-page .co-space h3 { font-size:27px; letter-spacing:-.03em; }
.co-space figcaption p { color:var(--co-muted); font-size:16px; margin-top:8px; }
.co-visit { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:64px; padding:40px; background:#f5e3c9; border-radius:24px; }
.co-visit h2 { font-size:clamp(32px,3.1vw,44px); }
.co-visit p { color:var(--co-muted); max-width:640px; margin-top:16px; font-size:17px; }
.co-visit .co-button { flex-shrink:0; }
.company-page a:focus-visible,.company-viewer a:focus-visible,.company-viewer button:focus-visible { outline:3px solid #b7482e; outline-offset:5px; }
.company-viewer { width:min(1100px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:20px; color:#173d35; background:#fffaf2; }
.company-viewer::backdrop { background:rgb(10 30 25 / .82); }
.co-viewer-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; }
.company-viewer h2 { font-size:28px; line-height:1.15; margin:0; }
.co-viewer-close { flex-shrink:0; min-width:48px; min-height:48px; border:1px solid #a6b3a8; border-radius:50%; background:transparent; color:#173d35; font-size:28px; cursor:pointer; }
.co-viewer-image { display:block; width:100%; height:min(64dvh,760px); object-fit:contain; background:#eeeae0; padding:16px; }
.co-viewer-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; }
.co-viewer-foot p { margin:0; max-width:760px; font-size:15px; overflow-wrap:anywhere; }
.co-viewer-foot a { flex-shrink:0; font-size:16px; }
html:has(.company-viewer[open]) { overflow:hidden; }
@media(max-width:1000px) {
  .co-hero h1 { font-size:clamp(42px,5.2vw,56px); }
  .co-founder { grid-template-columns:1fr 1fr; }
  .co-founder-copy { padding:28px; }
  .co-founder-photo { padding:20px; }
  .co-award { grid-template-columns:48px 1fr auto; gap:12px; }
  .co-award-year { font-size:23px; }
  .company-page .co-award h3 { font-size:22px; }
}
@media(max-width:760px) {
  .company-page { padding-top:32px; padding-bottom:48px; }
  .co-hero { grid-template-columns:1fr; gap:28px; }
  .co-hero h1 { font-size:clamp(47px,8.5vw,64px); margin:18px 0; }
  .co-hero-copy>p:not(.co-kicker) { max-width:550px; font-size:17px; }
  .co-hero-photo img { aspect-ratio:1.2; }
  .co-story { grid-template-columns:1fr; gap:24px; margin:16px 0 40px; padding:28px 0; }
  .co-story-copy { font-size:18px; }
  .co-founder { grid-template-columns:1fr; scroll-margin-top:96px; }
  .co-founder-copy { padding:12px 28px 32px; }
  .co-founder-photo { padding:20px 20px 12px; }
  .co-founder h2 { margin:16px 0 20px; }
  .co-awards,.co-spaces { margin-top:48px; scroll-margin-top:96px; }
  .co-awards-layout { grid-template-columns:1fr; gap:28px; }
  .co-awards-heading h2 { margin:16px 0 24px; }
  .co-exhibition { margin-top:48px; padding-top:28px; }
  .co-exhibition-intro { max-width:550px; margin-top:20px; }
  .co-exhibition-gallery { gap:16px; }
  .co-section-heading { display:block; }
  .co-section-heading>p { max-width:550px; margin-top:20px; }
  .co-space-grid { grid-template-columns:1fr; gap:32px; }
  .co-visit { flex-direction:column; align-items:start; gap:24px; padding:28px; margin-top:40px; }
  .co-viewer-foot { flex-direction:column; align-items:start; gap:10px; }
  .co-viewer-head { padding:14px 16px; }
  .company-viewer h2 { font-size:24px; }
  .co-viewer-image { height:52dvh; padding:10px; }
}
@media(max-width:480px) {
  .co-award { grid-template-columns:42px 1fr auto; gap:10px; padding:16px 0; }
  .co-award-year { font-size:21px; }
  .company-page .co-award h3 { font-size:21px; }
  .co-exhibition-gallery { grid-template-columns:1fr; gap:28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .company-page * { transition:none !important; } }
