/* MASINO MEDIA — Web Identity v1.0
   Brand: near-black, off-white, cinematic grain, deliberate negative space.
   No external scripts, type providers, or image CDNs.
*/
:root{--black:#080809;--white:#f5f3ee;--soft:#d7d6d2;--dim:#b9b8b6;--line:rgba(237,237,234,.72);--speed:250ms}
*{box-sizing:border-box}
html{min-height:100%;background:var(--black);scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--black);color:var(--white);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
button,input,textarea{font:inherit}
button{cursor:pointer}
.page-shell{position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 28% 45% at 0% 12%,rgba(120,120,123,.32) 0,rgba(64,64,67,.16) 41%,transparent 100%),radial-gradient(ellipse 27% 42% at 101% 87%,rgba(89,89,94,.23) 0,rgba(48,48,51,.12) 47%,transparent 100%),radial-gradient(ellipse 62% 80% at 52% 46%,#0b0b0d 0,#070708 78%,#050506 100%)}
.page-shell::before{content:"";position:absolute;inset:0;background-image:url('/assets/grain.png');background-size:320px 320px;opacity:.27;pointer-events:none;z-index:-1}
.page-shell::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 68% 66% at 54% 44%,transparent 0%,transparent 50%,rgba(0,0,0,.19) 100%);pointer-events:none;z-index:-1}
.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:52px clamp(28px,4.9vw,86px) 0;min-height:72px;z-index:1}
.brand-micro,.location-label,.nav-home,.footer-content,.eyebrow{font-size:11px;line-height:1.4;font-weight:700;letter-spacing:.32em;text-decoration:none;white-space:nowrap}
.brand-micro{transition:opacity var(--speed) ease}.brand-micro:hover{opacity:.65}
.location-label,.nav-home{display:flex;align-items:center;gap:34px}
.short-rule{display:inline-block;width:44px;height:1px;background:#efefed;flex:none}
.hero{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:86px 24px 88px}
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,1050px);transform:translateY(31px)}
.hero-logo{margin:0;line-height:0;width:clamp(300px,43vw,720px);max-width:94%}
.hero-logo img{display:block;width:100%;height:auto;user-select:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.services-line{margin:49px 0 0;color:#e3e1df;font-size:12px;font-weight:500;letter-spacing:.36em;line-height:2.2;white-space:nowrap}
.services-line span{padding:0 .64em;color:#f5f5f5}
.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;min-width:260px;padding:14px 24px;border:1px solid rgba(244,244,243,.92);background:rgba(4,4,4,.10);color:var(--white);font-size:12px;letter-spacing:.40em;font-weight:700;text-align:center;text-decoration:none;line-height:1.3;transition:background var(--speed) ease,color var(--speed) ease,transform var(--speed) ease,border-color var(--speed) ease}
.outline-button:hover{background:var(--white);color:var(--black);transform:translateY(-1px)}
.outline-button:focus-visible,.nav-home:focus-visible,.brand-micro:focus-visible,.header-logo-link:focus-visible{outline:2px solid var(--white);outline-offset:5px}
.hero-cta{margin-top:56px}
.site-footer{width:100%;padding:0 clamp(28px,4.9vw,86px) 43px}
.footer-rule{width:100%;height:1px;background:rgba(238,238,235,.81)}
.footer-content{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:23px;font-size:10px;letter-spacing:.34em}
/* CONTACT */
.contact-header{padding-top:47px;align-items:flex-start}
.header-logo-link{display:block;width:175px;line-height:0;transition:opacity var(--speed) ease}
.header-logo-link:hover{opacity:.73}
.header-logo-link img{display:block;width:100%;height:auto}
.nav-home{text-decoration:none;font-size:11px;margin-top:8px;transition:opacity var(--speed) ease}
.nav-home:hover{opacity:.62}
.contact-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:96px 38px 84px}
.contact-intro{text-align:center}
.contact-intro h1,.thanks-inner h1{font-size:clamp(35px,3.15vw,54px);font-weight:400;letter-spacing:.035em;line-height:1.16;margin:0;color:var(--white)}
.contact-intro p,.thanks-inner>p:not(.eyebrow){margin:24px 0 0;color:#d6d4d0;font-size:13px;font-weight:400;letter-spacing:.21em;line-height:1.8}
.contact-form{display:flex;flex-direction:column;gap:27px;margin-top:92px}
.form-row{display:grid;gap:20px}
.two-columns{grid-template-columns:1fr 1fr}
.form-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.form-field label{font-size:10px;letter-spacing:.31em;font-weight:700;line-height:1.5;color:#e6e5e2}
.required{color:#a8aaa8;font-size:13px}
.form-field input,.form-field textarea{width:100%;appearance:none;border-radius:0;border:1px solid rgba(230,230,228,.78);background:rgba(0,0,0,.10);color:#fff;font-size:16px;font-weight:400;padding:14px 16px;outline:none;transition:background var(--speed),border-color var(--speed),box-shadow var(--speed)}
.form-field input{height:49px}
.form-field textarea{min-height:145px;resize:vertical;line-height:1.55}
.form-field input:hover,.form-field textarea:hover{border-color:#fff}
.form-field input:focus,.form-field textarea:focus{border-color:#fff;background:rgba(255,255,255,.045);box-shadow:0 0 0 2px rgba(255,255,255,.15)}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.send-button{min-width:137px;min-height:50px;font-size:11px}
.form-fine-print{font-size:9px;letter-spacing:.25em;color:rgba(224,224,220,.55);font-weight:700}
.trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-footer{padding-top:48px}
/* SUCCESS / 404 */
.thanks-main{flex:1;display:grid;place-items:center;text-align:center;padding:100px 24px}
.thanks-inner{display:flex;flex-direction:column;align-items:center;gap:0}
.eyebrow{color:#b7b9b7;margin:0 0 28px}
.thanks-inner .outline-button{margin-top:56px}
@media (max-width:1050px){.services-line{font-size:10px;letter-spacing:.24em}.hero-logo{width:min(65vw,690px)}.contact-main{padding-top:76px}}
@media (max-width:680px){
  .site-header{padding:30px 23px 0;align-items:flex-start}
  .brand-micro,.location-label,.nav-home{font-size:9px;letter-spacing:.19em}
  .location-label,.nav-home{gap:12px}
  .short-rule{width:22px}
  .hero{padding:90px 16px 108px;min-height:480px}
  .hero-inner{transform:translateY(12px)}
  .hero-logo{width:min(90vw,540px);max-width:100%}
  .services-line{display:block;max-width:340px;margin-top:32px;white-space:normal;font-size:9px;letter-spacing:.16em;line-height:2.2}
  .services-line span{padding:0 .12em}
  .hero-cta{margin-top:40px}
  .outline-button{min-width:210px;min-height:52px;font-size:11px}
  .site-footer{padding:0 22px 28px}
  .footer-content{font-size:8px;letter-spacing:.16em;margin-top:17px;align-items:flex-start}
  .footer-content span:last-child{text-align:right}
  .contact-header{padding-top:25px}
  .header-logo-link{width:132px}
  .nav-home{margin-top:17px}
  .contact-main{padding:85px 24px 65px}
  .contact-intro h1,.thanks-inner h1{font-size:clamp(31px,8.1vw,43px)}
  .contact-intro p,.thanks-inner>p:not(.eyebrow){font-size:12px;letter-spacing:.08em;margin-top:17px}
  .contact-form{margin-top:57px;gap:24px}
  .form-field label{font-size:9px;letter-spacing:.22em}
  .form-bottom{align-items:center}
  .form-fine-print{font-size:8px;letter-spacing:.12em}
  .send-button{min-width:126px;min-height:48px}
}
@media (max-width:430px){
  .location-label .short-rule{display:none}
  .two-columns{grid-template-columns:1fr;gap:24px}
  .contact-main{padding-left:21px;padding-right:21px}
  .services-line{max-width:290px}
  .footer-content{font-size:7px;letter-spacing:.12em}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Contact service fallback — retains visitor details if external service is unavailable. */
.form-error[hidden]{display:none!important}
.form-error{border:1px solid rgba(235,234,229,.48);padding:23px 25px;background:rgba(255,255,255,.04);color:var(--soft);font-size:13px;line-height:1.75;letter-spacing:.04em}
.form-error p{margin:0 0 16px}
.form-error .form-error-title{color:var(--white);font-size:11px;letter-spacing:.19em;font-weight:700}
.form-error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.fallback-button{min-height:44px;min-width:174px;padding:11px 18px;font-size:10px;letter-spacing:.16em}
.copy-inquiry{border:0;border-bottom:1px solid currentColor;padding:6px 0;background:transparent;color:var(--soft);font-size:10px;font-weight:700;letter-spacing:.16em}
.copy-inquiry:focus-visible,.direct-contact a:focus-visible{outline:2px solid var(--white);outline-offset:5px}
.direct-contact{color:#b4b4b1;font-size:10px;letter-spacing:.14em;line-height:2;margin:0}
.direct-contact a{text-decoration:underline;text-underline-offset:4px;color:#e8e8e5;overflow-wrap:anywhere}
.copy-fallback{width:100%;height:100px;margin-top:12px;background:#111;color:#fff;border:1px solid #aaa}
.send-button:disabled{opacity:.6;cursor:wait}
@media(max-width:680px){.form-error{padding:18px}.direct-contact{font-size:9px;letter-spacing:.08em}}

/* POST-SUBMISSION THANK YOU / accessible, monochrome pop-up */
.success-state[hidden]{display:none!important}
.success-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:52vh;padding:54px 0 10px;color:var(--white);animation:success-rise .34s ease-out both}
.success-home:focus-visible{outline:2px solid var(--white);outline-offset:5px}
.success-mark{height:1px;width:45px;background:#ecece9;margin-bottom:33px}
.success-eyebrow{font-size:10px;letter-spacing:.29em;color:#aaa9a6;font-weight:700;line-height:1.6;margin:0 0 21px}
.success-state h2{font-weight:400;font-size:clamp(36px,5.1vw,62px);line-height:1.15;letter-spacing:.03em;margin:0}
.success-description{font-size:13px;letter-spacing:.13em;color:#d3d1cc;margin:24px 0 0;line-height:2}
.success-home{margin-top:50px;min-width:210px;min-height:54px;font-size:10px;letter-spacing:.27em}
body.submission-complete .contact-main{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 265px)}
@keyframes success-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:580px){.success-state{min-height:46vh;padding:38px 0 0}.success-eyebrow{font-size:9px;letter-spacing:.16em}.success-description{font-size:12px;letter-spacing:.08em}.success-home{margin-top:40px}}
