/* HostGator production stylesheet - no build step required. */

:root { --paper:#ffffff; --soft:#f7f7f7; --ink:#111111; --muted:#6b6b6b; --line:#e4e4e4; --brass:#111111; --night:#090909; --white:#ffffff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Cormorant Garamond", Georgia, serif; font-size:17px; }
body, button, input, select, textarea { -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
[hidden] { display:none!important; }
button, input, select, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--brass); outline-offset:4px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.footer-brand { font-family:"Cormorant Garamond", Georgia, serif; font-weight:500; }
em { font-weight:400; }

.site-header,.brief-header,.portal-header { height:88px; padding:0 clamp(24px,5vw,80px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); }
.wordmark { display:flex; align-items:center; width:max-content; }
.wordmark>img { width:42px; height:42px; object-fit:contain; }
.site-header nav { display:flex; gap:36px; font:500 11px Inter,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.site-header nav a { position:relative; }
.site-header nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--ink); transition:.25s; }
.site-header nav a:hover:after { right:0; }
.header-cta { justify-self:end; padding-bottom:7px; border-bottom:1px solid var(--ink); font:500 11px Inter,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }

.hero { min-height:calc(100vh - 88px); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:90px 24px 36px; text-align:center; }
.eyebrow,.section-kicker { color:var(--muted); font:500 10px Inter,Arial,sans-serif; letter-spacing:.25em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:16px; }
.eyebrow span { width:44px; height:1px; background:var(--line); }
.hero-logo { width:clamp(280px,40vw,560px); height:auto; margin:0 0 52px; }
.hero .eyebrow { margin-bottom:44px; }
.hero h1 { margin:0 0 28px; font-size:clamp(62px,9vw,126px); line-height:.88; letter-spacing:-.045em; }
.hero h1 em { display:inline-block; color:var(--ink); }
.hero-copy { max-width:620px; color:#2a2a2a; font:400 clamp(19px,1.7vw,23px)/1.65 "Cormorant Garamond",Georgia,serif; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:24px; }
.button { min-height:52px; padding:0 24px; border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:46px; cursor:pointer; font:500 12px Inter,Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; transition:.2s; }
.button-dark { background:var(--ink); color:var(--white); }
.button-dark:hover { background:#333333; }
.button-light { background:var(--paper); color:var(--ink); }
.button-light:hover { background:#fff; }
.text-link { border-bottom:1px solid var(--ink); padding:8px 0; font:500 12px Inter,Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.hero-meta { width:100%; display:flex; justify-content:space-between; padding-top:80px; margin-top:auto; color:var(--muted); font:500 9px Inter,Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; }

.editorial-grid { display:grid; grid-template-columns:1fr 2.5fr 1.2fr; gap:clamp(40px,7vw,120px); }
.manifesto { padding:140px clamp(24px,8vw,140px); border-top:1px solid var(--line); background:#fafafa; }
.manifesto h2 { font-size:clamp(44px,5.5vw,82px); line-height:.98; letter-spacing:-.045em; }
.manifesto .lead { max-width:700px; color:var(--ink); font:italic 500 clamp(24px,2.5vw,36px)/1.3 "Cormorant Garamond",Georgia,serif; }
.manifesto-copy { padding-top:8px; color:#2a2a2a; font:400 17px/1.75 "Cormorant Garamond",Georgia,serif; }

.services-section,.approach-section,.work-section { padding:140px clamp(24px,7vw,120px); }
.section-heading { display:grid; grid-template-columns:1.7fr 1fr; gap:10vw; align-items:end; margin-bottom:80px; }
.section-heading h2 { margin:24px 0 0; font-size:clamp(48px,6vw,88px); line-height:.96; letter-spacing:-.055em; }
.section-heading h2 em { color:var(--ink); }
.section-heading>p { max-width:440px; color:var(--muted); font:400 17px/1.8 "Cormorant Garamond",Georgia,serif; }
.service-list { border-top:1px solid var(--line); }
.service-row { min-height:142px; display:grid; grid-template-columns:90px 1fr 1.3fr 40px; align-items:center; gap:40px; border-bottom:1px solid var(--line); transition:.25s; }
.service-row:hover { padding-left:18px; background:rgba(255,255,255,.35); }
.service-row>span { color:var(--muted); font:italic 500 13px "Cormorant Garamond",Georgia,serif; }
.service-row h3 { margin:0; font-size:clamp(25px,2.5vw,38px); }
.service-row p { margin:0; color:var(--muted); font:400 16px/1.65 "Cormorant Garamond",Georgia,serif; }
.service-row>a { justify-self:end; font-size:22px; }

.work-section { background:var(--night); color:var(--white); }
.work-section .section-kicker,.work-section .section-heading>p { color:#a8a8a8; }
.work-section .section-heading h2 em { color:var(--white); }
.work-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:18px; }
.work-card { min-height:560px; display:flex; flex-direction:column; padding:16px; }
.work-card-ink { background:transparent; }
.work-card-brass { background:#ffffff; color:#111111; }
.work-card-paper { background:#f1f1f1; color:#111111; }
.art { flex:1; display:flex; align-items:center; justify-content:center; }
.art-brand-seal img { width:min(78%,360px); height:auto; object-fit:contain; }
.art-editorial { flex-direction:column; align-items:flex-start; padding:35px; }
.art-editorial small { letter-spacing:.25em; border-bottom:1px solid currentColor; padding-bottom:10px; }
.art-editorial strong { margin-top:auto; font:500 65px/.85 "Cormorant Garamond",Georgia,serif; letter-spacing:-.06em; }
.art-system { flex-direction:column; gap:55px; }
.art-brand-logo { width:min(58%,210px); height:auto; object-fit:contain; }
.art-system div { width:100%; border-top:1px solid var(--ink); }
.art-system b { display:block; padding:10px 0; border-bottom:1px solid var(--ink); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.work-caption { display:flex; justify-content:space-between; border-top:1px solid currentColor; padding-top:14px; font-size:9px; letter-spacing:.18em; text-transform:uppercase; opacity:.75; }

.approach-section { background:#fafafa; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.process-grid article { min-height:330px; padding:36px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-grid article>span { color:var(--muted); font:italic 500 14px "Cormorant Garamond",Georgia,serif; }
.process-grid h3 { margin-top:70px; font-size:28px; }
.process-grid p { color:var(--muted); font:400 16px/1.65 "Cormorant Garamond",Georgia,serif; }

.brief-invite { padding:160px 24px; background:#080808; color:#ffffff; text-align:center; }
.section-kicker.light { color:#a8a8a8; }
.brief-invite h2 { margin:34px auto 28px; max-width:1000px; font-size:clamp(54px,7vw,104px); line-height:.94; letter-spacing:-.055em; }
.brief-invite p { max-width:640px; margin:0 auto 40px; font:400 18px/1.75 "Cormorant Garamond",Georgia,serif; color:#b8b8b8; }
.site-footer { padding:76px clamp(24px,7vw,120px) 28px; border-top:1px solid var(--line); background:#ffffff; }
.footer-top { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(60px,10vw,180px); align-items:start; }
.footer-brand img { display:block; width:104px; height:104px; object-fit:contain; }
.footer-brand p { margin:22px 0 0; font:italic 500 27px/1.15 "Cormorant Garamond",Georgia,serif; }
.footer-nav { display:grid; grid-template-columns:1fr 1.35fr; gap:clamp(36px,6vw,90px); justify-self:end; width:min(100%,560px); }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-column b { margin-bottom:12px; color:var(--muted); font:600 9px Inter,Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.footer-column a { font:500 18px/1.35 "Cormorant Garamond",Georgia,serif; }
.footer-column a:hover { opacity:.55; }
.footer-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:68px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font:500 9px/1.5 Inter,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.legal-page { max-width:860px; margin:0 auto; padding:100px 24px 140px; }
.legal-page h1 { font-size:clamp(54px,8vw,92px); line-height:.95; letter-spacing:-.05em; }
.legal-page h2 { margin-top:48px; font-size:30px; }
.legal-page p { font-size:19px; line-height:1.75; color:#333; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:24px; }
.mobile-portal { display:none; font:500 11px Inter,Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }

/* The Blueprint */
.brief-page { min-height:100vh; background:#ffffff; }
.brief-header,.portal-header { grid-template-columns:1fr 1fr; }
.brief-header>div,.portal-header>div { justify-self:end; display:flex; gap:30px; align-items:center; font:500 10px Inter,Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.brief-header>div span,.portal-header>div span { color:var(--brass); }
.brief-shell { min-height:calc(100vh - 88px); display:grid; grid-template-columns:300px minmax(0,780px); gap:clamp(50px,8vw,150px); justify-content:center; padding:70px clamp(24px,6vw,100px) 100px; }
.brief-progress { position:sticky; top:150px; height:max-content; }
.brief-progress>div:first-child { display:flex; justify-content:space-between; color:var(--muted); font:500 9px Inter,Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.progress-track { height:1px; margin:14px 0 36px; background:var(--line); }
.progress-track i { display:block;height:2px;background:var(--brass);transition:.3s; }
#progress-bar { width:17%; }
.brief-progress ol { margin:0; padding:0; list-style:none; }
.brief-progress li { display:flex; align-items:center; gap:16px; padding:12px 0; color:#8b8b8b; font:400 15px "Cormorant Garamond",Georgia,serif; }
.brief-progress li span { width:24px; color:#999999; font:italic 500 12px "Cormorant Garamond",Georgia,serif; }
.brief-progress li.active { color:var(--ink); }
.brief-progress li.active span,.brief-progress li.complete span { color:var(--brass); }
.brief-progress>p { margin-top:34px; color:var(--muted); font-size:11px; line-height:1.6; }
.brief-contact { display:inline-block; margin-top:10px; color:var(--ink); font:500 10px/1.5 Inter,Arial,sans-serif; letter-spacing:.04em; border-bottom:1px solid var(--line); }
.brief-form { min-width:0; }
.chapter { color:var(--ink); font:italic 500 16px "Cormorant Garamond",Georgia,serif; }
.form-kicker { margin:18px 0 16px; color:var(--muted); font:500 9px Inter,Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; }
.brief-form h1,.portal-welcome h1 { margin-bottom:22px; font-size:clamp(48px,6vw,76px); line-height:.96; letter-spacing:-.05em; }
.brief-form h1 em,.portal-welcome h1 em { color:var(--ink); }
.form-intro { max-width:620px; margin-bottom:55px; color:var(--muted); font:400 18px/1.7 "Cormorant Garamond",Georgia,serif; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.field,.prompt-field { display:block; margin-bottom:34px; }
.field>span,.prompt-field>span { display:flex; justify-content:space-between; margin-bottom:10px; font:500 10px Inter,Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.field>span i { color:var(--brass); font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.field input,.field select,.prompt-field textarea { width:100%; border:0; border-bottom:1px solid #999999; border-radius:0; padding:14px 2px; background:transparent; color:var(--ink); outline:none; }
.prompt-field textarea { border:1px solid var(--line); min-height:150px; padding:18px; resize:vertical; font:400 17px/1.7 "Cormorant Garamond",Georgia,serif; }
.field input:focus,.field select:focus { border-color:var(--brass); }
.prompt-field>small { display:block; margin:12px 0 8px; color:var(--muted); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.starter-list { display:flex; gap:8px; flex-wrap:wrap; }
.starter-list button { border:1px solid var(--line); background:transparent; padding:8px 11px; color:var(--muted); cursor:pointer; font:italic 500 13px "Cormorant Garamond",Georgia,serif; }
.starter-list button:hover { border-color:var(--brass); color:var(--ink); }
.service-picker { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); margin-bottom:42px; }
.service-picker button { min-height:74px; display:grid; grid-template-columns:40px 1fr 24px; align-items:center; text-align:left; gap:12px; padding:16px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; cursor:pointer; }
.service-picker button>span { color:var(--muted); font:italic 500 11px "Cormorant Garamond",Georgia,serif; }
.service-picker button i { font-style:normal; justify-self:end; }
.service-picker button.selected { background:var(--ink); color:var(--white); }
.mood-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:48px; }
.mood-grid button { min-height:130px; border:1px solid var(--line); background:transparent; padding:16px; text-align:left; cursor:pointer; font:500 16px "Cormorant Garamond",Georgia,serif; }
.mood-grid button span { display:block; width:100%; height:55px; margin-bottom:15px; background:linear-gradient(135deg,#d8d8d8,#f7f7f7); }
.mood-grid button:nth-child(2) span { background:linear-gradient(135deg,#111 50%,#777 50%); }
.mood-grid button:nth-child(3) span { background:linear-gradient(135deg,#cfcfcf,#555); }
.mood-grid button:nth-child(4) span { background:linear-gradient(135deg,#eee 50%,#333 50%); }
.mood-grid button:nth-child(5) span { background:linear-gradient(135deg,#f4f4f4,#666); }
.mood-grid button:nth-child(6) span { background:linear-gradient(135deg,#222,#ddd); }
.mood-grid button.selected { border:2px solid var(--ink); }
.detail-note,.portal-promise { display:flex; align-items:center; gap:22px; padding:24px; border:1px solid var(--line); }
.detail-note b,.portal-promise b { font:500 22px "Cormorant Garamond",Georgia,serif; }
.portal-mark { width:54px; height:54px; object-fit:contain; }
.detail-note p,.portal-promise p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.review-sheet { border-top:1px solid var(--ink); margin-bottom:34px; }
.review-sheet>div { display:grid; grid-template-columns:170px 1fr; gap:30px; padding:24px 0; border-bottom:1px solid var(--line); }
.review-sheet span { color:var(--muted); font-size:9px; letter-spacing:.17em; text-transform:uppercase; }
.review-sheet p { margin:0; font:500 21px/1.45 "Cormorant Garamond",Georgia,serif; }
.form-error { margin:24px 0 0; color:#333333; font-size:13px; }
.form-actions { display:flex; justify-content:space-between; align-items:center; margin-top:55px; padding-top:26px; border-top:1px solid var(--line); }
.button-back { border:0; background:transparent; cursor:pointer; color:var(--muted); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }

/* Portal */
.portal-page { min-height:100vh; background:#ffffff; }
.portal-welcome { padding:80px clamp(24px,8vw,130px) 50px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.portal-welcome h1 { margin-bottom:10px; }
.portal-welcome>div>p:last-child { color:var(--muted); font:400 18px "Cormorant Garamond",Georgia,serif; }
.portal-status { padding:10px 14px; border:1px solid var(--line); color:var(--brass); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.empty-portal { max-width:760px; margin:30px auto 100px; padding:70px; border:1px solid var(--line); text-align:center; }
.empty-portal>span { color:var(--muted); font:italic 500 13px "Cormorant Garamond",Georgia,serif; }
.empty-portal h2 { margin:26px 0 16px; font-size:42px; }
.empty-portal p { max-width:500px; margin:0 auto 30px; color:var(--muted); font:400 17px/1.7 "Cormorant Garamond",Georgia,serif; }
.portal-grid { padding:0 clamp(24px,8vw,130px); display:grid; grid-template-columns:1.5fr 1fr; gap:18px; }
.portal-panel { padding:40px; border:1px solid var(--line); background:#fafafa; }
.panel-label { margin-bottom:35px; color:var(--muted); font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.project-panel h2,.files-panel h2 { font-size:42px; }
.project-panel>p,.files-panel>div>p { color:var(--muted); font:400 17px/1.7 "Cormorant Garamond",Georgia,serif; }
.project-meta { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-top:1px solid var(--line); }
.project-meta>div { padding:22px 20px 0 0; }
.project-meta span { display:block; margin-bottom:8px; color:var(--muted); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.project-meta b { font:500 15px/1.4 "Cormorant Garamond",Georgia,serif; }
.timeline-panel>div:not(.panel-label) { display:grid; grid-template-columns:36px 1fr auto; align-items:center; padding:17px 0; border-bottom:1px solid var(--line); color:#999999; }
.timeline-panel>div>span { font:italic 500 11px "Cormorant Garamond",Georgia,serif; }
.timeline-panel>div>b { font:500 16px "Cormorant Garamond",Georgia,serif; }
.timeline-panel>div>small { font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.timeline-panel .done,.timeline-panel .current { color:var(--ink)!important; }
.timeline-panel .done>span,.timeline-panel .current>small { color:var(--brass); }
.files-panel { margin:18px clamp(24px,8vw,130px) 100px; display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.upload-box { border:1px dashed #999999; padding:28px; }
.upload-box label>span { display:block; margin-bottom:6px; font:500 24px "Cormorant Garamond",Georgia,serif; }
.upload-box label>small { display:block; color:var(--muted); font-size:10px; }
.upload-box input { display:block; width:100%; margin:24px 0; font-size:12px; }
.upload-box>p { margin:16px 0 0; color:var(--brass); font-size:11px; }
.file-list { grid-column:1/-1; border-top:1px solid var(--line); }
.file-list>div { display:grid; grid-template-columns:70px 1fr auto; padding:16px 0; border-bottom:1px solid var(--line); align-items:center; }
.file-list span,.file-list small { color:var(--muted); font-size:9px; letter-spacing:.12em; }
.file-list b { font:500 15px "Cormorant Garamond",Georgia,serif; }

@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto; height:74px; padding:0 20px; }
  .site-header nav { display:none; }
  .header-cta { font-size:11px; }
  .mobile-portal { display:inline-block; }
  .header-actions { gap:14px; }
  .hero { min-height:calc(100svh - 74px); padding-top:70px; }
  .hero h1 { font-size:clamp(58px,17vw,88px); }
  .hero-actions { flex-direction:column; gap:15px; }
  .hero-meta { padding-top:55px; gap:16px; font-size:11px; }
  .editorial-grid,.section-heading { grid-template-columns:1fr; }
  .manifesto,.services-section,.approach-section,.work-section { padding:90px 24px; }
  .manifesto { gap:25px; }
  .section-heading { gap:25px; margin-bottom:50px; }
  .service-row { grid-template-columns:45px 1fr 25px; gap:18px; padding:26px 0; }
  .service-row p { grid-column:2/4; }
  .service-row>a { grid-column:3; grid-row:1; }
  .work-grid { grid-template-columns:1fr; }
  .work-card { min-height:470px; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .site-footer { padding:64px 24px 24px; }
  .footer-top { grid-template-columns:.8fr 1.2fr; gap:48px; }
  .footer-nav { gap:28px; }
  .brief-shell { grid-template-columns:1fr; padding:44px 20px 80px; }
  .brief-progress { position:static; }
  .brief-progress ol { display:none; }
  .field-grid,.service-picker { grid-template-columns:1fr; }
  .mood-grid { grid-template-columns:1fr 1fr; }
  .review-sheet>div { grid-template-columns:1fr; gap:8px; }
  .portal-welcome { padding:55px 24px 35px; align-items:flex-start; flex-direction:column; }
  .portal-grid { padding:0 24px; grid-template-columns:1fr; }
  .files-panel { margin:18px 24px 70px; grid-template-columns:1fr; gap:30px; }
  .project-meta { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .brief-header,.portal-header { height:72px; padding:0 16px; }
  .brief-header>div span,.portal-header>div span { display:none; }
  .mood-grid,.process-grid { grid-template-columns:1fr; }
  .hero-meta span:nth-child(2) { display:none; }
  .brief-invite { padding:100px 20px; }
  .site-footer { padding-top:52px; }
  .footer-top { grid-template-columns:1fr; gap:44px; }
  .footer-brand img { width:88px; height:88px; }
  .footer-brand p { margin-top:16px; font-size:24px; }
  .footer-nav { justify-self:stretch; width:100%; grid-template-columns:1fr 1.35fr; gap:24px; }
  .footer-column a { font-size:17px; }
  .footer-bottom { margin-top:48px; flex-direction:column; gap:8px; }
  .portal-panel { padding:28px; }
  .empty-portal { margin:20px 24px 70px; padding:45px 24px; }
}

@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }

/* Readability floor for interface text. */
.eyebrow,.section-kicker,.site-header nav,.header-cta,.mobile-portal,.footer-column b,.footer-bottom,.form-kicker,.field>span,.prompt-field>span,.panel-label,.project-meta span,.portal-status { font-size:12px; }
.field input,.field select,.prompt-field textarea { font-size:19px; }
