:root{--bg:#f8f6f0;--paper:#fefdfa;--text:#302c28;--muted:#786f66;--line:#e2dcd1;--accent:#74614a;--accent-dark:#55432f;--soft:#eeebe3;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--bg);font-family:'Apple SD Gothic Neo','Malgun Gothic',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.75;word-break:keep-all}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.38;letter-spacing:-.045em;font-weight:550}h1{font-size:clamp(40px,5.3vw,76px)}h2{font-size:clamp(28px,3.4vw,45px)}h3{font-size:23px}.container{max-width:var(--max);margin:0 auto;padding:0 28px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--accent);text-transform:uppercase;margin:0 0 22px}.with-line{display:flex;align-items:center;gap:16px}.with-line:before{content:'';width:33px;height:1px;background:var(--accent)}.skip-link{position:absolute;top:-100px;left:16px;z-index:200;padding:8px 16px;background:var(--text);color:white}.skip-link:focus{top:8px}.site-header{background:rgba(248,246,240,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(100,80,60,.12);backdrop-filter:blur(12px)}.header-inner{height:83px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;flex-direction:column;line-height:1.25;flex-shrink:0}.brand strong,.footer-brand{font-family:Georgia,'Times New Roman',serif;font-size:24px;letter-spacing:.12em;font-weight:400}.brand span{font-size:11px;color:var(--muted);letter-spacing:.10em;margin-top:4px}.desktop-nav{display:flex;gap:31px;align-items:center}.desktop-nav a{font-size:13px;color:#5e564d;white-space:nowrap}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:#31281f;font-weight:700}.mobile-menu{display:none}.hero{overflow:hidden;padding:68px 0 78px}.hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center}.hero-copy{padding:28px 0}.hero h1{font-family:'Iowan Old Style','Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:500;margin:0 0 35px;letter-spacing:-.055em;line-height:1.32}.hero h1 em{font-style:normal;color:#947a57}.hero-lead{max-width:500px;font-size:16px;color:#655d54;line-height:1.95;margin:0 0 33px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:12px 21px;font-size:13px;font-weight:600;min-height:47px;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-primary{background:#5e4c3b;color:#fff}.button-primary:hover{background:#433326}.button-outline{border-color:#9f968a;color:#53483d}.button-outline:hover{background:#eee9e0}.button-light{background:#fbfaf7;color:#4b3e32;white-space:nowrap}.small-note{font-size:11px;letter-spacing:.01em;color:#8a8072;margin:26px 0 0}.hero-art{position:relative;min-height:510px;background:#eae6db;padding:25px}.hero-art:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#a99f90 0.5px,transparent 0.5px);background-size:8px 8px;opacity:.10}.hero-art-inner{position:relative;border:1px solid #c9c1b2;height:460px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:35px 15px;text-align:center}.hero-art-mark{font-family:Georgia,serif;letter-spacing:.27em;font-size:11px;color:#8e8170}.hero-art-inner p{font-family:Georgia,serif;font-size:25px;letter-spacing:.03em;margin:0;color:#685a4b;line-height:1.35}.hero-art-inner small{font-family:Arial,sans-serif;display:block;font-size:9px;letter-spacing:.13em;margin-top:8px;text-transform:uppercase}.paper-fold{position:relative;width:210px;height:205px;border-radius:50%;border:1px solid #b9aa97;background:radial-gradient(circle at 37% 30%,#faf9f3,#d8cfbf 73%);box-shadow:0 9px 30px rgba(77,60,40,.07)}.paper-fold span{position:absolute;display:block;background:#8d7960;opacity:.45}.paper-fold span:nth-child(1){height:1px;width:135px;top:101px;left:38px;transform:rotate(44deg)}.paper-fold span:nth-child(2){height:1px;width:135px;top:101px;left:38px;transform:rotate(-44deg)}.paper-fold span:nth-child(3){width:1px;height:140px;left:104px;top:32px}.art-caption{position:absolute;right:22px;bottom:-25px;font-size:10px;color:#8f8476}.section{padding:100px 0}.intro{background:var(--paper);border-top:1px solid #eee9e1;border-bottom:1px solid #eee9e1}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.section-grid h2{font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:500}.section-text{margin:54px 0 0;color:var(--muted);line-height:2.05;font-size:16px}.section-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:37px}.section-header .eyebrow{margin-bottom:10px}.section-header h2{margin:0}.text-link{font-size:13px;font-weight:700;color:#6b5741;border-bottom:1px solid #a49480;padding-bottom:5px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:var(--paper);border:1px solid var(--line);padding:30px 27px 27px;min-height:285px;display:flex;flex-direction:column;align-items:start;transition:transform .2s,border-color .2s}.service-card:hover,.case-card:hover{transform:translateY(-4px);border-color:#a89a88}.service-no{font-family:Georgia,serif;color:#a79b89;font-size:25px;margin-bottom:40px}.service-card h3{margin-bottom:11px}.service-card p{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:24px}.card-link{font-size:12px;font-weight:700;color:#6c5b46;margin-top:auto}.cases-section{background:#f1efe8}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.case-card{background:var(--paper);border:1px solid var(--line);transition:transform .2s,border-color .2s;overflow:hidden}.case-card>a{display:block;height:100%}.case-photo,.photo-placeholder{aspect-ratio:1.35/1;width:100%}.photo-placeholder{background:linear-gradient(130deg,#e0d8c9,#eee9df 60%,#dbd2bf);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;text-align:center;color:#786e60;position:relative;overflow:hidden}.photo-placeholder:after{content:'';position:absolute;border:1px solid rgba(115,95,70,.13);inset:15px}.photo-placeholder .line-art{font-family:Georgia,serif;font-size:56px;font-weight:400;line-height:1;opacity:.4;margin-bottom:12px}.photo-placeholder span:not(.line-art){font-size:13px}.photo-placeholder small{font-size:10px;opacity:.62}.case-card-copy{padding:25px 23px 29px;min-height:246px;display:flex;flex-direction:column;align-items:start}.case-card-copy .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:11px}.case-card-copy h3{font-size:19px;margin-bottom:13px}.case-card-copy p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:22px}.contact-banner{background:#63513e;color:#f9f6f0}.banner-inner{display:flex;justify-content:space-between;gap:28px;align-items:center}.banner-inner .eyebrow{color:#d0bfa9}.banner-inner h2{font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:400}.banner-inner p:not(.eyebrow){font-size:14px;color:#e2d8cd}.site-footer{padding:45px 0 18px;background:#292824;color:#e7e1d7}.footer-inner{display:flex;align-items:start;justify-content:space-between;gap:35px}.footer-brand{font-size:22px}.footer-inner p{font-size:12px;color:#b9afa1;margin:8px 0}.footer-inner a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.footnote{font-size:10px;color:#938a7e;border-top:1px solid #47453e;padding-top:18px;margin-top:32px}.page-hero{padding-top:90px;padding-bottom:75px;border-bottom:1px solid var(--line)}.page-hero h1{font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:450;font-size:clamp(38px,5vw,65px);margin-bottom:20px}.page-hero p:last-child{color:var(--muted);font-size:16px;max-width:720px;margin:0}.program-list{padding-top:38px;padding-bottom:70px}.program-panel{display:grid;grid-template-columns:30% 1fr;border-bottom:1px solid var(--line);padding:52px 15px}.program-index{font-size:12px;letter-spacing:.16em;color:#a58e71}.program-main h2{font-size:30px;margin-bottom:25px;font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:500}.program-main>p{max-width:640px;color:var(--muted)}.info-list{margin:30px 0;max-width:700px;border-top:1px solid var(--line)}.info-list div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line);padding:12px 0;gap:20px}.info-list dt{font-size:12px;color:#9a8874;font-weight:700}.info-list dd{font-size:14px;margin:0}.faq-box{background:#ebe5da;padding-top:38px;padding-bottom:44px;margin-bottom:95px}.faq-box h2{font-size:25px}.faq-box p{font-size:14px;color:var(--muted);max-width:760px}.archive-section{padding-top:45px;padding-bottom:105px}.archive-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.archive-head h2{font-size:23px;margin:0}.archive-head h2 span{font-family:Georgia,serif;font-size:18px;color:#947e62;font-weight:400}.archive-head p{font-size:12px;color:var(--muted);margin:0}.article-header{padding-top:65px;padding-bottom:50px}.back-link{display:inline-block;color:#806e59;font-size:12px;margin-bottom:43px}.article-header h1{font-size:clamp(32px,4vw,53px);font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:500;max-width:890px;margin-bottom:20px}.article-header .eyebrow{margin-bottom:10px}.article-summary{font-size:16px;color:var(--muted);max-width:730px}.article-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:55px;padding-bottom:110px}.article-photo .photo-placeholder,.article-photo .case-photo{aspect-ratio:1.45/1}.prose{padding:34px 0 40px}.prose h2{font-size:24px;margin:27px 0 18px}.prose h3{font-size:19px;margin:27px 0 13px}.prose p,.prose li{font-size:15px;color:#635b52;line-height:2}.prose ul{padding-left:20px}.article-bottom{padding:24px 0;border-top:1px solid var(--line)}.facts-panel{background:#eeece6;padding:27px;align-self:start;position:sticky;top:105px}.facts-panel h2{font-size:23px}.facts-panel dl{margin:25px 0 28px}.facts-panel dl div{display:grid;grid-template-columns:85px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid #ddd7cd}.facts-panel dt{font-size:12px;color:#978977}.facts-panel dd{margin:0;font-size:13px;overflow-wrap:anywhere}.facts-panel .button{width:100%;gap:4px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:90px;padding-bottom:115px;align-items:center}.about-visual{background:#e6dfd2;height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:35px;position:relative}.about-visual:before{content:'';position:absolute;inset:20px;border:1px solid #c5b9a7}.paper-circle{height:190px;width:190px;border:1px solid #b7aa97;border-radius:50%;background:radial-gradient(circle at 40% 30%,#f7f4eb,#cec3b1 80%);box-shadow:0 12px 25px #9b8d791f}.about-visual span{font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;text-align:center;font-size:23px;line-height:1.8;color:#725f4c}.about-copy h2{font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:450}.about-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:2.1;margin:25px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:85px;padding-bottom:130px}.contact-grid h2{font-family:'Noto Serif KR','Nanum Myeongjo',Georgia,serif;font-weight:500;margin-bottom:20px}.contact-grid p{color:var(--muted);font-size:15px}.contact-checklist{list-style:none;padding:15px 0;margin:15px 0}.contact-checklist li{padding:12px 0 12px 20px;border-bottom:1px solid var(--line);font-size:14px;position:relative}.contact-checklist li:before{content:'·';position:absolute;left:5px}.contact-box{background:#eae5dc;padding:37px;align-self:start}.contact-box h3{margin:0 0 23px}.contact-method{display:block;border-top:1px solid #cfc4b5;padding:15px 0}.contact-method small{display:block;font-size:11px;color:#9e8e7b}.contact-method strong{font-size:16px}.notice{background:#f9f7f2;border:1px solid #ddd3c5;padding:20px}.notice strong{font-size:14px}.notice p{font-size:13px;line-height:1.8;margin:9px 0 0}
@media(max-width:920px){.desktop-nav{gap:15px}.desktop-nav a{font-size:12px}.hero-grid{gap:5%}.hero-art{min-height:420px}.hero-art-inner{height:370px}.hero h1{font-size:48px}.section{padding:75px 0}.service-card{padding:24px 20px;min-height:300px}.case-card-copy{padding:22px 18px}}
@media(max-width:680px){.container{padding-left:20px;padding-right:20px}.header-inner{height:72px}.brand strong{font-size:21px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{font-size:13px;list-style:none;cursor:pointer;padding:10px 0}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{padding-left:7px}.mobile-menu nav{position:absolute;right:0;top:36px;width:230px;background:#faf9f5;border:1px solid var(--line);box-shadow:0 7px 25px #211f1a16;padding:13px 18px;display:flex;flex-direction:column;gap:6px}.mobile-menu nav a{padding:9px 4px;font-size:14px}.hero{padding:34px 0 65px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{padding:24px 0 0}.hero h1{font-size:clamp(42px,10vw,61px);margin-bottom:22px}.hero-lead{font-size:14px}.hero-art{min-height:360px;padding:18px;max-width:510px}.hero-art-inner{height:325px;padding:21px}.paper-fold{width:155px;height:155px}.paper-fold span:nth-child(1),.paper-fold span:nth-child(2){width:104px;top:77px;left:26px}.paper-fold span:nth-child(3){height:105px;left:77px;top:24px}.hero-art-inner p{font-size:21px}.section-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.section-grid h2{margin-bottom:0}.section-text{margin:0}.section-header{align-items:start;flex-direction:column;gap:17px}.section-header h2{font-size:30px}.service-grid,.cards-grid{grid-template-columns:1fr;gap:15px}.service-card{min-height:215px}.service-no{margin-bottom:20px}.case-card-copy{min-height:0}.case-card-copy h3{font-size:20px}.case-photo,.case-card .photo-placeholder{aspect-ratio:1.7/1}.banner-inner{align-items:start;flex-direction:column}.banner-inner h2{font-size:31px}.footer-inner{flex-direction:column}.page-hero{padding-top:65px;padding-bottom:55px}.page-hero h1{font-size:39px}.page-hero p:last-child{font-size:14px}.program-panel{grid-template-columns:1fr;padding:39px 0;gap:14px}.program-main h2{font-size:26px}.program-main>p{font-size:14px}.info-list div{grid-template-columns:93px 1fr}.faq-box{margin-bottom:60px}.archive-head{align-items:start;flex-direction:column;gap:7px}.archive-section{padding-bottom:70px}.article-header{padding-top:30px;padding-bottom:27px}.back-link{margin-bottom:27px}.article-header h1{font-size:34px}.article-summary{font-size:14px}.article-grid{display:flex;flex-direction:column;gap:22px;padding-bottom:75px}.facts-panel{position:static}.prose{padding:15px 0 20px}.about-grid{padding-top:50px;padding-bottom:85px}.about-visual{height:360px}.contact-grid{padding-top:48px;padding-bottom:90px}.contact-box{padding:24px}}

/* IN ITSELF v4 — original resolution hero & balanced page grid */
/* Wider site frame reduces excessive empty margins on large desktops. */
:root { --max: 1480px; }
.container { width:100%; margin-inline:auto; padding-inline:clamp(24px,3.2vw,56px); }

/* Preserve left-side breathing room and show the image near its intrinsic size. */
.photo-hero {
  position:relative; isolation:isolate; display:flex; align-items:center;
  min-height:670px; overflow:hidden; background:#f5f2ec;
}
.photo-hero-image {
  position:absolute; z-index:0; top:0; bottom:0; right:0; left:auto;
  width:min(66vw,1123px); height:100%;
  object-fit:cover; object-position:50% 52%;
}
.photo-hero::before {
  content:""; position:absolute; z-index:1; inset:0; pointer-events:none;
  /* Beige left is continuous with the original photo's light background. */
  background:linear-gradient(90deg,
    #f5f2ec 0%, rgba(245,242,236,.98) 20%,
    rgba(245,242,236,.84) 37%, rgba(245,242,236,.28) 57%,
    rgba(245,242,236,0) 75%);
}
.photo-hero-content {
  position:relative; z-index:2; width:100%;
  padding-top:75px; padding-bottom:75px;
}
.photo-hero-copy { width:min(100%,620px); }
.photo-hero h1 {
  font-family:'Iowan Old Style','Noto Serif KR','Nanum Myeongjo',Georgia,serif;
  font-size:clamp(44px,4.2vw,67px); font-weight:500; line-height:1.35;
  letter-spacing:-.055em; margin:0 0 31px; color:#332b25;
}
.photo-hero h1 em { font-style:normal; color:#80664b; }
.photo-hero-lead { max-width:565px; font-size:16px; color:#50463e; line-height:2; margin:0 0 30px; text-wrap:pretty; }
.photo-hero .eyebrow { font-size:12px; color:#765e45; margin-bottom:32px; }
.photo-hero .small-note { color:#756550; margin-top:27px; }
.photo-hero .button-outline { background:rgba(248,246,240,.75); border-color:#8b806f; }
.photo-hero .button-outline:hover { background:#f8f6f0; }

@media (max-width:1050px) {
  .photo-hero { min-height:620px; }
  .photo-hero-image { width:72vw; }
  .photo-hero::before { background:linear-gradient(90deg,#f5f2ec 0%,rgba(245,242,236,.95) 30%,rgba(245,242,236,.55) 67%,rgba(245,242,236,.08) 100%); }
  .photo-hero-copy { max-width:560px; }
  .photo-hero h1 { font-size:clamp(40px,5.2vw,56px); }
}
/* v5: Keep the hero image behind copy on phone screens, not as a bottom panel. */
@media (max-width:680px) {
  .container { padding-inline:20px; }
  .photo-hero {
    min-height:710px;
    align-items:flex-start;
    background:#f5f2ec;
  }
  .photo-hero-image {
    inset:0; width:100%; height:100%;
    object-fit:cover;
    object-position:72% 50%;
  }
  .photo-hero::before {
    background:
      linear-gradient(180deg,
        rgba(245,242,236,.96) 0%,
        rgba(245,242,236,.91) 30%,
        rgba(245,242,236,.66) 53%,
        rgba(245,242,236,.18) 78%,
        rgba(245,242,236,0) 100%),
      linear-gradient(90deg,
        rgba(245,242,236,.65) 0%,
        rgba(245,242,236,.34) 55%,
        rgba(245,242,236,.12) 100%);
  }
  .photo-hero-content { padding-top:54px; padding-bottom:52px; }
  .photo-hero-copy { width:100%; max-width:520px; }
  .photo-hero .eyebrow { font-size:10px; letter-spacing:.13em; margin-bottom:22px; }
  .photo-hero h1 { font-size:clamp(34px,9vw,49px); margin-bottom:21px; line-height:1.38; }
  .photo-hero-lead { font-size:14px; line-height:1.85; margin-bottom:23px; max-width:365px; }
  .photo-hero .desktop-break { display:none; }
  .photo-hero .small-note { font-size:10px; margin-top:18px; }
  .photo-hero .hero-buttons { gap:9px; }
  .photo-hero .button { gap:7px; padding:10px 12px; font-size:12px; min-height:43px; }
}
@media (max-width:375px) {
  .photo-hero { min-height:690px; }
  .photo-hero-image { object-position:73% 50%; }
  .photo-hero h1 { font-size:33px; }
  .photo-hero .button { font-size:11px; }
}
