:root{--ink:#192f38;--muted:#64757b;--cream:#f8f8f3;--line:#dbe2df;--teal:#127c79;--deep:#0e5c5a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-bottom:92px;background:#fff;color:var(--ink);font-family:"DM Sans","Noto Sans KR",sans-serif;letter-spacing:-.035em}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:#fff}.wordmark{font-size:25px;font-weight:800;letter-spacing:-.08em}.dot{color:var(--teal)}.about-trigger{border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:700}.about-trigger span{color:var(--teal);margin-left:6px}
.hero{display:grid;grid-template-columns:1fr .95fr;min-height:680px;align-items:center;gap:40px;padding-top:70px;padding-bottom:80px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;color:var(--teal);margin:0 0 22px}.status-dot{display:inline-block;width:8px;height:8px;background:var(--teal);border-radius:50%;margin-right:9px}.hero h1{font-size:clamp(52px,5.7vw,88px);line-height:1.14;letter-spacing:-.075em;margin:0 0 29px;font-weight:800}.hero h1 em{font-style:normal;color:var(--teal)}.hero-lead{max-width:550px;font-size:18px;line-height:1.85;color:#485d63;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 22px;font-weight:700;font-size:15px}.primary{background:var(--ink);color:#fff}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{color:var(--teal);margin-left:6px}.hero-proof{font-size:12px;color:#829095;margin-top:26px}.hero-art{height:520px;background:#d7eee9;position:relative;overflow:hidden;border-radius:2px}.hero-art:before{content:"";position:absolute;width:430px;height:430px;border:1px solid #b6d6cf;border-radius:50%;right:-120px;top:-190px}.hero-art:after{content:"";position:absolute;width:380px;height:380px;border:1px solid #b6d6cf;border-radius:50%;left:-170px;bottom:-220px}.canvas-title{position:absolute;top:32px;left:36px;color:#86b1a9;font-size:54px;line-height:1;font-weight:800;letter-spacing:-.07em}.browser-card{position:absolute;background:#fff;box-shadow:0 22px 70px #134a4930;padding:22px}.card-back{width:43%;height:230px;right:25px;top:138px;transform:rotate(12deg);background:#eaf6f3}.card-front{width:66%;height:350px;left:12%;top:160px;transform:rotate(-5deg)}.mock-nav{display:block;width:100%;height:7px;border-top:1px solid #d7e3df;border-bottom:1px solid #d7e3df}.mock-label{display:block;margin-top:28px;font-size:10px;color:var(--teal);letter-spacing:.12em;font-weight:700}.mock-big{display:block;font-size:clamp(24px,3vw,42px);line-height:1.05;font-weight:800;letter-spacing:-.06em;margin-top:18px}.mock-button{display:block;background:#18343a;width:100px;height:20px;margin-top:23px}.mock-line{display:block;width:60%;height:9px;background:#9ecdc4;margin-top:22px}.mock-line.wide{width:80%;margin-top:43px}.mock-block{display:block;width:100%;height:83px;background:#b8ded6;margin-top:25px}.art-caption{position:absolute;bottom:21px;right:25px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#548d84}
.statement{background:var(--ink);color:#fff}.statement-grid{display:grid;grid-template-columns:1fr 2fr;align-items:start;padding-top:82px;padding-bottom:92px}.section-num{font-size:12px;letter-spacing:.15em;color:#85b9b4}.statement p{margin:0;font-size:clamp(30px,3.5vw,53px);line-height:1.55;font-weight:500;letter-spacing:-.06em}.statement strong{color:#9ee0d5}.section{padding-top:120px;padding-bottom:120px;scroll-margin-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-heading h2,.details-grid h2{font-size:clamp(34px,3.5vw,52px);letter-spacing:-.065em;line-height:1.25;margin:0;font-weight:800}.section-heading>p{font-size:14px;line-height:1.8;color:var(--muted);max-width:390px;margin:0}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.package-card{border:1px solid var(--line);padding:29px 28px 24px;display:flex;flex-direction:column;min-height:470px;background:#fff}.package-card.featured{border:2px solid var(--teal);box-shadow:0 20px 45px #0c777411}.package-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.package-index{font-size:11px;font-weight:800;color:var(--teal);letter-spacing:.1em}.package-badge{font-size:11px;color:var(--teal);background:#eaf5f2;padding:6px 9px}.package-card h3{font-size:34px;margin:31px 0 4px;letter-spacing:-.07em}.package-desc{font-size:14px;color:var(--muted);margin:0}.price{font-size:44px;font-weight:800;letter-spacing:-.08em;margin:20px 0 24px}.price span{font-size:18px;margin-left:3px}.package-card ul{list-style:none;padding:19px 0 0;margin:0;border-top:1px solid var(--line);flex:1}.package-card li{font-size:13px;line-height:1.8;margin-bottom:7px;color:#47595e}.package-card li:before{content:"✓";color:var(--teal);margin-right:9px;font-weight:800}.package-select{border:0;background:var(--ink);color:#fff;padding:15px;text-align:left;font-weight:700;display:flex;justify-content:space-between}.featured .package-select{background:var(--teal)}.package-note,.caption{font-size:12px;line-height:1.8;color:#718185;margin:20px 0 0}
.details-section{background:var(--cream)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.detail-intro{font-size:15px;line-height:1.85;color:var(--muted);max-width:390px;margin:26px 0}.detail-list{border-top:1px solid #ccd9d4}.detail-list>div{display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding:22px 0;border-bottom:1px solid #ccd9d4}.detail-list span{font-size:12px;color:var(--teal);font-weight:800}.detail-list strong{font-size:17px}.detail-list p{grid-column:2;margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.portfolio-card{display:block}.portfolio-visual{height:290px;display:flex;align-items:center;justify-content:center;overflow:hidden}.portfolio-visual span{font-size:clamp(37px,4vw,61px);font-weight:800;line-height:1;letter-spacing:-.08em;transform:rotate(-8deg)}.tone-peach .portfolio-visual{background:#f4dcd5;color:#9e6e68}.tone-sand .portfolio-visual{background:#e6dfd1;color:#817563}.tone-lilac .portfolio-visual{background:#e4e0ef;color:#827b9e}.portfolio-meta{display:grid;grid-template-columns:1fr auto;gap:5px;border-bottom:1px solid var(--line);padding:18px 0}.portfolio-meta span:first-child{grid-column:1/-1;font-size:10px;color:var(--teal);font-weight:800;letter-spacing:.1em}.portfolio-meta strong{font-size:16px}.portfolio-meta span:last-child{color:var(--teal)}
.process-section{background:#e9f3ef}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-grid>div{padding:27px 20px;background:#fff;min-height:190px}.process-grid span{color:var(--teal);font-weight:800;font-size:12px}.process-grid h3{font-size:19px;margin:28px 0 10px}.process-grid p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.option-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.option-grid>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:18px 12px 18px 0;font-size:14px}.option-grid>div:nth-child(odd){margin-right:25px}.option-grid strong{white-space:nowrap;color:var(--teal)}.faq-section{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--teal);font-size:22px;line-height:1}details[open] summary:after{content:"−"}details p{font-size:13px;line-height:1.8;color:var(--muted);margin:15px 22px 0 0}.policy-card{background:#fff;border:1px solid var(--line);padding:29px}.policy-card h3{font-size:24px;margin:0 0 19px}.policy-card dl{margin:0}.policy-card dl>div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:10px 0;font-size:12px}.policy-card dt{color:#5f7075}.policy-card dd{margin:0;font-weight:800;color:var(--teal)}.policy-card>p:last-child{font-size:11px;line-height:1.8;color:var(--muted);margin:15px 0 0}
.footer{background:var(--ink);color:#fff;padding:55px 0 120px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer p{font-size:12px;line-height:1.85;color:#b8cacd}.company-info a{text-decoration:underline;text-underline-offset:3px}.company-info p:last-child{display:flex;flex-wrap:wrap;gap:15px}.floating-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px #12333312}.floating-inner{width:min(1200px,calc(100% - 48px));margin:auto;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}.floating-label small{display:block;color:var(--teal);font-size:10px;letter-spacing:.14em;font-weight:800}.floating-label strong{font-size:21px}.floating-label strong span{font-size:15px;color:var(--muted);font-weight:500;margin-left:8px}.floating-controls{display:flex;gap:9px}.floating-controls select{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 16px;min-width:178px}.floating-controls button{border:0;background:#9aa8a8;color:#fff;padding:13px 27px;font-weight:700;min-width:170px}.floating-controls button.ready{background:var(--teal)}dialog{border:0;padding:48px;width:min(540px,calc(100% - 40px));box-shadow:0 25px 90px #102d3050;color:var(--ink)}dialog::backdrop{background:#102d30aa}dialog h2{font-size:36px;line-height:1.25;margin:0 0 24px}dialog p:not(.eyebrow){font-size:15px;line-height:1.85;color:var(--muted)}dialog a{display:inline-block;margin-top:18px;font-size:13px;color:var(--teal);font-weight:700;border-bottom:1px solid}.dialog-close{position:absolute;top:15px;right:20px;border:0;background:transparent;font-size:27px;color:var(--ink)}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:35px;padding-top:55px}.hero-art{height:420px}.statement-grid{grid-template-columns:1fr;gap:28px}.package-grid{grid-template-columns:1fr}.package-card{min-height:0}.details-grid,.faq-grid{grid-template-columns:1fr;gap:40px}.portfolio-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{padding-bottom:104px}.wrap{width:calc(100% - 36px)}.site-header{height:66px;padding:0 18px}.wordmark{font-size:22px}.about-trigger{font-size:12px}.hero{padding-top:50px;padding-bottom:58px;min-height:0}.hero h1{font-size:50px}.hero-lead{font-size:15px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-art{height:350px}.card-front{height:245px;top:105px}.card-back{top:90px;height:180px}.canvas-title{font-size:38px}.mock-big{font-size:26px}.statement-grid{padding-top:60px;padding-bottom:65px}.statement p{font-size:32px}.section{padding-top:75px;padding-bottom:75px}.section-heading{display:block;margin-bottom:29px}.section-heading>p,.section-heading>.text-link{display:block;margin-top:18px}.portfolio-grid,.process-grid,.option-grid{grid-template-columns:1fr}.portfolio-visual{height:230px}.option-grid>div:nth-child(odd){margin-right:0}.floating-inner{width:calc(100% - 24px);min-height:94px;gap:7px}.floating-label small{font-size:8px}.floating-label strong{font-size:15px}.floating-label strong span{display:block;font-size:12px;margin:0}.floating-controls{gap:5px}.floating-controls select{min-width:0;width:110px;padding:10px 4px;font-size:11px}.floating-controls button{min-width:0;width:116px;padding:10px 6px;font-size:11px}.footer-grid{grid-template-columns:1fr}.footer{padding-bottom:130px}dialog{padding:33px}}

/* Hero typography and screenshots from live portfolio sites. */
.hero{grid-template-columns:minmax(0,1fr);min-height:620px;max-width:1120px;justify-items:start}
.hero-copy{max-width:850px}
.hero h1{font-size:clamp(58px,7.4vw,112px);line-height:1.08;letter-spacing:-.085em}
.hero-lead{max-width:710px;font-size:19px}
.portfolio-visual{height:auto;aspect-ratio:1.45;background:#f4f5f4}
.portfolio-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s ease}
.portfolio-card:hover .portfolio-visual img{transform:scale(1.035)}
@media(max-width:900px){.hero{min-height:560px}}
@media(max-width:600px){.hero{min-height:0;padding-top:64px;padding-bottom:88px}.hero h1{font-size:clamp(46px,12vw,68px)}.hero-lead{font-size:16px}.portfolio-visual{aspect-ratio:1.45}}
