@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#efebe5;--ink:#191c1a;--muted:#66645f;--accent:#4c5ce8;--line:#c9c5be}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans KR',Arial,sans-serif;letter-spacing:-.045em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{max-width:1280px;margin:auto;padding-left:48px;padding-right:48px}.header{height:100px;max-width:1376px;padding:0 48px;margin:auto;display:flex;align-items:center;justify-content:space-between}.logo{font-size:28px;font-family:Arial,sans-serif;font-weight:900;letter-spacing:-1.5px;display:inline-flex;align-items:baseline;gap:4px}.logo-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.header nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.nav-contact{border:1px solid #b7b4b0;padding:12px 18px;border-radius:30px}.nav-contact span{margin-left:15px}.hero{display:grid;grid-template-columns:1.1fr 1fr;position:relative;padding-top:70px}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;display:flex;align-items:center;gap:10px;margin:0 0 30px}.eyebrow>span{height:6px;width:6px;background:var(--accent);border-radius:50%}h1{font-size:clamp(48px,5.1vw,72px);font-weight:800;line-height:1.25;letter-spacing:-.08em;margin:0 0 25px}em{font-style:normal;color:var(--accent)}.lead{color:var(--muted);font-size:16px;line-height:1.9;margin-bottom:33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:17px 23px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:0;transition:background .2s,transform .2s}.dark{background:var(--ink);color:white}.dark:hover{background:#343936;transform:translateY(-2px)}.text-link{font-size:13px;display:inline-flex;gap:14px;margin-left:23px}.hero-art{min-height:430px;position:relative;display:flex;align-items:center;justify-content:center}.hero-architecture{width:115%;max-width:none;display:block;margin-left:-6%;height:auto}.hero-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:63px 0 24px;color:var(--muted);font-size:11px}.hero-footer>span:first-child{font:10px Arial;letter-spacing:.13em}.hero-footer>a{font-size:22px}.intro{display:grid;grid-template-columns:1fr 2fr;padding-top:100px;padding-bottom:100px}.intro .eyebrow{margin-top:10px}.intro h2,h2{font-size:40px;line-height:1.4;letter-spacing:-.065em;margin:0 0 25px}.intro p:not(.eyebrow){font-size:15px;line-height:1.95;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:20px}.section-heading h2{margin:0}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:5px}.services{padding-bottom:100px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{background:#efebe5;border:1px solid #c9c5be;border-radius:12px;padding:24px 23px 22px;display:flex;flex-direction:column}.violet{background:#e9e4f2;border-color:#ded5ec}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}.card-top>span:first-child{font:11px Arial;color:#696761}.service-icon{color:#191c1a;font:35px Arial}.english{font:11px Arial;letter-spacing:.01em;color:#68655f;margin:0 0 11px}.service h3{font-size:20px;letter-spacing:-.06em;margin:0 0 16px}.service>p:not(.english){font-size:13px;line-height:1.9;color:#68655f;margin:0 0 28px}.tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:10px;border:1px solid #c9c5be;padding:5px 7px;border-radius:4px;white-space:nowrap;color:#68655f}.approach{background:#e7e3dc;padding:80px 0 85px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:55px}.steps article{border-top:1px solid #bbb7b0;padding-top:22px}.steps article>span{font:10px Arial;letter-spacing:.1em;color:#68655f}.steps h3{font-size:20px;margin:28px 0 13px}.steps p{font-size:13px;line-height:1.85;color:var(--muted)}.contact{padding-top:100px;padding-bottom:95px}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact h2{font-size:48px;margin-bottom:24px}.contact-layout>div>p{color:var(--muted);font-size:15px;line-height:1.9}.email{font:20px Arial;display:inline-block;border-bottom:1px solid #b8b4ac;padding:20px 0 12px;letter-spacing:-.02em}.email span{margin-left:30px;color:var(--accent)}form{display:flex;flex-direction:column}label{font-size:13px;font-weight:600;margin-bottom:10px}select,textarea{width:100%;background:transparent;border:1px solid #bbb7b0;border-radius:5px;color:var(--ink);padding:13px;margin-bottom:21px;font-size:13px}textarea{resize:vertical;min-height:130px;line-height:1.7}form .button{width:100%}.form-note,#form-status{font-size:11px;line-height:1.8;color:var(--muted);letter-spacing:-.02em}.footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:35px;display:flex;align-items:center;gap:30px}.footer .logo{font-size:22px}.footer p{font-size:12px;color:var(--muted)}.footer small{font:10px Arial;color:#77746e;margin-left:auto}.top-link{font-size:11px;margin-left:15px}.skip{position:fixed;top:-100px;left:20px;z-index:10;padding:10px;background:white}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding-top:100px}.hero-art{min-height:480px}}@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}.header{padding:0 32px}.service-grid{grid-template-columns:repeat(2,1fr)}.card-top{margin-bottom:25px}.hero{grid-template-columns:1.1fr 1fr}.sculpture{transform:translate(-50%,-50%) scale(.85)}.text-link{display:flex;margin:20px 0}.contact-layout{gap:45px}.steps{gap:15px}.steps h3{font-size:18px}}@media(max-width:680px){html{scroll-padding-top:20px}.wrap{padding-left:24px;padding-right:24px}.header{height:80px;padding:0 24px}.logo{font-size:25px}.header nav{gap:0}.header nav>a:not(.nav-contact){display:none}.nav-contact{font-size:11px;padding:10px 13px}.hero{padding-top:40px;grid-template-columns:1fr}.hero .eyebrow{font-size:9px;margin-bottom:25px}h1{font-size:52px}.lead{font-size:14px}.text-link{display:inline-flex;margin:0 0 0 18px;font-size:12px}.hero-art{min-height:335px;margin:22px -10px 0}.sculpture{transform:translate(-50%,-50%) scale(.82)}.label-top{top:6%}.label-bottom{bottom:2%;right:5%}.hero-footer{padding-top:30px;gap:15px}.hero-footer>span:nth-child(2){display:none}.intro{grid-template-columns:1fr;padding-top:65px;padding-bottom:60px}.intro .eyebrow{margin-bottom:22px}h2,.intro h2{font-size:31px}.intro p:not(.eyebrow){font-size:14px}.desktop{display:none}.section-heading{display:block}.section-heading>p{margin-top:20px;font-size:13px}.services{padding-bottom:60px}.service-grid{gap:12px;grid-template-columns:1fr}.service{padding:24px}.card-top{margin-bottom:22px}.service h3{font-size:23px}.service>p:not(.english){font-size:14px;max-width:420px}.tags span{font-size:11px}.approach{padding:60px 0}.steps{grid-template-columns:1fr 1fr;gap:25px 20px;margin-top:35px}.steps article>span{font-size:9px}.steps h3{font-size:17px;margin-top:22px}.steps p{font-size:12px}.contact{padding-top:65px;padding-bottom:55px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact h2{font-size:39px}.email{font-size:19px}.footer{flex-wrap:wrap;gap:15px}.footer p{margin:0}.footer small{margin-left:0;width:65%;margin-top:5px}.top-link{margin-left:auto}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original OFFALTO identity: warm ivory, black mark, restrained blue. */
body{background:radial-gradient(ellipse at 65% 15%,#f5f2ed 0,transparent 55%),var(--bg)}
.logo{align-items:center;gap:12px;letter-spacing:-1px;font-weight:800}.brand-symbol{width:36px;height:28px;object-fit:contain;flex-shrink:0}.footer .brand-symbol{width:27px;height:22px}.logo-dot{display:none}
.header{max-width:1184px;padding:0;border-bottom:1px solid var(--line);height:110px}.nav-contact,.button{border-radius:0}.nav-contact{border-color:#696761}.eyebrow>span{display:none}.hero .eyebrow{letter-spacing:.21em;font-weight:400;font-size:12px}em{color:var(--ink)}.lead{color:#343632}.hero-footer{padding-top:35px}.service-grid{gap:0}.service{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:0 24px}.service:first-child{border-left:0;padding-left:0}.service:last-child{padding-right:0}.card-top{margin-bottom:30px}.card-top>span:first-child{color:var(--ink);letter-spacing:.1em}.service-icon{font-size:28px}.tags span{border-radius:0}.english{font-size:14px;color:var(--ink);font-weight:600}.steps article{border-top-color:var(--line)}.steps article>span{color:var(--muted)}.email span{color:var(--accent)}select,textarea{border-radius:2px}.section-heading .eyebrow,.intro>.eyebrow,.contact>.eyebrow{color:#68655f}.dark:hover{background:#343936}
@media(max-width:1280px){.header{margin:0 48px}}
@media(max-width:1050px){.header{margin:0 32px;padding:0}.hero-architecture{width:110%;margin-left:-4%}.service{padding:24px;border-top:1px solid var(--line)}.service:nth-child(odd){border-left:0;padding-left:0}.service:nth-child(even){padding-right:0}.service-grid{row-gap:24px}}
@media(max-width:680px){.header{margin:0 24px;height:80px;padding:0}.logo{gap:8px;font-size:24px}.brand-symbol{width:29px;height:23px}.nav-contact{padding:10px 12px}.hero .eyebrow{font-size:9px;letter-spacing:.16em}.hero-art{min-height:270px;margin:10px -4px 0}.hero-architecture{width:100%;margin:0}.hero-footer{padding-top:20px}.service-grid{row-gap:0}.service,.service:first-child,.service:last-child{padding:25px 0;border-left:0}.card-top{margin-bottom:16px}.footer .brand-symbol{width:24px}.footer .logo{font-size:21px}}

/* Service detail and direct inquiry retain the original identity. */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}.service{padding:0 24px 24px;border-bottom:1px solid var(--line)}.service:nth-child(3n+1){border-left:0;padding-left:0}.service:nth-child(3n){padding-right:0}.service:last-child{padding-right:24px}.service details{margin-bottom:22px;font-size:13px;line-height:1.85}.service summary{cursor:pointer;font-weight:600;list-style-position:outside;margin-left:16px}.service-detail h4{font-size:12px;margin:20px 0 7px;color:var(--ink)}.service-detail p{margin:0;color:var(--muted);word-break:keep-all}.service-cta{margin-top:auto;font-size:13px;padding-top:15px;display:flex;justify-content:space-between}.service-cta span{color:var(--accent)}.ai-method{border-top:1px solid var(--line);margin-top:45px;padding-top:32px;max-width:820px}.ai-method .eyebrow{margin-bottom:18px}.ai-method h3{font-size:25px;line-height:1.5;margin:0 0 16px}.ai-method>p:last-child{font-size:14px;line-height:1.9;color:var(--muted)}input:not([type=checkbox]){width:100%;background:transparent;border:1px solid #bbb7b0;border-radius:2px;padding:13px;margin:0 0 21px;font-size:13px;color:var(--ink)}input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row label{display:block}label>span{font-weight:400}.consent{display:flex;align-items:flex-start;gap:10px;line-height:1.8;font-size:12px}.consent input{margin-top:5px;accent-color:var(--ink)}.privacy{font-size:12px;color:var(--muted);line-height:1.9;margin:4px 0 24px}.privacy summary{cursor:pointer}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.55;cursor:wait;transform:none}#form-status:not(:empty){border-left:2px solid var(--accent);padding:12px 16px;font-size:14px;color:var(--ink);overflow-wrap:anywhere}#form-status[data-error=true]{border-color:#a4382d}details summary{min-height:28px}.admin-wrap{max-width:1000px;margin:60px auto;padding:0 24px}.inquiry-card{border-top:1px solid var(--line);padding:24px 0}.inquiry-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.admin-tools{display:flex;gap:15px;flex-wrap:wrap}.admin-tools button{padding:10px 15px;border:1px solid var(--line);background:transparent;cursor:pointer}.admin-meta{color:var(--muted);font-size:13px}.admin-wrap h1{font-size:34px}.admin-wrap h2{font-size:21px}.admin-wrap a{text-decoration:underline}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service,.service:nth-child(3n),.service:last-child{padding:24px}.service:nth-child(odd){border-left:0;padding-left:0}.service:nth-child(even){border-left:1px solid var(--line);padding-right:0}}
@media(max-width:680px){.service-grid{grid-template-columns:1fr;row-gap:0}.service,.service:nth-child(n){padding:25px 0;border-left:0}.form-row{grid-template-columns:1fr;gap:0}.ai-method h3{font-size:22px}}

/* Each service keeps its natural height when details are expanded. */
.service-grid{align-items:start}.service{min-height:340px}.service h3{word-break:keep-all}.service-cta{margin-top:20px}.service-grid .service:last-child{padding-right:0}@media(max-width:1050px){.service{min-height:320px}}@media(max-width:680px){.service{min-height:0}}

.ai-hero-title{font-size:clamp(30px,3.1vw,44px);line-height:1.5;letter-spacing:-.065em;word-break:keep-all}.hero-detail{font-size:14px;line-height:1.9;color:var(--muted);max-width:540px;margin:0 0 30px;word-break:keep-all}.hero-copy .lead{margin-bottom:16px;word-break:keep-all}@media(max-width:680px){.ai-hero-title{font-size:30px}.hero-detail{font-size:13px}}

.logo{display:inline-flex;line-height:1}.brand-logo{display:block;width:220px;height:auto;max-width:100%}.footer .brand-logo{width:180px}@media(max-width:680px){.header .brand-logo{width:175px}.footer .brand-logo{width:160px}}

/* Consistent service baselines on each responsive row. */
.service-grid{align-items:stretch}.service-grid .service{display:grid;grid-template-rows:42px 38px 64px 82px minmax(48px,1fr) 44px 32px;min-height:0;padding-bottom:22px}.service-grid .card-top,.service-grid .english,.service-grid .service h3,.service-grid .service>p,.service-grid .service details{margin:0}.service-grid .service h3{align-self:start}.service-grid .service-cta{margin:0;padding-top:8px;align-self:end}.service-page-link{font-size:12px;color:var(--muted);align-self:end}.service-document{padding-top:65px;padding-bottom:85px}.service-document nav{font-size:13px;color:var(--muted);margin-bottom:40px}.service-document h1{font-size:clamp(30px,4vw,48px);max-width:920px;word-break:keep-all}.document-detail{max-width:820px}.document-detail h2{font-size:23px;margin:40px 0 15px}.document-detail p,.document-detail li{font-size:15px;line-height:1.95;color:var(--muted);word-break:keep-all}.document-detail a:not(.button){text-decoration:underline}.document-detail .button{margin-top:20px}@media(max-width:1050px){.service-grid .service{grid-template-rows:42px 44px 66px 88px minmax(48px,1fr) 44px 32px}}@media(max-width:680px){.service-grid .service{display:flex;gap:16px;padding:25px 0}.service-grid .card-top{margin:0}.service-grid .service details{margin:0}.service-grid .service-cta{align-self:stretch}.service-page-link{align-self:start}.service-document{padding-top:40px}}
