/*
Theme Name: Marisian Editorial
Theme URI: https://marisian.com/
Author: Marisian
Description: Lightweight editorial single-page theme with native editable blocks.
Version: 1.1.3
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: marisian-editorial
*/

@font-face { font-family:'Marisian Newsreader'; src:url('assets/fonts/newsreader-latin-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
:root { color-scheme: light; --paper:#f3f0e9; --paper-light:#f8f6f1; --ink:#242923; --muted:#565c54; --line:#babdb3; --forest:#293b34; --forest-light:#dce4db; --accent:#753842; --accent-light:#e7aab0; --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif; --wordmark:'Marisian Newsreader',Georgia,serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
::selection { background:#d3dfce; color:var(--ink); }
a { color:inherit; text-underline-offset:.25em; }
a:hover { text-decoration-thickness:2px; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.approach :where(a,button,input,select,textarea,[tabindex]):focus-visible,.site-footer :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline-color:var(--accent-light); }
.skip-link { position:absolute; z-index:100; top:-8rem; left:1rem; padding:.8rem 1.1rem; background:var(--ink); color:#fff; }
.skip-link:focus { top:1rem; }
.container { width:min(100% - 7.5rem,1392px); margin-inline:auto; }
.eyebrow { font-size:.69rem; font-weight:700; letter-spacing:.17em; line-height:1.5; text-transform:uppercase; }
.section-pad { padding-block:clamp(6rem,11vw,11rem); }
.section-number { margin-right:1rem; }
.section-label { margin:0; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.055em; }
h1 em,h2 em { font-weight:400; }
.site-main :where(.wp-block-group,.wp-block-heading,.wp-block-paragraph) { margin-block-start:0; }
.site-main .wp-block-group { padding-inline:0; }

.site-header { border-bottom:1px solid var(--line); }
.header-inner { min-height:108px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.wordmark { display:inline-flex; position:relative; align-items:baseline; flex:none; text-decoration:none; color:var(--ink); white-space:nowrap; }
.wordmark-type { font:500 2.75rem/1 var(--wordmark); letter-spacing:-.035em; font-kerning:normal; }
.wordmark::after { content:""; position:absolute; width:1.8rem; height:2px; left:.08rem; bottom:-.8rem; background:var(--accent); }
.wordmark:hover { color:var(--accent); }
.primary-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.65rem clamp(1.25rem,2.5vw,3rem); }
.primary-nav a { font-size:.78rem; font-weight:700; text-decoration:none; }
.primary-nav a:not(.nav-contact):hover { color:var(--accent); text-decoration:underline; }
.nav-contact { display:inline-flex; gap:1.4rem; align-items:center; border-bottom:1px solid var(--accent); padding-bottom:.35rem; }
.nav-contact:hover { color:var(--accent); }

.hero { min-height:min(870px,calc(100svh - 109px)); padding-block:clamp(3rem,6vw,6rem) 3rem; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto 1fr auto; column-gap:1.5rem; }
.hero-kicker { grid-column:1/-1; display:flex; align-items:center; gap:1.3rem; margin:0; }
.hero-kicker::before { content:""; display:block; width:2.4rem; height:1px; flex:none; background:var(--accent); }
.hero-heading { grid-column:2/-1; align-self:center; padding-block:4rem 3rem; }
.hero h1 { max-width:1250px; margin:0; font-size:clamp(4.3rem,8.3vw,9.6rem); line-height:1.01; text-wrap:balance; overflow-wrap:break-word; }
.hero h1 em { color:#536b5c; }
.hero .period { color:var(--accent); }
.hero-bottom { grid-column:2/-1; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,4fr) 1fr; align-items:end; gap:1.5rem; border-top:1px solid var(--ink); padding-top:1.7rem; }
.hero-intro { max-width:31rem; margin:0; font:1.15rem/1.55 var(--sans); }
.hero-action { margin:0; }
.text-link { display:inline-block; font-size:.8rem; font-weight:700; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:.38rem; }
.text-link span { margin-left:2rem; }
.text-link:hover { color:var(--accent); border-bottom-color:var(--accent); }
.hero-index { justify-self:end; white-space:nowrap; margin:0; }

.expertise { background:var(--paper-light); }
.section-heading { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:1.5rem; align-items:start; margin-bottom:clamp(4rem,7vw,7rem); }
.section-heading .section-label { grid-column:1/5; }
.section-heading h2 { grid-column:5/-1; margin:-.22em 0 1.5rem; font-size:clamp(3.5rem,6.2vw,7rem); line-height:1.03; }
.section-heading .section-summary { grid-column:5/-1; max-width:27rem; color:var(--muted); font-size:1.05rem; line-height:1.6; margin:0; }
.expertise-list { border-top:1px solid var(--ink); }
.expertise-item { display:grid; grid-template-columns:1fr 4fr 4fr .5fr; gap:1.5rem; padding-block:clamp(2rem,3.5vw,3.5rem); border-bottom:1px solid var(--line); }
.expertise-item .item-number { font-size:.8rem; font-weight:700; padding-top:.5rem; margin:0; }
.expertise-item h3 { font:400 clamp(2rem,3.15vw,3.6rem)/1.15 var(--serif); letter-spacing:-.035em; margin:0; }
.expertise-item > p:not(.item-number) { max-width:31rem; margin:0; padding-top:.35rem; color:var(--muted); font-size:.99rem; line-height:1.75; }
.expertise-item::after { content:"↗"; justify-self:end; font-size:1.35rem; line-height:1; }
.expertise-item:hover::after { color:var(--accent); }

.approach { background:var(--forest); color:var(--paper-light); }
.approach-grid,.perspective-grid { display:grid; grid-template-columns:4fr 8fr; gap:1.5rem; }
.approach .section-label { color:var(--accent-light); }
.approach h2 { max-width:950px; font-size:clamp(3.6rem,6.3vw,7.3rem); line-height:1.04; margin:-.18em 0 clamp(4rem,7vw,7rem); }
.approach h2 em { color:#b9c9b9; }
.approach-details { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,7rem); padding-top:1.6rem; border-top:1px solid #8a9b8e; }
.approach-details p { max-width:29rem; margin:0; font-size:1.07rem; line-height:1.7; }

.perspective h2 { font-size:clamp(3.4rem,6vw,7rem); line-height:1.06; margin:-.18em 0 clamp(4rem,7vw,7rem); }
.perspective h2 em { color:#536b5c; }
.perspective .section-number,.region-note .eyebrow,.expertise .section-number,.contact .section-number { color:var(--accent); }
.perspective-bottom { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,7rem); padding-top:1.6rem; border-top:1px solid var(--ink); }
.perspective-bottom > p { max-width:30rem; font-size:1.07rem; line-height:1.7; margin:0; }
.region-note { display:flex; flex-direction:column; gap:1.3rem; }
.region-note p { margin:0; }
.region-note .regions { font:1.55rem/1.55 var(--serif); letter-spacing:-.025em; }

.contact { background:var(--paper-light); border-top:1px solid var(--line); }
.contact-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(4rem,8vw,9rem); }
.contact h2 { margin:clamp(3rem,5vw,5rem) 0 2rem; font-size:clamp(3.5rem,6vw,7rem); line-height:1.05; }
.contact h2 em { color:#536b5c; }
.contact-main > p:not(.section-label) { font-size:1.05rem; line-height:1.6; color:var(--muted); }
.email-link { display:inline-flex; gap:1rem; align-items:baseline; max-width:100%; border-bottom:1px solid var(--accent); padding:.5rem 0; text-decoration:none; font:clamp(1.3rem,2.5vw,2.5rem)/1.3 var(--serif); overflow-wrap:anywhere; }
.email-link:hover { color:var(--accent); }
.email-link span { font:1rem var(--sans); }
.enquiry-panel { align-self:end; border:1px solid var(--line); padding:clamp(1.5rem,3vw,3rem) !important; }
.enquiry-panel h3 { font:400 1.8rem var(--serif); margin:0 0 1.2rem; }
.enquiry-panel .form-status { color:var(--muted); font-size:.9rem; line-height:1.65; }
.enquiry-panel .srfm-form-container.srfm-bg-color { background:transparent !important; }
.enquiry-panel :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),textarea,select) { display:block; width:100%; min-height:2.8rem; padding:.7rem .2rem; border:0; border-bottom:1px solid #72786f; border-radius:0; background:transparent; color:var(--ink); font:1rem/1.5 var(--sans); }
.enquiry-panel :where(label) { display:block; margin:.9rem 0 .35rem; font-size:.85rem; font-weight:700; }
.enquiry-panel textarea { resize:vertical; }
.enquiry-panel :where(button,input[type="submit"],.wp-block-button__link) { display:inline-block; margin-top:1rem; padding:1rem 1.2rem; border:1px solid var(--forest); border-radius:0; background:var(--forest); color:#fff; font:700 .85rem var(--sans); cursor:pointer; }
.enquiry-panel :where(button,input[type="submit"],.wp-block-button__link):hover { background:var(--accent); border-color:var(--accent); }
.enquiry-panel .srfm-form button.srfm-submit-button { background:var(--forest) !important; border-color:var(--forest) !important; color:#fff !important; }
.enquiry-panel .srfm-form button.srfm-submit-button:is(:hover,:focus-visible) { background:var(--accent) !important; border-color:var(--accent) !important; }

.site-footer { background:var(--ink); color:var(--paper-light); }
.footer-inner { min-height:115px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.footer-brand { position:relative; font:500 2rem/1 var(--wordmark); letter-spacing:-.035em; font-kerning:normal; }
.footer-brand::after { content:""; position:absolute; width:1.5rem; height:2px; left:.03rem; bottom:-.7rem; background:var(--accent-light); }
.site-footer a:hover { color:var(--accent-light); }
.footer-inner > span:nth-child(2),.footer-inner a { font-size:.78rem; }
.footer-inner a { text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:.3rem; }
.standard-content { padding-block:clamp(3rem,8vw,7rem); min-height:45vh; }
.standard-content .entry-title { font-size:clamp(3rem,6vw,6rem); }
.standard-content article { max-width:840px; line-height:1.7; }
.empty-page { padding-block:4rem; }

@media (max-width:1000px) {
  .container { width:min(100% - 4rem,1392px); }
  .hero { min-height:720px; }
  .hero-heading,.hero-bottom { grid-column:1/-1; }
  .section-heading .section-label { grid-column:1/4; }
  .section-heading h2,.section-heading .section-summary { grid-column:4/-1; }
  .expertise-item { grid-template-columns:.55fr 4fr 4fr; }
  .expertise-item::after { display:none; }
  .approach-grid,.perspective-grid { grid-template-columns:3fr 9fr; }
  .contact-grid { gap:3rem; }
}
@media (max-width:720px) {
  .container { width:min(100% - 2.5rem,1392px); }
  .header-inner { min-height:0; flex-wrap:wrap; gap:1.4rem; padding-block:1.6rem 1.2rem; }
  .primary-nav { width:100%; justify-content:space-between; gap:.8rem 1rem; }
  .primary-nav a { font-size:.72rem; }
  .hero { min-height:0; display:flex; flex-direction:column; padding-block:3rem 3.5rem; }
  .hero-heading { padding-block:clamp(5rem,14vw,8rem); }
  .hero h1 { font-size:clamp(3.8rem,10.8vw,6rem); }
  .hero-bottom { grid-template-columns:1fr auto; row-gap:2rem; }
  .hero-intro { grid-column:1/-1; }
  .hero-index { align-self:end; }
  .section-pad { padding-block:5.5rem; }
  .section-heading,.approach-grid,.perspective-grid,.contact-grid { display:block; }
  .section-heading .section-label,.approach .section-label,.perspective .section-label { margin-bottom:3rem; }
  .section-heading h2 { margin-bottom:1.3rem; }
  .expertise-item { grid-template-columns:2.7rem minmax(0,1fr); gap:.8rem 1rem; }
  .expertise-item h3 { font-size:clamp(2.2rem,7vw,3.4rem); }
  .expertise-item > p:not(.item-number) { grid-column:2; }
  .approach h2,.perspective h2 { margin-bottom:3rem; }
  .contact h2 { margin-top:3rem; }
  .enquiry-panel { margin-top:4.5rem; }
}
@media (max-width:480px) {
  .container { width:min(100% - 2rem,1392px); }
  .primary-nav { justify-content:flex-start; column-gap:1.25rem; }
  .hero-kicker { font-size:.61rem; gap:.7rem; }
  .hero-kicker::before { width:1.2rem; }
  .hero h1 { font-size:clamp(3.35rem,11.7vw,4.5rem); }
  .hero-intro { font-size:1rem; }
  .approach-details,.perspective-bottom { grid-template-columns:1fr; gap:1.75rem; }
  .footer-inner { padding-block:2rem; align-items:flex-start; flex-wrap:wrap; }
  .footer-inner > span:nth-child(2) { width:100%; order:3; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
