:root { color: #112c3a; background: #f7f0df; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-synthesis: none; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f7f0df; }
a { color: inherit; }
.site-header, .opening, .company-brief, .working-method, .data-ledger, .contact-ledger, footer { width: min(1190px, calc(100% - 48px)); margin: 0 auto; }
.site-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 88px; border-bottom: 1px solid #c8bda6; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: #112c3a; font-size: 14px; font-weight: 900; letter-spacing: .14em; text-decoration: none; }
.brand-mark { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; color: #f7f0df; background: #112c3a; font-size: 12px; letter-spacing: 0; }
nav { display: flex; gap: 25px; }
nav a { color: #55636a; font-size: 12px; text-decoration: none; }
nav a:hover, footer a:hover { color: #d84b2a; }
.header-index { justify-self: end; color: #758075; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.opening { position: relative; padding: 76px 0 0; }
.edition { margin: 0; color: #d84b2a; font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.opening-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 90px; align-items: end; padding: 21px 0 58px; }
h1, h2, p { margin-top: 0; }
h1, h2 { letter-spacing: -.065em; }
h1 { margin: 0; color: #112c3a; font-size: clamp(54px, 7.8vw, 105px); line-height: .87; }
em { color: #d84b2a; font-style: normal; }
.opening-note { display: grid; grid-template-columns: 46px 1fr; gap: 10px 17px; align-items: start; padding-bottom: 6px; }
.note-number { color: #19a9a1; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.opening-note p { grid-column: 2; margin: 0; color: #45565c; font-size: 15px; line-height: 1.7; }
.opening-note a { grid-column: 2; margin-top: 6px; color: #112c3a; font-size: 12px; font-weight: 900; text-decoration: none; }
.opening-note a span { color: #d84b2a; font-size: 17px; }
.signal-board { display: grid; grid-template-columns: 1fr 1fr 1fr 188px; min-height: 184px; color: #f7f0df; background: #112c3a; }
.signal-key { display: flex; flex-direction: column; justify-content: space-between; padding: 25px; border-right: 1px solid rgba(247,240,223,.26); color: #dae5df; font-size: 13px; line-height: 1.45; }
.signal-key i { display: block; width: 11px; height: 11px; border-radius: 50%; background: #63d4c5; }
.signal-board strong { align-self: end; padding: 25px; color: #f0bd51; font-size: 27px; letter-spacing: -.08em; line-height: .82; }
.company-brief, .data-ledger { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 75px; padding: 120px 0; }
.section-label { display: flex; gap: 12px; color: #718078; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.section-label b { color: #d84b2a; }
.brief-copy { display: grid; grid-template-columns: .82fr 1.18fr; gap: 78px; }
.intro { max-width: 375px; margin: 0; color: #112c3a; font-size: 31px; font-weight: 750; letter-spacing: -.045em; line-height: 1.18; }
dl { margin: 0; border-top: 2px solid #112c3a; }
dl div { display: grid; grid-template-columns: 135px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid #c8bda6; }
dt { color: #758075; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
dd { margin: 0; color: #405158; font-size: 14px; line-height: 1.65; }
dd a, .contact-foot a { color: #112c3a; font-weight: 800; text-underline-offset: 4px; }
.working-method { width: 100%; padding: 102px max(24px, calc((100% - 1190px) / 2)) 112px; color: #112c3a; background: #d9eae2; }
.method-header { display: grid; grid-template-columns: 190px minmax(0, 700px); gap: 75px; padding-bottom: 63px; }
.method-header p { max-width: 670px; margin: 0; font-size: clamp(27px, 3.6vw, 45px); font-weight: 800; letter-spacing: -.055em; line-height: 1.05; }
.method-list { border-top: 2px solid #112c3a; }
.method-list article { display: grid; grid-template-columns: 110px 265px 1fr; gap: 20px; padding: 29px 0 34px; border-bottom: 1px solid rgba(17,44,58,.33); }
.method-list article > span { color: #d84b2a; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.method-list article div { display: contents; }
.method-list h2 { grid-column: 2; margin: 0; font-size: 29px; }
.method-list p { grid-column: 3; max-width: 460px; margin: 3px 0 0; color: #405158; font-size: 15px; line-height: 1.7; }
.data-ledger { position: relative; padding-bottom: 137px; }
.ledger-main { display: grid; grid-template-columns: 1fr .9fr; gap: 77px; }
.ledger-main h2 { max-width: 560px; margin: 0; font-size: clamp(45px, 5.8vw, 78px); line-height: .91; }
.ledger-copy { align-self: end; }
.ledger-copy p { margin: 0 0 20px; color: #45565c; font-size: 16px; line-height: 1.8; }
.ledger-copy p:last-child { margin-bottom: 0; }
.ledger-stamp { position: absolute; right: 0; bottom: 32px; display: grid; grid-template-columns: 1fr auto; gap: 10px; width: 248px; min-height: 154px; padding: 20px; border: 1px solid #112c3a; color: #112c3a; background: #f0bd51; transform: rotate(-4deg); }
.ledger-stamp span { color: #8d5c16; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.ledger-stamp b { grid-column: 1; align-self: end; font-size: 23px; letter-spacing: -.07em; line-height: .84; }
.ledger-stamp i { grid-column: 2; grid-row: 1 / span 2; align-self: end; font-size: 42px; font-style: normal; }
.contact-ledger { display: grid; grid-template-columns: 190px 1fr; gap: 75px; margin-top: 80px; padding: 44px 48px 31px; color: #f7f0df; background: #112c3a; }
.contact-label span { color: #63d4c5; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.contact-label p { margin: 13px 0 0; color: #a9c0bb; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.contact-main { display: grid; grid-template-columns: 1fr auto; gap: 38px; align-items: end; padding-bottom: 39px; border-bottom: 1px solid rgba(247,240,223,.27); }
.contact-main h2 { margin: 0; font-size: clamp(40px, 5vw, 67px); line-height: .93; }
.contact-main a { align-self: end; color: #f0bd51; font-size: clamp(17px, 2.2vw, 28px); font-weight: 900; text-decoration: none; }
.contact-main a span { color: #63d4c5; }
.contact-foot { grid-column: 2; display: flex; justify-content: space-between; gap: 22px; color: #a9c0bb; font-size: 13px; }
.contact-foot p { margin: 0; }
.contact-foot a { color: #f7f0df; }
footer { display: grid; grid-template-columns: 1fr auto auto; gap: 40px; align-items: center; min-height: 108px; color: #758075; font-size: 12px; }
footer div { display: flex; gap: 20px; } footer a { color: #58666a; text-decoration: none; }
@media (max-width: 780px) {
  .site-header, .opening, .company-brief, .working-method, .data-ledger, .contact-ledger, footer { width: min(100% - 32px, 1190px); }
  .site-header { grid-template-columns: 1fr auto; min-height: 72px; } .header-index { display: none; } nav { gap: 13px; } nav a { font-size: 10px; }
  .opening { padding-top: 59px; } .opening-grid, .brief-copy, .ledger-main, .contact-main { grid-template-columns: 1fr; gap: 36px; }
  .opening-grid { padding-bottom: 47px; } .signal-board { grid-template-columns: 1fr 1fr; } .signal-key { min-height: 145px; border-bottom: 1px solid rgba(247,240,223,.26); } .signal-board strong { min-height: 145px; }
  .company-brief, .data-ledger { grid-template-columns: 1fr; gap: 31px; padding-top: 82px; padding-bottom: 82px; }
  dl div { grid-template-columns: 1fr; gap: 6px; }
  .working-method { width: 100%; padding: 78px 16px; } .method-header { grid-template-columns: 1fr; gap: 28px; padding-bottom: 45px; }
  .method-list article { grid-template-columns: 46px 1fr; gap: 7px 15px; } .method-list h2, .method-list p { grid-column: 2; } .method-list p { margin-top: 4px; }
  .ledger-stamp { position: static; margin: 28px 0 0 auto; }
  .contact-ledger { grid-template-columns: 1fr; gap: 35px; margin-top: 54px; padding: 34px 26px 28px; } .contact-foot { grid-column: 1; flex-direction: column; }
  footer { grid-template-columns: 1fr; gap: 17px; padding: 29px 0; }
}
