/*
Theme Name: Pegdock
Theme URI: https://pegdock.com/
Author: Pegdock
Description: A custom inquiry-first theme for the Pegdock modular organization system.
Version: 1.0.1
Text Domain: pegdock
*/

:root { --ink:#17232c; --ink-soft:#566068; --paper:#f7f5f0; --sand:#e8e3da; --line:#d8d2c8; --signal:#566660; --cream:#fffdf9; --display:Georgia, 'Times New Roman', serif; --body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
button, input, select, textarea { font:inherit; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.site-main { overflow:hidden; }
.shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; color:var(--signal); font-size:11px; font-weight:750; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:17px 0 currentColor; }
.kicker { max-width:560px; color:var(--ink-soft); font-size:18px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:-.04em; line-height:.98; }
h1 { max-width:800px; margin-bottom:28px; font-size:clamp(51px, 7.4vw, 104px); }
h2 { margin-bottom:20px; font-size:clamp(40px, 5.1vw, 68px); }
h3 { margin-bottom:10px; font-size:20px; letter-spacing:-.02em; }
.site-header { position:absolute; z-index:10; left:0; right:0; top:0; padding:24px 0; color:var(--cream); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:11px; font-size:21px; font-weight:800; letter-spacing:-.055em; }
.brand-grid { display:grid; grid-template-columns:repeat(2,6px); gap:3px; }
.brand-grid i { display:block; width:6px; height:6px; border-radius:50%; background:currentColor; }
.desktop-nav { display:flex; align-items:center; gap:27px; font-size:13px; font-weight:650; }
.desktop-nav a:not(.button) { opacity:.88; }
.desktop-nav a:not(.button):hover { opacity:1; }
.mobile-nav { display:none; }
.menu-toggle { display:none; border:0; color:inherit; background:none; padding:6px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid transparent; font-size:12px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; transition:.2s ease; cursor:pointer; }
.button-primary { color:#fff; background:var(--signal); border-color:var(--signal); }
.button-primary:hover { background:#c54827; border-color:#c54827; transform:translateY(-1px); }
.button-light { color:var(--cream); border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.04); }
.button-light:hover { color:var(--ink); background:var(--cream); }
.home .site-header { color:var(--ink); }
.hero { position:relative; min-height:790px; padding:185px 0 64px; display:flex; align-items:flex-end; color:var(--ink); background:#e9e4dc; isolation:isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(247,244,238,.14), rgba(247,244,238,.14)), url('assets/images/desk-system.jpg') center/cover; filter:saturate(.72) contrast(1.02); }
.hero-copy { position:relative; width:100%; max-width:650px; margin:0 auto; text-align:center; }
.hero-copy .eyebrow, .hero-note { display:none; }
.hero h1 { margin:0 auto 14px; font-size:clamp(38px, 4.25vw, 62px); letter-spacing:.012em; line-height:1.03; }
.hero-copy .intro { max-width:440px; margin:0 auto 23px; color:rgba(23,35,44,.75); font-size:15px; }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.intro-strip { padding:28px 0; border-bottom:1px solid var(--line); background:var(--cream); }
.intro-strip .shell { display:grid; grid-template-columns:1.1fr 2fr; align-items:center; gap:50px; }
.intro-strip strong { font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.intro-strip p { margin:0; color:var(--ink-soft); font-size:15px; }
.section { padding:116px 0; }
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:50px; }
.section-head .kicker { margin:18px 0 0; }
.spaces { background:var(--paper); }
.space-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:18px; }
.space-card { position:relative; min-height:475px; overflow:hidden; color:#fff; background:var(--ink); }
.space-card img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; opacity:.78; transition:transform .5s ease; }
.space-card:hover img { transform:scale(1.04); }
.space-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(11,19,24,.86) 100%); }
.space-card-content { position:absolute; z-index:1; left:27px; right:27px; bottom:25px; }
.space-card small { display:block; margin-bottom:9px; color:#d3dcda; font-size:11px; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.space-card h3 { margin:0; font-family:var(--display); font-size:29px; font-weight:400; }
.space-card p { max-width:280px; margin:8px 0 0; color:rgba(255,255,255,.75); font-size:13px; }
.fact-note { margin:26px 0 0; color:#657078; font-size:12px; }
.system { background:var(--ink); color:var(--cream); }
.system .kicker { color:rgba(255,255,255,.68); }
.system-grid { display:grid; grid-template-columns:repeat(3, 1fr); margin-top:58px; border-top:1px solid rgba(255,255,255,.23); border-left:1px solid rgba(255,255,255,.23); }
.system-card { min-height:258px; padding:28px; border-right:1px solid rgba(255,255,255,.23); border-bottom:1px solid rgba(255,255,255,.23); }
.system-number { margin-bottom:65px; color:#bdc8c4; font-size:12px; font-weight:800; letter-spacing:.12em; }
.system-card h3 { font-family:var(--display); font-size:30px; font-weight:400; }
.system-card p { color:rgba(255,255,255,.66); font-size:14px; }
.quote-band { background:var(--sand); padding:88px 0; }
.quote-band .shell { display:grid; grid-template-columns:1fr 1.02fr; gap:85px; align-items:end; }
.quote-display { margin:0; max-width:535px; font-family:var(--display); font-size:clamp(33px, 4vw, 52px); line-height:1.05; letter-spacing:-.035em; }
.quote-support { color:var(--ink-soft); }
.quote-support p { max-width:440px; }
.resources { background:var(--cream); }
.resource-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.resource { min-height:250px; padding:29px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.resource .resource-tag { display:block; color:var(--signal); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.resource h3 { margin-top:52px; font-family:var(--display); font-size:29px; font-weight:400; }
.resource p { color:var(--ink-soft); font-size:14px; }
.resource a { display:inline-block; margin-top:9px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-decoration:underline; text-underline-offset:5px; }
.rfq { padding:115px 0; background:var(--paper); }
.rfq-layout { display:grid; grid-template-columns:.86fr 1.14fr; gap:80px; }
.rfq-copy { position:sticky; top:32px; align-self:start; }
.rfq-copy p { max-width:420px; color:var(--ink-soft); }
.rfq-points { margin:31px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.rfq-points li { padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.rfq-points li::before { content:'+'; display:inline-block; width:20px; color:var(--signal); font-weight:800; }
.quote-form { padding:37px; background:var(--cream); border:1px solid var(--line); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:block; margin-bottom:19px; }
.field label { display:block; margin-bottom:7px; color:var(--ink-soft); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.field input, .field select, .field textarea { width:100%; border:1px solid #c9c1b5; border-radius:0; padding:12px 13px; color:var(--ink); background:#fff; outline:none; }
.field textarea { min-height:120px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--signal); box-shadow:0 0 0 2px rgba(221,91,54,.12); }
.form-privacy { color:#687178; font-size:12px; }
.form-message { margin:0 0 20px; padding:12px 14px; font-size:14px; }
.form-success { color:#205c3e; background:#e4f1e8; }
.form-error { color:#8a2f1d; background:#f8e4df; }
.site-footer { padding:58px 0 25px; color:rgba(255,255,255,.72); background:#101b23; }
.footer-top { display:grid; grid-template-columns:1.2fr .7fr .7fr; gap:40px; padding-bottom:55px; }
.footer-brand p { max-width:350px; margin-top:16px; font-size:14px; }
.footer-column h3 { color:#fff; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.footer-column a { display:block; margin:10px 0; font-size:14px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:21px; border-top:1px solid rgba(255,255,255,.17); color:rgba(255,255,255,.45); font-size:12px; }

@media (max-width:800px) { .shell { width:min(100% - 34px, 1180px); } .site-header { padding:18px 0; } .desktop-nav { display:none; } .menu-toggle { display:block; } .mobile-nav { display:none; padding:20px 0 5px; } .mobile-nav.is-open { display:grid; } .mobile-nav a { padding:12px 0; border-top:1px solid rgba(23,35,44,.18); font-size:14px; } .hero { min-height:650px; padding-top:140px; } .hero::before { background-position:62% center; } .hero h1 { font-size:40px; } .intro-strip .shell, .section-head, .quote-band .shell, .rfq-layout { grid-template-columns:1fr; gap:25px; } .section { padding:77px 0; } .space-grid, .system-grid, .resource-list { grid-template-columns:1fr; } .space-card { min-height:370px; } .system-card { min-height:0; } .system-number { margin-bottom:32px; } .field-grid { grid-template-columns:1fr; gap:0; } .quote-form { padding:25px; } .rfq-copy { position:static; } .footer-top { grid-template-columns:1fr; gap:24px; } .footer-bottom { display:block; } .footer-bottom p + p { margin-top:9px; } }
