From 22ef8a87308e20c021efa70c619fbb0ace115b43 Mon Sep 17 00:00:00 2001 From: geun <1416geun@naver.com> Date: Mon, 13 Apr 2026 13:58:44 +0900 Subject: [PATCH] =?UTF-8?q?header=20css=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierignore | 3 + src/css/common.css | 150 --------------------------------------------- src/css/footer.css | 0 src/css/header.css | 149 ++++++++++++++++++++++++++++++++++++++++++++ src/main.jsx | 2 + 5 files changed, 154 insertions(+), 150 deletions(-) create mode 100644 .prettierignore create mode 100644 src/css/footer.css create mode 100644 src/css/header.css diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..3d3c651 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +*.css +*.scss +*.less \ No newline at end of file diff --git a/src/css/common.css b/src/css/common.css index 3574812..071d6ca 100644 --- a/src/css/common.css +++ b/src/css/common.css @@ -17,158 +17,8 @@ body{overflow-x:hidden;} .main-layout{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height);} .sub-layout{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height);} -/*header.*/ -.pal-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:box-shadow .35s ease;} -.pal-header::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);opacity:0;transition:opacity .35s ease;} -.pal-header.is-scrolled::before,.pal-header.is-open::before{opacity:1;} -.pal-header.is-open{box-shadow:0 18px 40px rgba(15,23,42,.08);} - -.pal-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;max-width:1440px;height:96px;margin:0 auto;padding:0 40px;z-index:2;} -.pal-header-logo{flex:0 0 auto;margin:0;font-size:0;line-height:1;} -.pal-header-logo a{display:inline-flex;align-items:center;font-size:28px;font-weight:800;line-height:1;color:#111;text-decoration:none;letter-spacing:-0.03em;} -.pal-header-logo img{width:180px} - -.pal-gnb{flex:1 1 auto;display:flex;justify-content:center;height:100%;} -.pal-gnb-depth1{display:flex;align-items:center;gap:4px;height:100%;margin:0;padding:0;list-style:none;} -.pal-gnb-item{position:relative;height:100%;} -.pal-gnb-link{position:relative;display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 20px;border:0;background:none;color:#111;text-decoration:none;cursor:pointer;transition:color .3s ease,transform .3s ease;} -.pal-gnb-link:hover,.pal-gnb-link:focus-visible{color:var(--color-primary);transform:translateY(-2px);outline:none;} -.pal-gnb-link-text{position:relative;z-index:1;font-size:16px;font-weight:700;line-height:1;letter-spacing:-0.02em;} -.pal-gnb-link-line{position:absolute;left:20px;right:20px;bottom:26px;height:2px;border-radius:999px;background:var(--color-primary);transform:scaleX(0);transform-origin:center;transition:transform .32s ease;} -.pal-gnb-item.is-active .pal-gnb-link{color:var(--color-primary);transform:translateY(-2px);} -.pal-gnb-item.is-active .pal-gnb-link-line{transform:scaleX(1);} - -.pal-header-util{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:120px;} -.pal-header-contact{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border:1px solid rgba(17,17,17,.12);border-radius:999px;background:#fff;color:#111;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:border-color .3s ease,background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;} -.pal-header-contact:hover,.pal-header-contact:focus-visible{border-color:var(--color-primary);background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px var(--color-primary-shadow);outline:none;} - -.pal-header-hamburger{display:none;position:relative;width:46px;height:46px;padding:0;border:1px solid rgba(17,17,17,.08);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;} -.pal-header-hamburger:hover,.pal-header-hamburger:focus-visible{border-color:var(--color-primary-border-strong);transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,.08);outline:none;} -.pal-header-hamburger span{position:absolute;left:50%;width:18px;height:2px;border-radius:999px;background:#111;transform:translateX(-50%);transition:top .28s ease,transform .28s ease,opacity .2s ease,background .28s ease;} -.pal-header-hamburger span:nth-child(1){top:15px;} -.pal-header-hamburger span:nth-child(2){top:22px;} -.pal-header-hamburger span:nth-child(3){top:29px;} -.pal-header-hamburger.is-active span:nth-child(1){top:22px;transform:translateX(-50%) rotate(45deg);background:var(--color-primary);} -.pal-header-hamburger.is-active span:nth-child(2){opacity:0;} -.pal-header-hamburger.is-active span:nth-child(3){top:22px;transform:translateX(-50%) rotate(-45deg);background:var(--color-primary);} - -.pal-mega-panel{position:absolute;top:100%;left:0;width:100%;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease;z-index:1;} -.pal-mega-panel.is-visible{pointer-events:auto;opacity:1;visibility:visible;} -.pal-mega-panel::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);border-top:1px solid rgba(17,17,17,.06);box-shadow:0 24px 50px rgba(15,23,42,.08);} - -.pal-mega-panel-inner{position:relative;display:grid;grid-template-columns:360px 1fr;gap:40px;max-width:1440px;margin:0 auto;padding:24px 40px 28px;z-index:1;} - -.pal-mega-panel-intro{display:flex;flex-direction:column;justify-content:space-between;min-height:340px;padding:32px;border:1px solid rgba(17,17,17,.06);border-radius:32px;background:linear-gradient(180deg,var(--color-primary-soft-strong) 0%,rgba(42,145,201,.05) 100%);box-shadow:0 24px 50px rgba(15,23,42,.08);} -.pal-mega-panel-eyebrow{display:inline-block;margin-bottom:14px;font-size:13px;font-weight:700;line-height:1.2;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;} -.pal-mega-panel-intro h2{margin:0 0 16px;font-size:34px;font-weight:800;line-height:1.25;color:#111;letter-spacing:-0.03em;white-space:pre-line;} -.pal-mega-panel-intro p{margin:0 0 24px;font-size:15px;font-weight:400;line-height:1.7;color:#555;word-break:keep-all;} -.pal-mega-panel-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;height:46px;padding:0 18px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;} -.pal-mega-panel-cta:hover,.pal-mega-panel-cta:focus-visible{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 12px 24px rgba(42,145,201,.22);outline:none;} - -.pal-mega-panel-content{padding:16px 0 0;} -.pal-mega-panel-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 8px 24px;border-bottom:1px solid rgba(17,17,17,.08);} -.pal-mega-panel-top strong{font-size:28px;font-weight:800;line-height:1.2;color:#111;letter-spacing:-0.03em;} -.pal-mega-panel-top p{max-width:520px;margin:0;font-size:15px;line-height:1.7;color:#666;word-break:keep-all;text-align:right;} - -.pal-mega-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:24px;} -.pal-mega-section{padding:8px;} -.pal-mega-section h3{margin:0 0 14px;font-size:15px;font-weight:800;line-height:1.4;color:#111;letter-spacing:-0.02em;} -.pal-mega-section ul{margin:0;padding:0;list-style:none;} -.pal-mega-section li + li{margin-top:10px;} - -.pal-mega-item{display:block;padding:18px 20px;border:1px solid rgba(17,17,17,.06);border-radius:22px;background:#fff;text-decoration:none;transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease,background .28s ease;} -.pal-mega-item:hover,.pal-mega-item:focus-visible{border-color:var(--color-primary-border);background:#fff;transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.08);outline:none;} -.pal-mega-item-title{display:block;margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.4;color:#111;letter-spacing:-0.02em;transition:color .28s ease;} -.pal-mega-item-desc{display:block;font-size:14px;line-height:1.6;color:#666;word-break:keep-all;} -.pal-mega-item:hover .pal-mega-item-title,.pal-mega-item:focus-visible .pal-mega-item-title{color:var(--color-primary);} - -.pal-header-dim{position:fixed;left:0;top:96px;width:100%;height:calc(100vh - 96px);z-index:999;border:0;background:rgba(17,17,17,.32);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease;} -.pal-header-dim.is-visible{opacity:1;visibility:visible;pointer-events:auto;} - -.pal-mobile-dim{position:fixed;inset:0;z-index:1198;background:rgba(17,17,17,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease;} -.pal-mobile-dim.is-visible{opacity:1;visibility:visible;pointer-events:auto;} - -.pal-mobile-menu{position:fixed;top:0;right:0;z-index:1199;width:min(92vw,420px);height:100vh;background:#fff;box-shadow:-24px 0 60px rgba(15,23,42,.14);transform:translateX(100%);transition:transform .34s ease;display:flex;flex-direction:column;} -.pal-mobile-menu.is-open{transform:translateX(0);} - -.pal-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:24px 24px 20px;border-bottom:1px solid rgba(17,17,17,.08);} -.pal-mobile-menu-head strong{font-size:14px;font-weight:800;line-height:1;color:var(--color-primary);letter-spacing:.12em;} -.pal-mobile-menu-close{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid rgba(17,17,17,.08);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .28s ease,transform .28s ease;} -.pal-mobile-menu-close:hover,.pal-mobile-menu-close:focus-visible{border-color:var(--color-primary-border-strong);transform:translateY(-2px);outline:none;} -.pal-mobile-menu-close span{position:absolute;width:18px;height:2px;border-radius:999px;background:#111;} -.pal-mobile-menu-close span:first-child{transform:rotate(45deg);} -.pal-mobile-menu-close span:last-child{transform:rotate(-45deg);} - -.pal-mobile-menu-body{flex:1 1 auto;overflow-y:auto;padding:10px 20px 24px;} -.pal-mobile-nav{margin:0;padding:0;list-style:none;} -.pal-mobile-nav-item{border-bottom:1px solid rgba(17,17,17,.06);} -.pal-mobile-nav-link,.pal-mobile-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 4px;border:0;background:none;color:#111;text-align:left;text-decoration:none;cursor:pointer;} -.pal-mobile-nav-link span,.pal-mobile-nav-toggle span{font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-0.03em;} -.pal-mobile-nav-toggle:focus-visible,.pal-mobile-nav-link:focus-visible{outline:none;} -.pal-mobile-nav-arrow{position:relative;display:block;flex:0 0 auto;width:18px;height:18px;} -.pal-mobile-nav-arrow::before,.pal-mobile-nav-arrow::after{content:"";position:absolute;top:8px;width:10px;height:2px;border-radius:999px;background:#111;transition:transform .28s ease,background .28s ease;} -.pal-mobile-nav-arrow::before{left:0;transform:rotate(45deg);} -.pal-mobile-nav-arrow::after{right:0;transform:rotate(-45deg);} -.pal-mobile-nav-item.is-open .pal-mobile-nav-toggle span{color:var(--color-primary);} -.pal-mobile-nav-item.is-open .pal-mobile-nav-arrow::before{background:var(--color-primary);transform:rotate(-45deg);} -.pal-mobile-nav-item.is-open .pal-mobile-nav-arrow::after{background:var(--color-primary);transform:rotate(45deg);} - -.pal-mobile-submenu{max-height:0;overflow:hidden;transition:max-height .36s ease;padding:0 2px;} -.pal-mobile-nav-item.is-open .pal-mobile-submenu{max-height:1200px;padding-bottom:20px;} - -.pal-mobile-submenu-group + .pal-mobile-submenu-group{margin-top:20px;} -.pal-mobile-submenu-group h3{margin:0 0 10px;font-size:13px;font-weight:800;line-height:1.4;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;} -.pal-mobile-submenu-group ul{margin:0;padding:0;list-style:none;} -.pal-mobile-submenu-group li + li{margin-top:10px;} - -.pal-mobile-submenu-link{display:block;padding:16px 16px 15px;border:1px solid rgba(17,17,17,.06);border-radius:18px;background:#fafafa;text-decoration:none;transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease,background .28s ease;} -.pal-mobile-submenu-link:hover,.pal-mobile-submenu-link:focus-visible{border-color:var(--color-primary-soft-border);background:#fff;transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,.06);outline:none;} -.pal-mobile-submenu-link strong{display:block;font-size:15px;font-weight:700;line-height:1.4;color:#111;letter-spacing:-0.02em;} -.pal-mobile-submenu-link p{margin:4px 0 0;font-size:13px;line-height:1.6;color:#666;word-break:keep-all;} - -.pal-mobile-featured-link{display:block;margin-top:18px;padding:18px;border-radius:22px;background:linear-gradient(180deg,var(--color-primary-soft-strong) 0%,rgba(42,145,201,.05) 100%);text-decoration:none;} -.pal-mobile-featured-link span{display:block;margin-bottom:8px;font-size:12px;font-weight:800;line-height:1.2;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;} -.pal-mobile-featured-link strong{display:block;font-size:16px;font-weight:800;line-height:1.5;color:#111;letter-spacing:-0.02em;} - -.pal-mobile-contact-box{margin-top:28px;padding:20px;border:1px solid rgba(17,17,17,.06);border-radius:24px;background:#fff;} -.pal-mobile-contact-box p{margin:0 0 14px;font-size:14px;line-height:1.7;color:#555;word-break:keep-all;} -.pal-mobile-contact-link{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background .28s ease,transform .28s ease,box-shadow .28s ease;} -.pal-mobile-contact-link:hover,.pal-mobile-contact-link:focus-visible{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 12px 24px rgba(42,145,201,.22);outline:none;} - -@media (max-width:1440px){ -.pal-header-inner{padding:0 24px;} -.pal-mega-panel-inner{padding:24px 24px 24px;} -} - -@media (max-width:1200px){ -.pal-mega-panel-inner{grid-template-columns:320px 1fr;gap:24px;} -.pal-mega-panel-intro h2{font-size:28px;} -.pal-mega-panel-top{flex-direction:column;align-items:flex-start;} -.pal-mega-panel-top p{max-width:none;text-align:left;} -} - -@media (max-width:1024px){ -.pal-header-inner{height:82px;padding:0 20px;} -.pal-header-logo a{font-size:24px;} -.pal-gnb{display:none;} -.pal-header-contact{display:none;} -.pal-header-hamburger{display:inline-flex;} -.pal-header-util{min-width:auto;} -.pal-mega-panel{display:none;} -.pal-header-dim{display:none;} -} - -@media (max-width:767px){ -.pal-mobile-menu{width:100vw;} -.pal-mobile-menu-head{min-height:82px;padding:20px 20px 16px;} -.pal-mobile-menu-body{padding:8px 16px 20px;} -.pal-mobile-nav-link span,.pal-mobile-nav-toggle span{font-size:18px;} -.pal-mobile-submenu-link{padding:14px 14px 13px;border-radius:16px;} -.pal-mobile-contact-box{padding:18px;border-radius:20px;} -} /*main visual*/ - .main-page{position:relative;background:linear-gradient(180deg,#f7f9ff 0%,#eef2fb 52%,#f8faff 100%);color:#111827;overflow:hidden;} .main-section{position:relative;width:100%;} .section-inner{position:relative;width:100%;max-width:1400px;margin:0 auto;padding:0 56px;} diff --git a/src/css/footer.css b/src/css/footer.css new file mode 100644 index 0000000..e69de29 diff --git a/src/css/header.css b/src/css/header.css new file mode 100644 index 0000000..5972daf --- /dev/null +++ b/src/css/header.css @@ -0,0 +1,149 @@ +/*header.*/ +.pal-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:box-shadow .35s ease;} +.pal-header::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);opacity:0;transition:opacity .35s ease;} +.pal-header.is-scrolled::before,.pal-header.is-open::before{opacity:1;} +.pal-header.is-open{box-shadow:0 18px 40px rgba(15,23,42,.08);} + +.pal-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;max-width:1440px;height:96px;margin:0 auto;padding:0 40px;z-index:2;} +.pal-header-logo{flex:0 0 auto;margin:0;font-size:0;line-height:1;} +.pal-header-logo a{display:inline-flex;align-items:center;font-size:28px;font-weight:800;line-height:1;color:#111;text-decoration:none;letter-spacing:-0.03em;} +.pal-header-logo img{width:180px} + +.pal-gnb{flex:1 1 auto;display:flex;justify-content:center;height:100%;} +.pal-gnb-depth1{display:flex;align-items:center;gap:4px;height:100%;margin:0;padding:0;list-style:none;} +.pal-gnb-item{position:relative;height:100%;} +.pal-gnb-link{position:relative;display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 20px;border:0;background:none;color:#111;text-decoration:none;cursor:pointer;transition:color .3s ease,transform .3s ease;} +.pal-gnb-link:hover,.pal-gnb-link:focus-visible{color:var(--color-primary);transform:translateY(-2px);outline:none;} +.pal-gnb-link-text{position:relative;z-index:1;font-size:16px;font-weight:700;line-height:1;letter-spacing:-0.02em;} +.pal-gnb-link-line{position:absolute;left:20px;right:20px;bottom:26px;height:2px;border-radius:999px;background:var(--color-primary);transform:scaleX(0);transform-origin:center;transition:transform .32s ease;} +.pal-gnb-item.is-active .pal-gnb-link{color:var(--color-primary);transform:translateY(-2px);} +.pal-gnb-item.is-active .pal-gnb-link-line{transform:scaleX(1);} + +.pal-header-util{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:120px;} +.pal-header-contact{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border:1px solid rgba(17,17,17,.12);border-radius:999px;background:#fff;color:#111;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:border-color .3s ease,background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;} +.pal-header-contact:hover,.pal-header-contact:focus-visible{border-color:var(--color-primary);background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px var(--color-primary-shadow);outline:none;} + +.pal-header-hamburger{display:none;position:relative;width:46px;height:46px;padding:0;border:1px solid rgba(17,17,17,.08);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;} +.pal-header-hamburger:hover,.pal-header-hamburger:focus-visible{border-color:var(--color-primary-border-strong);transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,.08);outline:none;} +.pal-header-hamburger span{position:absolute;left:50%;width:18px;height:2px;border-radius:999px;background:#111;transform:translateX(-50%);transition:top .28s ease,transform .28s ease,opacity .2s ease,background .28s ease;} +.pal-header-hamburger span:nth-child(1){top:15px;} +.pal-header-hamburger span:nth-child(2){top:22px;} +.pal-header-hamburger span:nth-child(3){top:29px;} +.pal-header-hamburger.is-active span:nth-child(1){top:22px;transform:translateX(-50%) rotate(45deg);background:var(--color-primary);} +.pal-header-hamburger.is-active span:nth-child(2){opacity:0;} +.pal-header-hamburger.is-active span:nth-child(3){top:22px;transform:translateX(-50%) rotate(-45deg);background:var(--color-primary);} + +.pal-mega-panel{position:absolute;top:100%;left:0;width:100%;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease;z-index:1;} +.pal-mega-panel.is-visible{pointer-events:auto;opacity:1;visibility:visible;} +.pal-mega-panel::before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);border-top:1px solid rgba(17,17,17,.06);box-shadow:0 24px 50px rgba(15,23,42,.08);} + +.pal-mega-panel-inner{position:relative;display:grid;grid-template-columns:360px 1fr;gap:40px;max-width:1440px;margin:0 auto;padding:24px 40px 28px;z-index:1;} + +.pal-mega-panel-intro{display:flex;flex-direction:column;justify-content:space-between;min-height:340px;padding:32px;border:1px solid rgba(17,17,17,.06);border-radius:32px;background:linear-gradient(180deg,var(--color-primary-soft-strong) 0%,rgba(42,145,201,.05) 100%);box-shadow:0 24px 50px rgba(15,23,42,.08);} +.pal-mega-panel-eyebrow{display:inline-block;margin-bottom:14px;font-size:13px;font-weight:700;line-height:1.2;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;} +.pal-mega-panel-intro h2{margin:0 0 16px;font-size:34px;font-weight:800;line-height:1.25;color:#111;letter-spacing:-0.03em;white-space:pre-line;} +.pal-mega-panel-intro p{margin:0 0 24px;font-size:15px;font-weight:400;line-height:1.7;color:#555;word-break:keep-all;} +.pal-mega-panel-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;height:46px;padding:0 18px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;} +.pal-mega-panel-cta:hover,.pal-mega-panel-cta:focus-visible{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 12px 24px rgba(42,145,201,.22);outline:none;} + +.pal-mega-panel-content{padding:16px 0 0;} +.pal-mega-panel-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 8px 24px;border-bottom:1px solid rgba(17,17,17,.08);} +.pal-mega-panel-top strong{font-size:28px;font-weight:800;line-height:1.2;color:#111;letter-spacing:-0.03em;} +.pal-mega-panel-top p{max-width:520px;margin:0;font-size:15px;line-height:1.7;color:#666;word-break:keep-all;text-align:right;} + +.pal-mega-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:24px;} +.pal-mega-section{padding:8px;} +.pal-mega-section h3{margin:0 0 14px;font-size:15px;font-weight:800;line-height:1.4;color:#111;letter-spacing:-0.02em;} +.pal-mega-section ul{margin:0;padding:0;list-style:none;} +.pal-mega-section li + li{margin-top:10px;} + +.pal-mega-item{display:block;padding:18px 20px;border:1px solid rgba(17,17,17,.06);border-radius:22px;background:#fff;text-decoration:none;transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease,background .28s ease;} +.pal-mega-item:hover,.pal-mega-item:focus-visible{border-color:var(--color-primary-border);background:#fff;transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.08);outline:none;} +.pal-mega-item-title{display:block;margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.4;color:#111;letter-spacing:-0.02em;transition:color .28s ease;} +.pal-mega-item-desc{display:block;font-size:14px;line-height:1.6;color:#666;word-break:keep-all;} +.pal-mega-item:hover .pal-mega-item-title,.pal-mega-item:focus-visible .pal-mega-item-title{color:var(--color-primary);} + +.pal-header-dim{position:fixed;left:0;top:96px;width:100%;height:calc(100vh - 96px);z-index:999;border:0;background:rgba(17,17,17,.32);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease;} +.pal-header-dim.is-visible{opacity:1;visibility:visible;pointer-events:auto;} + +.pal-mobile-dim{position:fixed;inset:0;z-index:1198;background:rgba(17,17,17,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease;} +.pal-mobile-dim.is-visible{opacity:1;visibility:visible;pointer-events:auto;} + +.pal-mobile-menu{position:fixed;top:0;right:0;z-index:1199;width:min(92vw,420px);height:100vh;background:#fff;box-shadow:-24px 0 60px rgba(15,23,42,.14);transform:translateX(100%);transition:transform .34s ease;display:flex;flex-direction:column;} +.pal-mobile-menu.is-open{transform:translateX(0);} + +.pal-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:24px 24px 20px;border-bottom:1px solid rgba(17,17,17,.08);} +.pal-mobile-menu-head strong{font-size:14px;font-weight:800;line-height:1;color:var(--color-primary);letter-spacing:.12em;} +.pal-mobile-menu-close{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid rgba(17,17,17,.08);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .28s ease,transform .28s ease;} +.pal-mobile-menu-close:hover,.pal-mobile-menu-close:focus-visible{border-color:var(--color-primary-border-strong);transform:translateY(-2px);outline:none;} +.pal-mobile-menu-close span{position:absolute;width:18px;height:2px;border-radius:999px;background:#111;} +.pal-mobile-menu-close span:first-child{transform:rotate(45deg);} +.pal-mobile-menu-close span:last-child{transform:rotate(-45deg);} + +.pal-mobile-menu-body{flex:1 1 auto;overflow-y:auto;padding:10px 20px 24px;} +.pal-mobile-nav{margin:0;padding:0;list-style:none;} +.pal-mobile-nav-item{border-bottom:1px solid rgba(17,17,17,.06);} +.pal-mobile-nav-link,.pal-mobile-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 4px;border:0;background:none;color:#111;text-align:left;text-decoration:none;cursor:pointer;} +.pal-mobile-nav-link span,.pal-mobile-nav-toggle span{font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-0.03em;} +.pal-mobile-nav-toggle:focus-visible,.pal-mobile-nav-link:focus-visible{outline:none;} +.pal-mobile-nav-arrow{position:relative;display:block;flex:0 0 auto;width:18px;height:18px;} +.pal-mobile-nav-arrow::before,.pal-mobile-nav-arrow::after{content:"";position:absolute;top:8px;width:10px;height:2px;border-radius:999px;background:#111;transition:transform .28s ease,background .28s ease;} +.pal-mobile-nav-arrow::before{left:0;transform:rotate(45deg);} +.pal-mobile-nav-arrow::after{right:0;transform:rotate(-45deg);} +.pal-mobile-nav-item.is-open .pal-mobile-nav-toggle span{color:var(--color-primary);} +.pal-mobile-nav-item.is-open .pal-mobile-nav-arrow::before{background:var(--color-primary);transform:rotate(-45deg);} +.pal-mobile-nav-item.is-open .pal-mobile-nav-arrow::after{background:var(--color-primary);transform:rotate(45deg);} + +.pal-mobile-submenu{max-height:0;overflow:hidden;transition:max-height .36s ease;padding:0 2px;} +.pal-mobile-nav-item.is-open .pal-mobile-submenu{max-height:1200px;padding-bottom:20px;} + +.pal-mobile-submenu-group + .pal-mobile-submenu-group{margin-top:20px;} +.pal-mobile-submenu-group h3{margin:0 0 10px;font-size:13px;font-weight:800;line-height:1.4;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;} +.pal-mobile-submenu-group ul{margin:0;padding:0;list-style:none;} +.pal-mobile-submenu-group li + li{margin-top:10px;} + +.pal-mobile-submenu-link{display:block;padding:16px 16px 15px;border:1px solid rgba(17,17,17,.06);border-radius:18px;background:#fafafa;text-decoration:none;transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease,background .28s ease;} +.pal-mobile-submenu-link:hover,.pal-mobile-submenu-link:focus-visible{border-color:var(--color-primary-soft-border);background:#fff;transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,.06);outline:none;} +.pal-mobile-submenu-link strong{display:block;font-size:15px;font-weight:700;line-height:1.4;color:#111;letter-spacing:-0.02em;} +.pal-mobile-submenu-link p{margin:4px 0 0;font-size:13px;line-height:1.6;color:#666;word-break:keep-all;} + +.pal-mobile-featured-link{display:block;margin-top:18px;padding:18px;border-radius:22px;background:linear-gradient(180deg,var(--color-primary-soft-strong) 0%,rgba(42,145,201,.05) 100%);text-decoration:none;} +.pal-mobile-featured-link span{display:block;margin-bottom:8px;font-size:12px;font-weight:800;line-height:1.2;color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;} +.pal-mobile-featured-link strong{display:block;font-size:16px;font-weight:800;line-height:1.5;color:#111;letter-spacing:-0.02em;} + +.pal-mobile-contact-box{margin-top:28px;padding:20px;border:1px solid rgba(17,17,17,.06);border-radius:24px;background:#fff;} +.pal-mobile-contact-box p{margin:0 0 14px;font-size:14px;line-height:1.7;color:#555;word-break:keep-all;} +.pal-mobile-contact-link{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background .28s ease,transform .28s ease,box-shadow .28s ease;} +.pal-mobile-contact-link:hover,.pal-mobile-contact-link:focus-visible{background:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 12px 24px rgba(42,145,201,.22);outline:none;} + +@media (max-width:1440px){ +.pal-header-inner{padding:0 24px;} +.pal-mega-panel-inner{padding:24px 24px 24px;} +} + +@media (max-width:1200px){ +.pal-mega-panel-inner{grid-template-columns:320px 1fr;gap:24px;} +.pal-mega-panel-intro h2{font-size:28px;} +.pal-mega-panel-top{flex-direction:column;align-items:flex-start;} +.pal-mega-panel-top p{max-width:none;text-align:left;} +} + +@media (max-width:1024px){ +.pal-header-inner{height:82px;padding:0 20px;} +.pal-header-logo a{font-size:24px;} +.pal-gnb{display:none;} +.pal-header-contact{display:none;} +.pal-header-hamburger{display:inline-flex;} +.pal-header-util{min-width:auto;} +.pal-mega-panel{display:none;} +.pal-header-dim{display:none;} +} + +@media (max-width:767px){ +.pal-mobile-menu{width:100vw;} +.pal-mobile-menu-head{min-height:82px;padding:20px 20px 16px;} +.pal-mobile-menu-body{padding:8px 16px 20px;} +.pal-mobile-nav-link span,.pal-mobile-nav-toggle span{font-size:18px;} +.pal-mobile-submenu-link{padding:14px 14px 13px;border-radius:16px;} +.pal-mobile-contact-box{padding:18px;border-radius:20px;} +} \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index 3a36cf3..39f371c 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -4,6 +4,8 @@ import { HashRouter } from "react-router-dom"; import App from "./App"; import "./css/reset.css"; import "./css/common.css"; +import "./css/header.css"; +import "./css/footer.css"; ReactDOM.createRoot(document.getElementById("root")).render(