/* MoosProductions — Edition 03: Schwarzwald & Apricot.
   A lighter, more memorable identity while keeping original layout/content. */
:root{
  --bg:#FAF7F2;
  --paper:#FFFFFF;
  --ink:#222A25;
  --muted:#6C756E;
  --line:#E6E1D8;
  --forest:#294737;
  --forest2:#355743;
  --euc:#6D8A77;
  --euc-dark:#53735D;
  --pale:#FAF0E7;
  --white:#fff;
  --apricot:#F4DCCA;
  --apricot-light:#FFF0E5;
  --clay:#B86B53;
  --moss:#486A51;
  --radius:16px;
}
body{background:var(--bg);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#B76D56}
::selection{background:#F2CDB8;color:#263D30}
/* Navigation is crisp and uses only the moss-colored MP emblem. */
.site-header{background:rgba(255,253,250,.97);border-bottom:1px solid #E8E5DE;backdrop-filter:blur(15px)}
.nav-row{height:87px}
.brand{font-size:25px;letter-spacing:-.075em;color:#26362C;gap:12px}
.brand img{filter:brightness(0) saturate(100%) invert(36%) sepia(19%) saturate(698%) hue-rotate(83deg) brightness(93%) contrast(90%)}
.brand span span{color:#4F7258}
.main-nav>a:not(.mobile-nav-cta){color:#525D56}
.main-nav>a:not(.mobile-nav-cta):hover,.main-nav>a[aria-current]{color:#2C4838}
.main-nav>a[aria-current]::after{background:var(--clay);height:3px}
.button{border-radius:7px;gap:22px;box-shadow:none}
.button-dark{background:#2C4939;color:#FFF}
.button-dark:hover{background:#4E6E57}
.button-outline{border-color:#C9C8BD;color:#294637}
.button-outline:hover{border-color:#CA9079;background:#FEF0E5}
.button-ivory{background:#293F32;color:#FFF}
.button-ivory:hover{background:#486A51}
.simple-link{border-color:#B87560}
.simple-link:hover{color:var(--clay)}
.eyebrow,.eyebrow.muted{color:#7D5B4D}
.eyebrow-line,.note-dash{background:#C78970}
.eyebrow.light{color:#C9D7CB}
/* A warm, luminous sunrise hero replaces the heavy dark forest. */
.home-hero{background:linear-gradient(121deg,#FFFDFC 0%,#FDF8F2 47%,#FCEDE3 100%);position:relative}
.home-hero:before{content:"";width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,#F4DBCA 0%,rgba(244,219,202,0) 68%);position:absolute;right:29%;top:-235px;pointer-events:none;opacity:.55}
.hero-wrap{min-height:725px;padding-top:58px;padding-bottom:73px;gap:6%;grid-template-columns:minmax(0,1fr) minmax(390px,.89fr)}
.hero-copy{position:relative;z-index:2;padding:40px 0}
.hero-copy .eyebrow{color:#785E50;letter-spacing:.16em}
.hero-copy h1{font-size:clamp(72px,6.8vw,111px);letter-spacing:-.081em;margin:32px 0 30px;color:#252C27}
.hero-copy h1 em{color:#B56D56;font-style:italic;position:relative;display:inline-block;line-height:1.13}
.hero-copy h1 em:after{content:"";position:absolute;left:5%;right:0;bottom:0;height:11px;border-radius:90%;background:#F2D2BE;z-index:-1;transform:rotate(-2.2deg)}
.hero-description{color:#616A62;font-size:clamp(18px,1.48vw,21px);max-width:525px;line-height:1.76}
.hero-note{color:#7A8077;margin-top:74px;font-weight:550;letter-spacing:.01em}
.hero-art{background:#F8EADB;min-height:613px;border-radius:180px 16px 16px 16px;box-shadow:20px 20px 0px #F7DCC9;overflow:visible;isolation:isolate}
.hero-art img{border-radius:180px 16px 16px 16px;width:100%;height:100%;min-height:613px;object-fit:cover;object-position:center 46%;filter:saturate(.94)}
.hero-art figcaption{left:24px;right:24px;bottom:23px;border-radius:8px;padding:18px 20px;align-items:center;background:rgba(255,249,241,.93);box-shadow:0 8px 27px rgba(42,66,53,.09);backdrop-filter:blur(8px);color:#345043;font-size:12px}
.hero-art figcaption span{font-size:10px;color:#907063;opacity:1;font-weight:750}
.hero-art figcaption strong{font-weight:600}
.hero-art-asterisk{position:absolute;z-index:4;display:grid;place-items:center;top:25px;right:-24px;width:83px;height:83px;border-radius:50%;background:#D28568;color:#fff;font-family:Georgia,serif;font-size:46px;line-height:1;transform:rotate(-13deg);box-shadow:0 12px 25px #A26D4B22}
.statement-band{background:#F5E7DC;border-color:#F0DCCF}
.statement-band .container{color:#6E645D;padding:19px 0;font-size:12px}
.statement-band b{color:#7E4936}
/* Service list gets warmth rather than more green. */
.services-section{background:#FFF}
.section{padding-top:118px;padding-bottom:118px}
.section-title{font-weight:720;color:#232B25}
.section-title em{color:#B76D55}
.section-intro{color:#69746D}
.service-table{border-top-color:#E9E1D9}
.service-entry{border-color:#E9E1D9;position:relative;overflow:hidden}
.service-entry:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:#D59678;transform:scaleY(0);transition:transform .24s ease;transform-origin:bottom}
.service-entry:hover{background:#FFF8F2;padding-left:22px}
.service-entry:hover:before{transform:scaleY(1)}
.service-number{color:#BA8370}
.service-entry h3{color:#2A2D28}
.service-entry p{color:#788078}
.service-entry-icon{color:#7A5B4A;border-color:#E8D7CA}
.service-entry:hover .service-entry-icon{background:#B97258;border-color:#B97258;color:white}
/* Portfolio: lines and typography, no synthetic client mockups. */
.work-section{background:#F9F1E9;position:relative;overflow:hidden}
.work-section:before{content:"SELECTED WORK";position:absolute;right:-12px;top:12px;font-size:clamp(80px,12vw,210px);font-weight:800;white-space:nowrap;color:rgba(207,165,142,.08);letter-spacing:-.09em;pointer-events:none}
.work-section .container{position:relative;z-index:1}
.work-lines,.project-line{border-color:#E8D9CD}
.project-line:hover{background:#FFF9F3}
.project-idx{color:#C08267}
.project-cat,.project-mark{color:#9B6B55}
.project-name p{color:#7F8178}
/* About is now an airy editorial surface rather than another massive green field. */
.about-home{background:#F2E4D8;color:#2A342C;padding:112px 0;position:relative;overflow:hidden}
.about-home:before{content:"";width:500px;height:500px;border:1px solid rgba(170,112,86,.13);border-radius:50%;position:absolute;top:-340px;right:-160px;box-shadow:0 0 0 80px rgba(255,255,255,.10),0 0 0 160px rgba(255,255,255,.08)}
.about-home-grid{position:relative}
.about-photo{background:#E1E8DD;border-radius:160px 12px 12px 12px;box-shadow:17px 17px 0 rgba(255,252,245,.75)}
.about-photo>img{height:545px}
.portrait-tag{background:rgba(250,246,238,.93);color:#3C5B44;font-weight:750;letter-spacing:.15em}
.about-home-copy h2{color:#293129}
.about-home-copy h2 em{color:#B56D55}
.about-home-copy p{color:#65665F}
.about-home-copy .eyebrow.light{color:#926952}
.about-home-copy .light-link{color:#345745;border-bottom-color:#B56D55}
.about-home-copy .light-link:hover{color:#B56D55}
/* The numbered process takes the place of bland empty rows. */
.approach-section{background:#FFFEFC}
.steps-grid{gap:18px;border-top:0}
.steps-grid>div{position:relative;background:#FAF5EF;border:1px solid #EFE4DA;border-radius:10px;padding:34px 32px 35px;min-height:235px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.steps-grid>div:hover{transform:translateY(-5px);box-shadow:0 15px 25px rgba(77,58,41,.06)}
.steps-grid>div:nth-child(2){background:#F8E8DC}
.steps-grid>div>span{font-size:13px;color:#B27863;font-weight:760}
.steps-grid h3{margin:37px 0 13px;font-size:38px}
.steps-grid p{color:#747970}
/* Peach closing section is bright and distinct, while the footer anchors the page. */
.callout{background:#EFDDCF;padding:90px 0;position:relative;overflow:hidden}
.callout:after{content:"✳";position:absolute;right:13%;top:-90px;font-family:Georgia,serif;color:rgba(193,117,86,.13);font-size:330px;pointer-events:none}
.callout-inner{position:relative;z-index:1}
.callout h2 em{color:#B76D55}
.callout .eyebrow{color:#9E654E}
.site-footer{background:#23392C;padding-top:92px}
.footer-lead{border-bottom-color:#4C6754}
.footer-lead h2 em{color:#F0D1BB}
.round-arrow{border-color:#C9A58F;color:#FFE9D9}
.round-arrow:hover{background:#4F7058}
.footer-grid{color:#FAF7F2}
.footer-brand>span{color:#D6D1BF}
.footer-title,.footer-grid>div>span:last-child,.footer-brand small,.footer-bottom{color:#B8C5BA}
.footer-bottom{border-top-color:#4C6754}
.footer-grid>div>a:hover{color:#EAC7B0}
/* Consistent warm direction throughout the subpages. */
.page-intro{background:linear-gradient(110deg,#FFFDFC 0%,#FAEFE6 100%);border-bottom:1px solid #ECDCD1}
.page-intro h1 em,.about-page-copy h1 em,.not-found h1 em{color:#B66F56}
.page-intro-footer p{color:#687169}
.filter-chip{border-color:#DCCABE;color:#695B50;border-radius:5px}
.filter-chip:hover,.filter-chip.active{background:#B56D55;color:#FFF;border-color:#B56D55}
.about-page-hero{background:linear-gradient(115deg,#FFFDFC 15%,#F7EBDF 100%)}
.about-page-image img{border-radius:180px 15px 15px 15px;box-shadow:17px 18px 0 #ECD8CB}
.about-page-image figcaption{color:#926F5F}
.story-facts{border-color:#E6D8CD}
.story-facts strong{color:#3A5743}
.forest-quote{background:#F4E6DB;color:#2F3D31}
.forest-quote:after{opacity:.085;filter:saturate(.3)}
.forest-quote-inner>span{color:#AD7059}
.forest-quote blockquote em{color:#B46D53}
.forest-quote p{color:#647369}
.contact-form-area{border-color:#EADBCF;border-radius:10px;box-shadow:0 15px 45px rgba(82,55,37,.05)}
.contact-form-area input,.contact-form-area textarea,.contact-form-area select{background:#FFFBF7;border-color:#E5D9CD;border-radius:4px}
.contact-form-area input:focus,.contact-form-area textarea:focus,.contact-form-area select:focus{border-color:#B57B61}
.contact-info-line strong{color:#2F4736}
.legal-notice{background:#FFF2E6;border-color:#CD8F6B}
/* Responsive polish */
@media(max-width:1180px){.hero-wrap{gap:4%}.hero-copy h1{font-size:clamp(65px,6vw,92px)}.hero-art,.hero-art img{min-height:580px}}
@media(max-width:800px){.nav-row{height:76px}.hero-wrap{gap:38px;padding-top:48px;padding-bottom:65px}.hero-copy{padding:10px 0}.hero-copy h1{font-size:clamp(66px,10.5vw,95px)}.hero-art{height:530px;min-height:530px;margin:0 13px 0 0;border-radius:130px 14px 14px 14px}.hero-art img{height:100%;min-height:530px;border-radius:130px 14px 14px 14px}.hero-art-asterisk{right:-22px;top:24px;width:68px;height:68px;font-size:39px}.hero-note{margin-top:30px}.about-home{padding:78px 0}.steps-grid{gap:12px}.steps-grid>div{padding:24px 19px;min-height:250px}.steps-grid h3{font-size:30px}.main-nav .mobile-nav-cta{background:#2E4D3B}.menu-button{border-color:#E6D9CF}}
@media(max-width:580px){.hero-wrap{padding-top:26px;padding-bottom:50px;gap:30px}.hero-copy h1{font-size:clamp(59px,12vw,76px);line-height:1.05;margin:22px 0}.hero-description{font-size:17px}.hero-art{height:445px;min-height:445px;border-radius:115px 12px 12px 12px;box-shadow:12px 12px 0 #F5DCCC;margin:0 12px 0 0}.hero-art img{min-height:445px;border-radius:115px 12px 12px 12px}.hero-art figcaption{left:12px;right:12px;bottom:14px;padding:13px 12px;font-size:10px}.hero-art figcaption span{font-size:8px}.hero-art-asterisk{width:58px;height:58px;font-size:34px;right:-15px}.home-hero:before{display:none}.section{padding:75px 0}.section-title{font-size:clamp(41px,9.8vw,57px)}.service-entry:hover{padding-left:8px}.steps-grid{grid-template-columns:1fr;gap:12px}.steps-grid>div{min-height:180px;padding:26px 25px;border:1px solid #EFE4DA}.steps-grid h3{margin:16px 0 9px}.about-home{padding:78px 0}.about-photo{box-shadow:10px 10px 0 #FFF9F3;border-radius:115px 12px 12px 12px}.about-photo>img{height:480px}.about-home-copy h2{font-size:clamp(53px,11.5vw,64px)}.callout{padding:65px 0}.page-intro h1,.about-page-copy h1{font-size:clamp(52px,11.4vw,72px)}.about-page-image img{border-radius:110px 11px 11px 11px;box-shadow:11px 12px 0 #ECD8CB}.footer-lead h2{font-size:clamp(54px,11.5vw,70px)}.forest-quote-inner{padding:95px 0}}
@media(prefers-reduced-motion:reduce){.steps-grid>div:hover{transform:none}}
/* Ensure the custom desktop split yields a single-column editorial mobile hero. */
@media (max-width:800px){
 .hero-wrap{grid-template-columns:minmax(0,1fr);width:calc(100% - 44px)}
 .hero-copy{min-width:0}
 .hero-art{width:calc(100% - 13px)}
 .hero-art img{object-position:center 46%}
}
@media (max-width:580px){
 .hero-wrap{width:calc(100% - 38px)}
 .hero-copy h1{white-space:normal}
 .hero-art{width:calc(100% - 12px)}
 .hero-art-asterisk{right:-16px}
}

.hero-art-asterisk{flex-direction:column;font-family:Georgia,serif;font-size:33px;font-weight:700;gap:0;transform:rotate(8deg)}
.hero-art-asterisk small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em;font-weight:800;line-height:1.3}
.callout:after{content:"Moos";font-size:250px;font-family:Georgia,serif;font-style:italic;top:-77px;right:2%;color:rgba(193,117,86,.10);letter-spacing:-.075em}
@media(max-width:800px){.hero-art-asterisk{font-size:28px}}
@media(max-width:580px){.hero-art-asterisk{font-size:24px}.hero-art-asterisk small{font-size:8px}.callout:after{right:-40%;font-size:170px;top:-25px}}
