*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#111b36;background:#f7f8fb;font-family:'Noto Sans KR',sans-serif;word-break:keep-all;overflow-wrap:break-word}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{height:82px;background:#fff;position:relative;z-index:5}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font:800 17px Manrope;letter-spacing:-.5px}.brand small{font-size:9px;color:#7d8492;letter-spacing:1px}.brand-mark{width:39px;height:39px;border-radius:50%;background:linear-gradient(140deg,#233d9f,#151c4b);display:block;position:relative;overflow:hidden}.brand-mark:after{content:'';position:absolute;width:35px;height:7px;background:#e8edf7;transform:rotate(-42deg);left:5px;top:17px;opacity:.9}.brand-mark i,.brand-mark b{position:absolute;z-index:1;border:2px solid #fff;width:20px;height:20px;border-radius:50%;top:7px}.brand-mark i{left:5px;border-right-color:transparent}.brand-mark b{right:5px;border-left-color:transparent}.main-nav{display:flex;gap:42px;font-size:13px;color:#596174}.main-nav a:hover{color:#1e4ab4}.nav-call{font:700 12px Manrope;color:#1f4ba9}.nav-call span{font-family:'Noto Sans KR';font-weight:500;color:#9aa0ad;margin-right:12px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{height:650px;background:#111b47;color:#fff;position:relative;overflow:hidden}.hero-shape{position:absolute;width:72vw;height:100%;right:-9%;top:0;background:linear-gradient(135deg,#16358a,#1c65c1);clip-path:ellipse(65% 95% at 75% 50%);opacity:.95}.hero-content{position:relative;z-index:2;padding-top:110px}.eyebrow{font:700 11px Manrope;letter-spacing:2.2px;color:#b4c4eb;margin:0 0 25px}.eyebrow span{display:inline-block;width:28px;height:1px;background:#6ea8ff;vertical-align:middle;margin-right:12px}.eyebrow.blue{color:#3261bd}.hero h1{font-size:58px;line-height:1.18;letter-spacing:-4px;margin:0 0 22px;font-weight:800}.hero h1 em{color:#79b4ff;font-style:normal}.hero-copy{font-size:16px;line-height:1.8;color:#c4cee5;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 20px;border-radius:3px;font-weight:700;font-size:13px}.button-primary{background:#2161cd;color:#fff;box-shadow:0 10px 22px #0b28694d}.button span{font-size:18px}.text-link{font-size:12px;color:#fff}.text-link span{font-size:20px;margin-left:10px}.text-link.dark{color:#1e4aa7;font-weight:700}.hero-note{display:flex;align-items:center;gap:10px;position:absolute;top:490px;color:#9caad0;font-size:10px}.hero-note strong{font:700 22px Manrope;color:#fff;margin-left:28px}.hero-note strong:first-child{margin-left:0}.hero-art{position:absolute;right:12%;top:80px;width:410px;height:410px;border:1px solid #ffffff42;border-radius:50%}.orb{position:absolute;border-radius:50%;border:1px solid #ffffff40}.orb-one{width:300px;height:300px;top:54px;left:54px}.orb-two{width:170px;height:170px;top:119px;left:119px;background:#ffffff0d}.car-line{position:absolute;top:134px;left:102px;font:800 90px Manrope;color:#ffffff20;letter-spacing:-12px;transform:rotate(-20deg)}.art-label{position:absolute;right:-36px;bottom:35px;font:700 10px Manrope;letter-spacing:2px;line-height:1.8;color:#d6e5ff}.intro{padding:120px 0;background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2,.section-head h2,.contact h2{font-size:38px;line-height:1.35;letter-spacing:-2px;margin:0}.intro h2 span,.contact h2 span{color:#2457bb}.intro-text{padding-top:40px;max-width:420px}.intro-text p,.contact-copy{font-size:14px;line-height:2;color:#727a8b;margin:0 0 25px}.services{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:43px}.section-head>p{font-size:12px;color:#7a8291;line-height:1.8;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{min-height:245px;background:#fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 30px #162d6610}.service-card.featured{background:#1d4fb2;color:#fff}.card-number{font:700 11px Manrope;color:#728095}.featured .card-number{color:#a8c7ff}.service-card h3{font-size:21px;margin:0 0 12px}.service-card p{font-size:12px;line-height:1.8;color:#8b92a1;margin:0}.featured p{color:#c4d6fa}.card-arrow{font-size:23px;align-self:end}.process{padding:110px 0;background:#111b47;color:#fff}.process-wrap{display:grid;grid-template-columns:1fr 1fr;gap:100px}.process .eyebrow{color:#a9bde9}.process h2{font-size:36px;line-height:1.4;letter-spacing:-2px;margin:0}.process-copy{font-size:13px;line-height:1.9;color:#abb8d2;margin-top:32px}.steps{border-top:1px solid #ffffff36}.step{display:flex;gap:28px;padding:20px 0;border-bottom:1px solid #ffffff24}.step>b{font:700 12px Manrope;color:#6ea8ff}.step strong,.step small{display:block}.step strong{font-size:15px}.step small{font-size:11px;color:#9faecc;margin-top:5px}.contact{padding:110px 0;background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact h2{margin-bottom:24px}.contact-copy{margin-bottom:30px}.map-card{height:300px;position:relative;overflow:hidden;background:#edf1f5;background-image:linear-gradient(25deg,transparent 49%,#d5dce7 50%,transparent 51%),linear-gradient(110deg,transparent 49%,#d5dce7 50%,transparent 51%);background-size:120px 100px,170px 130px;border:8px solid #f5f6f8}.map-road{position:absolute;background:#fff;transform:rotate(-27deg);height:18px;width:120%;left:-10%;top:100px}.road-b{transform:rotate(30deg);top:190px}.road-c{transform:rotate(4deg);top:145px;height:10px}.map-pin{position:absolute;z-index:2;left:50%;top:42%;font:bold 28px Manrope;color:#fff;background:#2457bb;width:48px;height:48px;text-align:center;padding-top:6px;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.map-pin::first-letter{transform:rotate(45deg)}.map-label{position:absolute;z-index:3;background:#fff;padding:12px 16px;left:calc(50% + 35px);top:45%;box-shadow:0 5px 15px #0002}.map-label strong,.map-label small{display:block}.map-label strong{font:700 13px Manrope}.map-label small{font-size:10px;color:#7d8490;margin-top:3px}footer{background:#0c1331;color:#fff;padding:30px 0}.footer-wrap{display:flex;align-items:center;justify-content:space-between}.footer-info{font-size:10px;color:#a8b2ca;line-height:2}.footer-info span{color:#5d6b8d}.top-link{font:700 10px Manrope;color:#a8b2ca}
@media(max-width:800px){.container{width:min(100% - 36px,600px)}.main-nav,.nav-call{display:none}.menu-toggle{display:block;color:#172044}.main-nav.is-open{display:flex;position:absolute;top:70px;left:18px;right:18px;padding:20px;background:#fff;box-shadow:0 12px 25px #12204d1c;flex-direction:column;gap:18px}.hero{height:650px}.hero-content{padding-top:80px}.hero h1{font-size:45px}.hero-art{right:-150px;top:290px;width:350px;height:350px}.hero-note{top:510px}.intro,.services,.process,.contact{padding:75px 0}.intro-grid,.process-wrap,.contact-grid{grid-template-columns:1fr;gap:35px}.intro-text{padding-top:0}.section-head{display:block}.section-head>p{margin-top:16px}.service-grid{grid-template-columns:1fr}.service-card{min-height:190px}.contact-grid{gap:40px}.map-card{height:250px}.footer-wrap{gap:24px;align-items:flex-start;flex-wrap:wrap}.footer-info{order:3;width:100%}}
.estimate{padding:110px 0;background:#fff}.estimate-wrap{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.estimate h2{font-size:36px;line-height:1.4;letter-spacing:-2px;margin:0 0 20px}.estimate h2 span{color:#2457bb}.estimate-copy>p:not(.eyebrow){font-size:14px;line-height:2;color:#7a8291}.estimate-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.estimate-points span{padding:10px 13px;background:#edf1f5;color:#1d4fb2;font-size:11px;font-weight:700}.estimate-card{padding:30px;background:#f7f8fb;border:1px solid #edf1f5}.estimate-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.estimate-card-head strong{font-size:20px}.estimate-card-head small{color:#7a8291;font-size:10px}.estimate-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.estimate-fields label{display:block;color:#7a8291;font-size:11px;margin-bottom:7px}.field-placeholder,.upload-placeholder{height:46px;padding:13px;background:#fff;border:1px solid #dfe5ef;color:#a5adba;font-size:12px}.field-wide{grid-column:1/-1}.upload-placeholder{height:72px;border:1px dashed #9bb4da;color:#2161cd}.estimate-button{margin-top:20px;width:100%}
.brand-logo{width:39px;height:39px;object-fit:contain;border-radius:50%}.gallery{padding:110px 0;background:#f7f8fb}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:180px;gap:15px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#dfe5ef}.gallery-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 14px;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(transparent,#08122dcc)}.gallery-main{grid-row:span 2}.card-photo img{object-position:center 42%}
.hero-note{top:490px;color:#b4c4eb;font-size:12px;letter-spacing:.2px}.hero-note strong{display:none}.cases{padding:90px 0;background:#f7f8fb}.cases-wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cases h2{font-size:36px;line-height:1.4;letter-spacing:-2px;margin:0 0 18px}.cases h2 span{color:#2457bb}.cases p:not(.eyebrow){font-size:14px;line-height:1.9;color:#7a8291;margin:0;max-width:520px}
/* Main hero: mechanic workshop image */
.hero{background-image:linear-gradient(90deg,#0b1438e8 0%,#0b1438b8 42%,#0b14383d 72%,#0b143800 100%),url('assets/main-mechanic-hero.png');background-size:cover;background-position:center}.hero-shape,.hero-art{display:none}
.hero{background-image:url('assets/main-founder-hero.png')}
.page-content{padding-bottom:120px}.gallery{padding-bottom:120px}@media(max-width:800px){.page-content{padding-bottom:76px}.gallery{padding-bottom:76px}}
.hero{background-position:center center}@media(max-width:800px){.hero{background-position:68% center}}
.gallery-empty{grid-column:1/-1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid #dfe5ef;background:#f7f8fb;color:#111b47;text-align:center}.gallery-empty strong{font-size:20px}.gallery-empty span{font-size:13px;color:#7a8291}
.gallery-grid img{cursor:zoom-in}.facility-lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:32px;background:#07102eee;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.facility-lightbox.is-visible{opacity:1;visibility:visible}.facility-lightbox img{display:block;max-width:min(92vw,1400px);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 60px #0008}.facility-lightbox button{position:absolute;top:20px;right:28px;border:0;background:none;color:#fff;font-size:42px;line-height:1;cursor:pointer}@media(max-width:800px){.facility-lightbox{padding:18px}.facility-lightbox img{max-width:94vw;max-height:82vh}.facility-lightbox button{top:12px;right:16px;font-size:36px}}
.hero-note span{display:block;font-size:15px;line-height:1.8;color:#dce7ff;letter-spacing:-.2px}.hero-note span::first-line{font-size:19px;font-weight:800;color:#79b4ff}.hero-note br+*{font-size:13px}@media(max-width:800px){.hero-note span{font-size:12px;line-height:1.8}.hero-note span::first-line{font-size:16px}}
@media (pointer: fine){html,body{cursor:url('assets/sw-motors-cursor-metal-64.png') 10 10, auto}a,button,[role="button"],summary,.service-card,.case-card,.gallery-grid figure{cursor:url('assets/sw-motors-cursor-metal-64.png') 10 10, pointer}}

/* 공통 모바일 반응형 보정 */
@media (max-width:800px){
  html,body{overflow-x:hidden}
  .container{width:calc(100% - 36px);max-width:600px}
  .site-header{height:72px}
  .nav-wrap{padding:0}
  .brand-logo{width:150px;max-height:48px}
  .menu-toggle{font-size:28px;padding:8px 0;line-height:1}
  .page-hero{padding:64px 0 54px}
  .page-hero h1{font-size:clamp(38px,11vw,52px);letter-spacing:-3px;word-break:keep-all}
  .page-content,.intro,.services,.process,.contact,.cases,.gallery,.service-process,.service-proof,.service-faq,.service-blog{padding-top:64px;padding-bottom:80px}
  h1,h2,h3,p{overflow-wrap:break-word}
  .subpage-copy h2,.intro h2,.section-head h2,.contact h2,.cases h2{font-size:clamp(27px,7.5vw,36px);letter-spacing:-1.8px;white-space:normal}
  .subpage-copy p,.intro-text p,.contact-copy,.cases p:not(.eyebrow){font-size:14px;line-height:1.9}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}
  .gallery-grid figure,.gallery-main{grid-row:auto;min-height:220px;aspect-ratio:4/3}
  .gallery-grid img{height:100%;object-fit:cover}
  .section-head>p{font-size:13px}
  .hero{height:680px}
  .hero-content{padding-top:70px}
  .hero h1{font-size:clamp(39px,11vw,48px);letter-spacing:-3px}
  .hero-copy{font-size:14px;line-height:1.8}
  .hero-actions{gap:18px;margin-top:28px;flex-wrap:wrap}
  .hero-note{top:auto;bottom:42px;left:0;right:0;display:block;font-size:11px;line-height:1.7}
  .hero-note span{font-size:12px;line-height:1.7}
  .hero-note span::first-line{font-size:16px}
  .hero-art{right:-170px;top:300px}
  .footer-wrap{align-items:flex-start;gap:20px;flex-wrap:wrap}
  .footer-info{width:100%;order:3}
  .service-grid,.service-proof-grid,.subpage-list,.location-info{grid-template-columns:1fr}
  .service-card{min-height:180px;padding:22px}
  .process-wrap,.intro-grid,.contact-grid,.estimate-wrap,.lab-wrap{grid-template-columns:1fr;gap:30px}
  .process-row{grid-template-columns:60px 1fr;gap:8px 12px}
  .process-row p{grid-column:2}
  .location-actions{flex-direction:column}
  .location-actions .button,.location-actions a{width:100%}
  .location-map img{aspect-ratio:1.35}
  .service-blog-entry,.service-blog-entry:nth-child(even),.entry,.entry:nth-child(even){display:block;height:auto}
  .service-blog-entry img,.entry img{height:auto;aspect-ratio:16/10}
  .service-blog-copy,.copy{padding:22px 20px 26px}
  .cta-inner,.service-cta-wrap{display:block}
  .cta a,.service-cta .button{display:inline-flex;margin-top:22px}
}
.shinwon-lab{padding:100px 0;background:linear-gradient(135deg,#eef4ff 0%,#f8f5f2 100%);overflow:hidden}.lab-wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.lab-intro h2{font-size:38px;line-height:1.35;letter-spacing:-2px;margin:0 0 20px}.lab-intro h2 span{color:#2457bb}.lab-intro>p:last-child{font-size:14px;line-height:2;color:#727a8b;margin:0}.lab-card{min-height:270px;padding:32px;position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:3px;color:#fff;background:linear-gradient(130deg,#172a59,#3472c9 58%,#d3a89c);box-shadow:0 18px 38px #365b9226;transition:transform .3s,box-shadow .3s}.lab-card:hover{transform:translateY(-5px);box-shadow:0 23px 45px #365b9233}.lab-card-copy{position:relative;z-index:2}.lab-card-copy small{font:700 10px Manrope;letter-spacing:2px;color:#c7ddff}.lab-card h3{font-size:27px;line-height:1.3;letter-spacing:-1.5px;margin:15px 0 12px}.lab-card p{font-size:12px;line-height:1.8;color:#dce8ff;margin:0}.lab-arrow{position:absolute;z-index:2;right:28px;top:25px;font-size:26px}.lab-orbit{position:absolute;width:260px;height:260px;right:-35px;top:-35px;border:1px solid #fff6;border-radius:50%;transform:rotate(25deg)}.lab-orbit:before,.lab-orbit:after{content:'';position:absolute;border:1px solid #fff5;border-radius:50%}.lab-orbit:before{inset:26px}.lab-orbit:after{inset:72px;background:#ffffff12}.lab-orbit i,.lab-orbit b{position:absolute;border-radius:50%;display:block}.lab-orbit i{width:22px;height:22px;right:31px;top:65px;background:#f7c4ae;box-shadow:0 0 25px #ffd9cc}.lab-orbit b{width:13px;height:13px;left:40px;bottom:42px;background:#b8d9ff;box-shadow:0 0 20px #b8d9ff}
.lab-menu-emoji{display:inline-block;margin-left:3px;font-size:13px;line-height:1;vertical-align:1px}
.lab-card-image{background-image:linear-gradient(0deg,#07152dcc 0%,#07152d20 65%),url('assets/shinwon-lab-color-test.png');background-size:cover;background-position:center}.lab-card-image .lab-orbit{display:none}
@media(max-width:800px){.shinwon-lab{padding:75px 0}.lab-wrap{grid-template-columns:1fr;gap:30px}.lab-intro h2{font-size:32px}.lab-card{min-height:245px}}
