/* M•AGNOVA: image-led editorial homepage */
:root { --atelier-blue:#6695af; --atelier-deep:#244454; --atelier-paper:#f7f4ef; --atelier-ice:#edf5f8; --atelier-rule:#c5d7de; }
.atelier-home { background:#fff; color:var(--atelier-deep); }
.atelier-home .site-header { position:relative; top:auto; background:var(--atelier-blue); border:0; backdrop-filter:none; }
.atelier-home .nav-wrap { min-height:76px; border-bottom:1px solid rgba(255,255,255,.36); }
.atelier-home .brand { display:inline-flex; width:168px; }
.atelier-home .brand img { filter:brightness(0) invert(.96); }
.atelier-home .site-footer .brand img { filter:none; }
.atelier-home .nav a { color:#fff; }
.atelier-home .nav a:not(.button)::after { background:#fff; }
.atelier-home .nav .button { color:#fff; background:transparent; border:1px solid rgba(255,255,255,.8); }
.atelier-home .nav .button:hover { background:#fff; color:var(--atelier-blue); }
.atelier-home .menu-button { border-color:rgba(255,255,255,.68); color:#fff; background:transparent; }
.atelier-home .nav-wrap { justify-content:space-between; }
.atelier-home h2,.atelier-home h3 { color:var(--atelier-deep); }
.atelier-home em { font-weight:400; color:var(--atelier-blue); }
.atelier-label,.atelier-kicker,.atelier-case-type { margin:0; color:#447d99; font-size:.7rem; font-weight:700; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; }
.atelier-home h2 { font-size:clamp(3rem,5.7vw,6rem); line-height:1.03; letter-spacing:-.045em; }
.atelier-home h3 { letter-spacing:-.035em; }
.atelier-home p { line-height:1.65; }

.atelier-hero { position:relative; display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 76px); min-height:calc(100svh - 76px); background:#6695af url('assets/magnova-hero-paper.webp') center center/cover no-repeat; text-align:center; }
.atelier-hero-brand { position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-width:0; padding:clamp(50px,7vw,110px); color:#fff; }
.atelier-hero-brand-inner { width:min(100%,850px); }
.atelier-kicker { color:#fff; text-shadow:0 1px 12px rgba(31,63,82,.3); }
.atelier-hero h1 { width:100%; margin:clamp(22px,3vw,46px) 0 0; line-height:0; }
.atelier-hero-brand-inner > h1:first-child { margin-top:0; }
.atelier-hero h1 img { display:block; width:100%; height:auto; filter:brightness(0) invert(.98); }
.atelier-hero-services { max-width:850px; margin:clamp(16px,2vw,28px) 0 0; color:#fff; font-size:clamp(.92rem,1.4vw,1.14rem); letter-spacing:.01em; text-shadow:0 1px 12px rgba(31,63,82,.45); }
.atelier-hero-services span { padding:0 6px; opacity:.8; }
.atelier-hero-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px 25px; margin-top:clamp(25px,3vw,42px); }
.atelier-hero-contact { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 27px; border:1px solid #fff; background:#fff; color:var(--atelier-deep); font-size:1rem; font-weight:700; transition:background .2s,color .2s; }
.atelier-hero-contact:hover,.atelier-hero-contact:focus-visible { background:var(--atelier-deep); color:#fff; }
.atelier-hero-cta { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 5px; border-bottom:1px solid #fff; color:#fff; font-size:.96rem; font-weight:600; text-shadow:0 1px 12px rgba(31,63,82,.45); }
.atelier-hero-cta:hover,.atelier-hero-cta:focus-visible { opacity:.8; }
.atelier-hero-phone { display:inline-block; margin-top:18px; color:#fff; font-size:.91rem; text-decoration:underline; text-underline-offset:4px; text-shadow:0 1px 12px rgba(31,63,82,.45); }
.atelier-hero-phone:hover,.atelier-hero-phone:focus-visible { color:#e9f6fa; }
.atelier-hero-number { position:absolute; left:clamp(30px,5vw,85px); bottom:30px; color:#fff; font-size:.7rem; letter-spacing:.16em; }

.atelier-statement { padding:clamp(90px,12vw,170px) 0; background:var(--atelier-paper); }
.atelier-statement-grid { display:grid; grid-template-columns:.45fr 1.55fr; gap:clamp(40px,8vw,145px); }
.atelier-statement h2 { max-width:900px; }
.atelier-statement p:not(.atelier-label) { max-width:590px; margin:32px 0 0 auto; color:#506671; font-size:clamp(1.08rem,1.6vw,1.24rem); }
.atelier-heading { display:grid; grid-template-columns:.45fr 1.55fr; gap:clamp(40px,8vw,145px); margin-bottom:clamp(55px,7vw,110px); }
.atelier-heading h2 { max-width:930px; }
.atelier-heading p:not(.atelier-label) { max-width:610px; margin-top:23px; color:#566d78; font-size:1.08rem; }

.atelier-work { padding:clamp(95px,11vw,160px) 0; background:#fff; }
.atelier-case { display:grid; grid-template-columns:.85fr 1.15fr; min-height:580px; margin-bottom:clamp(55px,7vw,100px); background:var(--atelier-ice); }
.atelier-case-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(35px,5.2vw,80px); }
.atelier-case-copy h3 { margin:26px 0 20px; font-size:clamp(2.6rem,4.5vw,5.3rem); line-height:1.03; }
.atelier-case-copy > p:not(.atelier-case-type) { max-width:480px; color:#536b76; font-size:1.08rem; }
.atelier-case-copy ul { display:flex; flex-wrap:wrap; gap:8px; margin:27px 0 0; padding:0; list-style:none; }
.atelier-case-copy li { padding:6px 11px; border:1px solid #aec9d5; color:#426c80; font-size:.78rem; }
.atelier-case-copy > a { display:inline-flex; gap:35px; align-items:center; padding:11px 0; margin-top:32px; border-bottom:1px solid currentColor; font-size:.9rem; font-weight:600; }
.atelier-case-copy > a:hover { color:var(--atelier-blue); }
.atelier-case-visual { display:flex; align-items:center; justify-content:center; min-width:0; padding:clamp(25px,4vw,65px); background:#dfecef; }
.atelier-case-visual img { display:block; max-width:100%; max-height:600px; width:100%; height:auto; object-fit:contain; box-shadow:0 16px 42px rgba(36,68,84,.11); }
.atelier-case-smoke { grid-template-columns:1.12fr .88fr; background:#f7f1e9; }
.atelier-smoke-visual { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:15px; min-width:0; padding:30px; background:#e3eef3; }
.atelier-smoke-visual img { display:block; width:100%; height:610px; object-fit:contain; object-position:center; }
.atelier-case-logo { background:#f5f5f1; }
.atelier-case-logo .atelier-case-visual { background:#e7f0f1; }
.atelier-work-all { display:flex; justify-content:space-between; align-items:center; gap:20px; max-width:680px; margin-left:auto; padding:24px 0; border-top:1px solid var(--atelier-rule); border-bottom:1px solid var(--atelier-rule); font-family:var(--serif); font-size:clamp(1.6rem,2.6vw,2.7rem); line-height:1.2; }
.atelier-work-all span { color:var(--atelier-blue); }
.atelier-work-all:hover { color:var(--atelier-blue); }

.atelier-services { padding:clamp(95px,11vw,160px) 0; background:var(--atelier-paper); }
.atelier-service-list { border-top:1px solid #b5ccd5; }
.atelier-service-list a { display:grid; grid-template-columns:75px minmax(0,1fr) minmax(260px,.85fr) 32px; align-items:center; gap:30px; padding:29px 4px; border-bottom:1px solid #b5ccd5; }
.atelier-service-list a:hover { background:#edf5f7; padding-inline:18px; }
.atelier-service-list span { align-self:start; padding-top:6px; color:#6a9eb4; font-family:var(--serif); font-size:1.2rem; }
.atelier-service-list h3 { font-size:clamp(1.6rem,2.8vw,2.8rem); line-height:1.1; }
.atelier-service-list p { color:#566d78; font-size:.98rem; }
.atelier-service-list b { color:var(--atelier-blue); font-size:1.5rem; font-weight:400; }
.atelier-scope { margin-top:24px; color:#647985; font-size:.91rem; }

.atelier-about { padding:clamp(90px,11vw,150px) 0; background:#dcebf1; overflow:hidden; }
.atelier-about-grid { display:grid; grid-template-columns:.45fr 1.55fr .3fr; gap:clamp(35px,7vw,110px); }
.atelier-about h2 { margin-bottom:28px; }
.atelier-about p:not(.atelier-label) { max-width:590px; color:#496474; font-size:1.1rem; }
.atelier-text-link { display:inline-flex; gap:50px; margin-top:32px; padding:10px 0; border-bottom:1px solid currentColor; font-size:.92rem; font-weight:600; }
.atelier-signature { align-self:end; color:rgba(102,149,175,.24); font-family:var(--serif); font-size:clamp(7rem,16vw,18rem); line-height:.7; white-space:nowrap; }
.atelier-portfolio { padding:clamp(95px,11vw,160px) 0; background:#fff; }
.atelier-portfolio-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,8vw,130px); align-items:center; }
.atelier-portfolio h2 { margin:27px 0; }
.atelier-portfolio p:not(.atelier-label) { max-width:475px; color:#536d79; font-size:1.08rem; }
.atelier-button { display:inline-flex; justify-content:space-between; align-items:center; gap:34px; min-width:220px; margin-top:35px; padding:16px 20px; background:var(--atelier-blue); border:1px solid var(--atelier-blue); color:#fff; font-size:.9rem; font-weight:600; }
.atelier-button:hover { background:var(--atelier-deep); border-color:var(--atelier-deep); }
.atelier-portfolio-preview { display:block; padding:20px; background:#eff5f7; box-shadow:16px 18px 0 #d7e9ef; }
.atelier-portfolio-preview img { display:block; width:100%; height:auto; }
.atelier-portfolio-preview span { display:block; padding-top:15px; color:#65808e; font-size:.68rem; font-weight:700; letter-spacing:.16em; }
.atelier-closing { padding:clamp(90px,11vw,150px) 0; background:var(--atelier-blue); color:#fff; }
.atelier-closing-grid { display:grid; grid-template-columns:.45fr 1.55fr; gap:clamp(40px,8vw,145px); }
.atelier-closing .atelier-label { color:#eff8fb; }
.atelier-closing h2 { color:#fff; }
.atelier-closing h2 em { color:#fff; }
.atelier-closing p:not(.atelier-label) { max-width:590px; margin-top:26px; color:#f4f9fb; font-size:1.1rem; }
.atelier-button-light { background:#fff; color:var(--atelier-deep); border-color:#fff; }
.atelier-button-light:hover { background:#e6f4f8; color:var(--atelier-deep); border-color:#e6f4f8; }

@media (max-width:1100px) {
  .atelier-hero-brand { padding:55px; }
  .atelier-service-list a { grid-template-columns:50px minmax(0,1fr) 28px; gap:20px; }
  .atelier-service-list p { grid-column:2; }
  .atelier-service-list b { grid-column:3; grid-row:1/3; }
  .atelier-case { min-height:500px; }
  .atelier-smoke-visual img { height:520px; }
}
@media (max-width:980px) {
  .atelier-home .nav { background:#f8fbfc; }
  .atelier-home .nav.open a { color:var(--atelier-deep); }
  .atelier-home .nav.open .button { color:var(--atelier-deep); border-color:var(--atelier-deep); }
  .atelier-home .nav-wrap { min-height:76px; }
  .atelier-hero-brand { padding:42px; }
  .atelier-case { grid-template-columns:1fr; }
  .atelier-case-visual { min-height:390px; }
  .atelier-case-smoke .atelier-smoke-visual { grid-row:2; }
  .atelier-case-copy { padding:45px; }
  .atelier-smoke-visual img { height:460px; }
}
@media (max-width:760px) {
  .atelier-home .nav-wrap { min-height:70px; }
  .atelier-home .brand { width:145px; }
  .atelier-hero { min-height:calc(100svh - 70px); background-position:center center; }
  .atelier-hero-brand { padding:55px 24px; }
  .atelier-hero-brand-inner { width:100%; }
  .atelier-hero h1 { width:min(100%,560px); margin:25px auto 0; }
  .atelier-kicker { font-size:.66rem; }
  .atelier-hero-services { max-width:360px; margin:17px auto 0; font-size:.85rem; line-height:1.55; }
  .atelier-hero-services span { padding:0 3px; }
  .atelier-hero-actions { gap:10px 20px; margin-top:24px; }
  .atelier-hero-contact,.atelier-hero-cta { min-height:48px; font-size:.95rem; }
  .atelier-hero-phone { margin-top:14px; font-size:.86rem; }
  .atelier-hero-number { display:none; }
  .atelier-statement,.atelier-work,.atelier-services,.atelier-about,.atelier-portfolio,.atelier-closing { padding:80px 0; }
  .atelier-statement-grid,.atelier-heading,.atelier-closing-grid,.atelier-about-grid,.atelier-portfolio-grid { grid-template-columns:1fr; gap:24px; }
  .atelier-home h2 { font-size:clamp(3rem,10vw,5rem); }
  .atelier-statement p:not(.atelier-label) { margin:24px 0 0; }
  .atelier-heading { margin-bottom:42px; }
  .atelier-case { margin-bottom:50px; }
  .atelier-case-copy { padding:32px 26px; }
  .atelier-case-copy h3 { font-size:clamp(2.5rem,9vw,4rem); margin:20px 0; }
  .atelier-case-visual { min-height:270px; padding:24px; }
  .atelier-smoke-visual { padding:17px; gap:8px; }
  .atelier-smoke-visual img { height:380px; }
  .atelier-service-list a { grid-template-columns:31px minmax(0,1fr) 22px; gap:11px; padding:23px 0; }
  .atelier-service-list h3 { font-size:1.5rem; }
  .atelier-service-list p { font-size:.93rem; }
  .atelier-about .atelier-signature { display:none; }
  .atelier-portfolio-preview { padding:12px; box-shadow:10px 12px 0 #d7e9ef; }
}
@media (max-width:390px) {
  .atelier-hero-brand { padding-inline:18px; }
  .atelier-hero-services { font-size:.79rem; }
  .atelier-hero-actions { margin-top:17px; }
  .atelier-smoke-visual img { height:320px; }
}
@media (prefers-reduced-motion:reduce) {
  .atelier-service-list a { transition:none; }
}

/* Shared navigation and section color across the remaining routes. */
body:not(.atelier-home) .site-header { background:var(--atelier-blue); border:0; backdrop-filter:none; }
body:not(.atelier-home) .nav-wrap { border-bottom:1px solid rgba(255,255,255,.32); }
body:not(.atelier-home) .site-header .brand img { filter:brightness(0) invert(.96); }
body:not(.atelier-home) .nav a { color:#fff; }
body:not(.atelier-home) .nav a:not(.button)::after { background:#fff; }
body:not(.atelier-home) .nav .button { color:#fff; background:transparent; border-color:rgba(255,255,255,.78); }
body:not(.atelier-home) .nav .button:hover { color:var(--atelier-blue); background:#fff; }
body:not(.atelier-home) .menu-button { color:#fff; border-color:rgba(255,255,255,.68); background:transparent; }
body:not(.atelier-home) .portfolio-intro { background:var(--atelier-paper); }
body:not(.atelier-home) .portfolio-intro h1 { color:var(--atelier-deep); }
body:not(.atelier-home) .site-footer { background:#dcebf1; }
@media(max-width:980px) {
  body:not(.atelier-home) .nav.open { background:#f8fbfc; }
  body:not(.atelier-home) .nav.open a { color:var(--atelier-deep); }
  body:not(.atelier-home) .nav.open .button { color:var(--atelier-deep); border-color:var(--atelier-deep); }
}

/* Single approved summer motif, shown in full at every viewport. */
.atelier-smoke-visual.atelier-smoke-single { grid-template-columns:1fr; padding:0; }
.atelier-smoke-visual.atelier-smoke-single img { width:100%; height:auto; object-fit:contain; }

/* Visible, unobtrusive production note in the common footer. */
.site-ai-note { padding:0 0 22px; color:inherit; font-size:.82rem; line-height:1.6; opacity:.86; }
.site-ai-note a { text-decoration:underline; text-underline-offset:3px; }

.contact-hold { scroll-margin-top:24px; }
.contact-email { overflow-wrap:anywhere; font-weight:700; font-size:clamp(1rem,2vw,1.18rem); }
.contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 10px; }
.contact-actions .button { margin:0; cursor:pointer; font:inherit; font-weight:700; }
.contact-actions .button-secondary { background:transparent; border:1px solid var(--atelier-blue); color:var(--atelier-deep); }
.contact-actions .button-secondary:hover { background:var(--atelier-ice); }
.contact-copy-status { min-height:1.5em; font-size:.9rem; }
.contact-direct { margin-top:clamp(32px,5vw,64px); border-top:1px solid rgba(71,112,133,.28); padding-top:26px; }
.contact-direct span { display:block; color:var(--atelier-deep); font-family:var(--serif); font-size:1.45rem; margin-bottom:16px; }
.contact-direct .button { display:inline-flex; }
.contact-direct-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.contact-direct-links .button-secondary { background:transparent; border:1px solid var(--atelier-blue); color:var(--atelier-deep); }
.contact-direct-links .button-secondary:hover { background:var(--atelier-ice); }
.contact-direct p { margin-top:13px; color:#526670; font-size:.88rem; }
.inquiry-form { margin-top:26px; display:grid; gap:20px; }
.inquiry-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.inquiry-form .field { min-width:0; gap:7px; }
.inquiry-form .field label { color:var(--atelier-deep); letter-spacing:.015em; }
.inquiry-form .field input,.inquiry-form .field select,.inquiry-form .field textarea { border-radius:3px; border-color:#bdd5df; background:#fff; }
.inquiry-form .field textarea { min-height:155px; }
.inquiry-form .optional { color:#738992; font-weight:400; }
.inquiry-form .inquiry-note { margin:0; color:#526670; font-size:.85rem; line-height:1.55; }
.inquiry-note a { text-decoration:underline; text-underline-offset:2px; }
.inquiry-form .contact-actions { margin:2px 0 0; }
.inquiry-form .contact-copy-status { margin:0; }
@media(max-width:640px) { .inquiry-row { grid-template-columns:1fr; } .contact-direct { margin-top:30px; } .inquiry-form .contact-actions .button { width:100%; justify-content:center; text-align:center; } }
.legal-placeholder { max-width:920px; padding:clamp(28px,5vw,64px); border:1px solid #c9dce4; border-radius:0; background:#f7fafb; color:#244454; }
.legal-placeholder > strong:first-child { display:block; padding:12px 16px; margin:0 0 42px; border-left:3px solid #6695af; background:#e9f3f7; color:#31596c; font-size:.86rem; line-height:1.55; }
.legal-placeholder h2 { padding-top:28px; margin:42px 0 18px; border-top:1px solid #d3e3e9; font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2.1rem); }
.legal-placeholder p { margin:0 0 18px; line-height:1.75; overflow-wrap:anywhere; }
.legal-placeholder p+p { margin-top:0; }
.legal-placeholder a { color:#1e607e; text-decoration:underline; text-underline-offset:3px; }
