/* Estate v1.0.0: extracted from v003; source order is intentional. */

* { box-sizing:border-box }
html { scroll-behavior:smooth;scroll-padding-top:30px }
body { margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased }
button, input, select, textarea { font:inherit }
button, a { -webkit-tap-highlight-color:transparent }
button { color:inherit;cursor:pointer }
button { background:none;border:0 }
a { color:inherit;text-decoration:none }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid currentColor;outline-offset:6px }
input:focus, select:focus, textarea:focus { outline:1px solid var(--accent);outline-offset:3px }
img { display:block;width:100%;object-fit:cover }
h1, h2, h3, p { margin:0 }
h1, h2 { font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.045em }
h1 em, h2 em { font-weight:400 }
h2 { font-size:clamp(42px,4.7vw,76px) }
p { line-height:1.8 }
button:disabled { cursor:default }
[hidden] { display:none!important }
.skip { position:fixed;left:20px;top:-100px;background:#fff;z-index:100;padding:16px }
.skip:focus { top:10px }
.header { height:116px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:10 }
.brand { display:flex;align-items:center;gap:15px }
.brand-mark { font-family:var(--serif);font-size:55px;letter-spacing:-5px;line-height:1 }
.brand-sub { font-size:8px;letter-spacing:1.8px;line-height:1.8;border-left:1px solid var(--line);padding-left:16px }
.desktop-nav { display:flex;gap:36px;font-size:11px;letter-spacing:.3px }
.desktop-nav a { position:relative;padding:8px 0 }
.desktop-nav a:after { content:'';position:absolute;bottom:2px;left:0;width:0;height:1px;background:currentColor;transition:width .25s }
.desktop-nav a:hover:after { width:100% }
.outline { border:1px solid var(--ink);padding:15px 20px;font-size:11px;display:inline-flex;align-items:center;gap:32px;transition:background .2s,color .2s }
.outline:hover { background:var(--ink);color:var(--paper) }
.outline span { font-size:16px }
.menu-toggle { display:none }
.eyebrow { font-size:9px;letter-spacing:2.2px;font-weight:500;line-height:1.8;text-transform:uppercase }
.section { padding:var(--estate-section-space) var(--estate-gutter) }
.section-heading { display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:48px }
.section-heading .eyebrow { margin-bottom:20px }
.section-heading>p { max-width:300px;font-size:12px;color:var(--muted) }
.text-link { display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid currentColor;padding:10px 0;font-size:11px }
.text-link span { font-size:20px }
.solid { background:var(--ink);color:var(--paper);padding:20px 28px;display:inline-flex;gap:50px;align-items:center;font-size:11px;transition:transform .2s,background .2s }
.solid:hover { transform:translateY(-2px);background:var(--accent) }
.solid span { font-size:18px }
.image-note { position:absolute;bottom:20px;right:24px;font-size:8px;letter-spacing:1.5px;color:#fff;opacity:.75 }
.project-card { width:100%;padding:0;text-align:left;display:block }
.project-photo { display:block;position:relative;overflow:hidden }
.project-photo img { height:480px;transition:transform var(--estate-image-duration) }
.project-card:hover .project-photo img { transform:scale(var(--estate-image-hover-scale)) }
.photo-arrow { position:absolute;bottom:20px;right:20px;width:42px;height:42px;border:1px solid #ffffffa8;display:grid;place-items:center;color:#fff;font-size:21px;background:#20211b20 }
.project-caption { display:flex;align-items:center;justify-content:space-between;margin-top:23px;gap:20px }
.project-caption small { font-size:8px;letter-spacing:1.8px;display:block;margin-bottom:10px;color:var(--muted) }
.project-caption strong { font:400 31px/1.15 var(--serif);letter-spacing:-.6px;display:block }
.project-caption>span:last-child { font-size:23px }
.expertise { background:#ece9e1 }
.service-list { border-top:1px solid var(--line) }
details { border-bottom:1px solid var(--line) }
summary { list-style:none;display:flex;align-items:center;padding:25px 0;gap:30px;cursor:pointer }
summary::-webkit-details-marker { display:none }
.service-num { font-size:10px;align-self:center;color:var(--muted);width:45px }
summary h3 { font:400 32px/1.2 var(--serif);letter-spacing:-.5px }
.plus { margin-left:auto;font-size:27px;font-weight:400;transition:transform .2s }
details[open] .plus { transform:rotate(45deg) }
.service-body { padding:0 0 30px 75px;display:flex;gap:40px;justify-content:space-between;align-items:start }
.service-body p { max-width:520px;font-size:12px;color:var(--muted) }
.service-body .text-link { flex-shrink:0;margin-right:10px }
.approach .section-heading { align-items:start }
.steps { display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:65px }
.steps article { border-top:1px solid var(--line);padding-top:24px }
.step-num { font-family:var(--serif);font-size:37px;color:var(--muted) }
.steps h3 { font-family:var(--serif);font-size:28px;font-weight:400;margin:24px 0 14px }
.steps p { font-size:12px;color:var(--muted);max-width:290px }
.cta { text-align:center;background:#e6e3d8;padding-top:95px;padding-bottom:100px }
.cta h2 { margin:25px 0 35px }
.cta-foot { font-size:10px;margin-top:28px;color:var(--muted) }
footer { padding:62px 6% 125px }
.footer-main { display:flex;justify-content:space-between;align-items:start;gap:35px }
.footer-brand { font:400 36px var(--serif);letter-spacing:-1px }
.footer-brand span { display:block;font:8px var(--sans);letter-spacing:2px;margin-top:10px }
.footer-main>p { font:25px/1.2 var(--serif) }
.footer-main>div p { font-size:10px;line-height:2 }
.footer-bottom { display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:45px;padding-top:25px;font-size:8px;color:var(--muted) }
.footer-bottom button { font-size:9px }
.fine { font-size:9px;color:var(--muted);line-height:1.8 }
.light .brand-sub { border-color:#ffffff4a }
.light .outline { border-color:#ffffff65;color:#fff }
.light .outline:hover { background:#fff;color:#222 }
.light { color:#fff }
.white-link { display:inline-flex;align-items:center;gap:65px;font-size:10px;letter-spacing:.5px;border-bottom:1px solid #9d8a66;padding:13px 0;color:#d3bc91 }
.white-link span { font-size:23px }

.estate .header { position:absolute;top:var(--estate-top-offset);left:0;right:0;border-bottom:1px solid #ffffff40 }
.estate-hero { position:relative;min-height:760px;height:calc(100svh - var(--estate-top-offset));max-height:1050px;color:#fff }
.estate-image, .estate-shade { position:absolute;inset:0;height:100% }
.estate-image { object-position:center 48% }
.estate-shade { background:linear-gradient(0deg,#122725d6 0%,#17322c10 68%,#14272366 100%) }
.estate-copy { position:absolute;left:7.5%;right:7.5%;bottom:165px }
.estate-copy h1 { font-size:clamp(65px,7.2vw,115px);line-height:1;margin:24px 0 }
.estate-copy>p:not(.eyebrow) { font-size:12px;margin:22px 0 }
.white-link { color:#fff;border-color:#ffffffa0 }
.estate-meta { position:absolute;bottom:47px;left:7.5%;right:7.5%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff65;padding-top:25px;font-size:8px;letter-spacing:1.7px;gap:25px }
.estate-meta i { font-style:normal;margin-left:35px;opacity:.5 }
.estate-meta a { letter-spacing:0;font-size:10px }
.estate-hero .image-note { bottom:17px;right:7.5%;font-size:7px }
.estate-intro { display:grid;grid-template-columns:20% 40% 40%;align-items:start;gap:0 }
.estate-intro h2 { font-size:63px }
.estate-intro>div { padding:0 0 0 35px }
.estate-intro>div p { font-size:12px;color:var(--muted);margin-bottom:20px }
.estate-projects { display:grid;grid-template-columns:repeat(3,1fr);gap:25px }
.estate-projects img { height:340px }
.estate-projects .project-caption strong { font-size:27px }
.estate-projects .project-caption>span:last-child { display:none }
.estate .spaces { padding-top:40px }
.filter-tabs { display:flex;gap:23px;font-size:10px;padding-bottom:8px }
.filter-tabs button { padding:8px 0;border-bottom:1px solid transparent;opacity:.6 }
.filter-tabs button.active { border-color:var(--ink);opacity:1 }
.estate .expertise { background:var(--estate-color-surface) }
.estate .cta { background:var(--estate-color-brown);color:var(--estate-color-on-brown) }
.estate .cta .solid { color:#263c37;background:#f1eee4 }
.estate .cta-foot { color:#c0cbc4 }
.grid-icon { font-size:22px;line-height:1 }
dialog { padding:0;border:0;background:var(--paper);color:var(--ink);max-height:90svh;width:min(1080px,92vw);overflow:auto;box-shadow:0 20px 100px #0005 }
dialog::backdrop { background:#111811b8;backdrop-filter:blur(6px) }
.close { font:300 30px/1 var(--sans);position:absolute;right:20px;top:18px;width:36px;height:36px;z-index:5;background:var(--paper);color:var(--ink) }
.dialog-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:25px }
.inquiry[open] { display:grid;grid-template-columns:40% 60%;--paper:#f6f3ed;--ink:#34342e;--muted:#727269;--accent:#676f57 }
.inquiry-art { position:relative;min-height:670px;color:#fff }
.inquiry-art img { position:absolute;inset:0;height:100% }
.inquiry-art:after { content:'';position:absolute;inset:0;background:linear-gradient(0deg,#252b23e6,#252b2310) }
.inquiry-art>div { position:absolute;bottom:45px;left:32px;right:24px;z-index:1 }
.inquiry-art h2 { font-size:40px;margin:20px 0 }
.inquiry-art p:last-child { font-size:10px }
.inquiry-body { padding:45px 40px }
.inquiry-body>h2 { font-size:47px;margin:15px 0 20px }
.preview-note { font-size:10px;background:#e9e8dc;padding:12px 14px;line-height:1.6;color:#65685c;margin-bottom:24px }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px }
label { display:block;font-size:10px;margin-bottom:20px }
input, select, textarea { display:block;width:100%;border:0;border-bottom:1px solid #bfc3b7;background:transparent;border-radius:0;color:#34382f;font-size:11px;padding:12px 0;resize:vertical;min-width:0 }
textarea { line-height:1.7 }
select { cursor:pointer }
.inquiry .solid { width:100%;justify-content:space-between;border-radius:0;background:#384333;color:#fff }
.inquiry #form-result { font-size:11px;line-height:1.6;margin-top:15px }
.project-dialog { width:min(1000px,94vw);--paper:#f6f3ed;--ink:#34342e;--muted:#727269 }
.project-dialog>img { height:50svh;max-height:520px }
.project-info { padding:30px 40px 40px }
.project-info h2 { font-size:44px;margin:13px 0 }
.project-info>p:not(.eyebrow):not(.fine) { font-size:12px;max-width:650px }
.project-info .fine { margin:15px 0 }
.mobile-nav { position:absolute;top:100%;left:0;right:0;padding:20px 6%;background:var(--paper);color:var(--ink);box-shadow:0 15px 25px #0001;border-top:1px solid var(--line) }
.mobile-nav a, .mobile-nav button { display:block;padding:15px 0;font-size:14px }
.mobile-nav button { width:100%;text-align:left }
@media(min-width:1600px) {
.section { padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2)) }
}
@media(max-width:1100px) {
.header { gap:20px;padding:0 4% }
.desktop-nav { gap:22px }
.brand-sub { display:none }
.header>.outline { padding:13px 17px;gap:20px }
.section { padding:80px 6% }
.section-heading { gap:30px }
.project-photo img { height:400px }
.estate-intro { grid-template-columns:1fr 1.2fr }
.estate-intro>.eyebrow { grid-column:1/-1;margin-bottom:25px }
.estate-meta { font-size:7px }
.inquiry-body { padding:40px 30px }
.inquiry-art h2 { font-size:35px }
}
@media(max-width:760px) {
.header { height:85px;padding:0 6% }
.brand-mark { font-size:47px }
.desktop-nav, .header>.outline { display:none }
.menu-toggle { display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:1px }
.menu-toggle span { font-size:22px }
.section { padding:65px 7% }
h2 { font-size:44px }
.section-heading { display:block;margin-bottom:32px }
.section-heading>p { margin-top:22px;font-size:11px;max-width:100% }
.eyebrow { font-size:8px;letter-spacing:1.8px }
.section-heading .eyebrow { margin-bottom:15px }
.project-photo img { height:390px }
.project-caption strong { font-size:28px }
.project-caption { margin-top:18px }
.service-num { width:16px;font-size:9px }
summary { gap:15px;padding:24px 0 }
summary h3 { font-size:25px }
.plus { font-size:23px }
.service-body { padding-left:31px;display:block }
.service-body p { font-size:11px }
.service-body .text-link { margin-top:15px;font-size:10px }
.steps { grid-template-columns:1fr;gap:32px;margin-top:var(--estate-top-offset) }
.steps article { display:grid;grid-template-columns:40px 1fr;column-gap:20px;padding-top:24px }
.step-num { grid-row:1/3;font-size:30px }
.steps h3 { font-size:26px;margin:0 0 13px }
.steps p { font-size:11px;max-width:none;grid-column:2 }
.cta h2 { font-size:46px }
.cta>.eyebrow { font-size:7px }
.cta-foot { font-size:8px }
.solid { font-size:10px;padding:18px 23px;gap:35px }
.footer-main { display:grid;grid-template-columns:1fr 1fr;gap:25px }
.footer-main>div { grid-column:1/-1 }
.footer-main>p { font-size:23px }
.footer-brand { font-size:30px }
.footer-brand span { font-size:7px }
.footer-bottom { display:block;margin-top:30px;font-size:7px;line-height:1.7 }
.footer-bottom>* { display:block;margin-bottom:14px }
.footer-bottom button { padding:0 }
footer { padding:45px 7% 115px }
.grid-icon { font-size:21px }
.estate .header { top:var(--estate-top-offset) }
.estate-hero { height:calc(100svh - var(--estate-top-offset));min-height:740px;max-height:950px }
.estate-image { object-position:58% center }
.estate-shade { background:linear-gradient(0deg,#142d2adb,#17322c2b 80%,#14272380) }
.estate-copy { bottom:200px;left:8%;right:8% }
.estate-copy h1 { font-size:61px;margin:22px 0;line-height:.98 }
.estate-copy>.eyebrow { font-size:7px }
.estate-copy>p:not(.eyebrow) { font-size:11px;max-width:240px;line-height:1.8 }
.estate-meta { left:8%;right:8%;bottom:50px;display:grid;grid-template-columns:1fr;font-size:7px;gap:13px;padding-top:18px }
.estate-meta span:nth-child(2) { font-size:6px;letter-spacing:1.2px }
.estate-meta a { font-size:9px }
.estate-hero .image-note { bottom:20px;font-size:6px }
.estate-intro { display:block }
.estate-intro h2 { font-size:58px;margin:20px 0 }
.estate-intro>div { padding:0 }
.estate .spaces { padding-top:15px }
.estate-projects { display:block }
.estate-projects>div { margin-bottom:40px }
.estate-projects img { height:350px }
.estate-projects .project-caption strong { font-size:28px }
.filter-tabs { margin-top:25px;gap:28px;font-size:10px }
.dialog-head { margin-bottom:22px;padding-right:25px }
.close { right:12px;top:12px;font-size:27px }
.inquiry[open] { display:block;width:94vw;max-height:92svh }
.inquiry-art { display:none }
.inquiry-body { padding:35px 25px }
.inquiry-body>h2 { font-size:40px }
.form-grid { gap:15px }
.preview-note { font-size:9px }
label { font-size:9px }
.inquiry .close { top:13px;right:10px }
.project-dialog>img { height:40svh }
.project-info { padding:25px }
.project-info h2 { font-size:37px }
.project-info>p:not(.eyebrow):not(.fine) { font-size:11px }
}
@media(max-width:380px) {
.estate-copy h1 { font-size:54px }
.form-grid { grid-template-columns:1fr }
}
@media(prefers-reduced-motion:reduce) {
html { scroll-behavior:auto }
*, *:before, *:after { transition:none!important;animation:none!important }
}
.k-header-actions { display:flex;align-items:center;gap:30px }
.language-control { display:flex;align-items:center;gap:7px;font-size:9px;white-space:nowrap }
.language-control>span { opacity:.3 }
.language-control>button { display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:9px;padding:6px 0;opacity:.7;border-bottom:1px solid transparent }
.language-flag { font:18px/1 "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif }
.language-control>button:hover { opacity:1 }
.language-control>button.active { opacity:1;border-color:currentColor }
@media(max-width:1100px) {
.k-header-actions { gap:18px }
}
@media(max-width:760px) {
.k-header-actions { gap:22px }
.language-control { font-size:8px;gap:5px }
.language-control>button { font-size:8px }
}
@media(max-width:370px) {
.k-header-actions { gap:14px }
}
.hero-action-note { display:block;font-size:10px;line-height:1.7;margin-top:13px;max-width:340px;opacity:.85;letter-spacing:0 }
.cta-explanation { max-width:560px;margin:25px auto!important;line-height:1.8!important;font-family:var(--sans)!important;font-size:14px!important }
.form-privacy { font-size:11px;line-height:1.7;opacity:.75;margin:20px 0 }
.header .k-header-actions { display:flex;align-items:center;gap:18px }
body[data-lang=ko] .hero-action-note { word-break:keep-all }
@media(max-width:1100px) {
.header .k-header-actions>.outline { display:none }
}
@media(max-width:760px) {
.header .k-header-actions { gap:12px }
.header .k-header-actions>.outline { display:none }
.hero-action-note { max-width:285px;font-size:10px }
.project-planner button { font-size:11px;padding:18px 10px }
.cta-explanation { font-size:13px!important }
}
body[data-lang=ko] { font-family:"Noto Sans KR",sans-serif;word-break:keep-all }
body[data-lang=ko] h1, body[data-lang=ko] h2, body[data-lang=ko] h3 { font-family:"Noto Serif KR",serif;letter-spacing:-.04em;line-height:1.25 }
body[data-lang=ko]:not(.korean-concept) h1 { font-size:clamp(42px,5.4vw,78px) }
body[data-lang=ko]:not(.korean-concept) h2 { font-size:clamp(32px,4vw,60px) }
.hero-action-note { font-family:var(--sans) }
@media(max-width:760px) {
body[data-lang=ko]:not(.korean-concept) h1 { font-size:39px }
body[data-lang=ko]:not(.korean-concept) h2 { font-size:31px }
.header .brand-mark { font-size:37px }
.header .brand-sub { font-size:6px }
.header .language-control { font-size:9px }
}

/* Estate sectionHeading: the eyebrow owns a row; title and description share a start. */
.estate .section-heading.estate-section-heading {
 display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
 align-items:start;column-gap:clamp(30px,5vw,80px);row-gap:20px;margin-bottom:48px;
}
.estate .section-heading.estate-section-heading>.estate-heading-eyebrow {
 grid-column:1/-1;grid-row:1;margin:0;max-width:none;color:var(--muted);
}
.estate .section-heading.estate-section-heading>.estate-heading-title {
 grid-column:1;grid-row:2;margin:0;max-width:none;min-width:0;
}
.estate .section-heading.estate-section-heading>.estate-heading-body {
 grid-column:2;grid-row:2;align-self:start;margin:0;max-width:none;min-width:0;
}
.estate .section-heading.estate-section-heading>.estate-heading-actions {
 grid-column:2;grid-row:3;justify-self:start;min-width:0;
}
.estate-heading-actions .filter-tabs { flex-wrap:wrap; }
@media(max-width:760px) {
 .estate .section-heading.estate-section-heading { grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:32px; }
 .estate .section-heading.estate-section-heading>.estate-heading-body { grid-column:1;grid-row:3; }
 .estate .section-heading.estate-section-heading>.estate-heading-actions { grid-column:1;grid-row:4; }
}

/* Short semantic emphasis helps readers scan substantive body paragraphs. */
.estate main p strong { font-family:inherit;font-size:inherit;font-weight:700;line-height:inherit;color:inherit; }

/* Credential summaries fill both columns below a shared full-width heading. */
.estate .trust-section { background:var(--surface);padding-top:55px;padding-bottom:55px; }
.estate .trust-section .section-heading.estate-section-heading { margin-bottom:32px; }
.estate .trust-section .section-heading.estate-section-heading>.estate-heading-title { grid-column:1/-1;max-width:1000px;font-size:clamp(30px,3.2vw,48px); }
.estate .credential-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(30px,5vw,80px);row-gap:28px; }
.estate .credential-grid>p { margin:0;min-width:0; }
@media(max-width:760px) { .estate .credential-grid { grid-template-columns:minmax(0,1fr);gap:24px; } }

/* Local guidance: separate entries and keep source/date metadata readable. */
.estate .local-guidance .estate-section-heading { margin-bottom:32px; }
.estate .local-guidance-list { display:grid;gap:32px;max-width:76ch;font-size:var(--estate-font-size-core); }
.estate .local-guidance-item { display:grid;gap:16px;min-width:0;border-top:1px solid var(--line);padding-top:24px; }
.estate .local-guidance-item>h3 { margin:0;font:400 clamp(28px,2.8vw,34px)/1.3 var(--serif);letter-spacing:-.025em; }
.estate[data-lang=ko] .local-guidance-item>h3 { font-family:var(--estate-font-serif-ko); }
.estate .local-guidance-item>p { margin:0;font-size:var(--estate-font-size-core);line-height:1.8; }
.estate .local-guidance-source { display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 24px;min-width:0; }
.estate .local-guidance-source>.text-link { display:block;min-width:0;max-width:100%;min-height:44px;padding:8px 0;font-size:var(--estate-font-size-core);line-height:1.5;overflow-wrap:anywhere; }
.estate .local-guidance-source>time { font-size:var(--estate-font-size-core);line-height:1.5;color:var(--muted);white-space:nowrap; }
@media(max-width:760px) {
 .estate .local-guidance-list { gap:28px; }
 .estate .local-guidance-source { flex-direction:column;align-items:flex-start; }
}

/* Small project collections use generous rows, never a multi-card grid. */
.estate .project-row-list { display:grid;gap:48px; }
.estate .project-row { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"heading ." "photo body";column-gap:clamp(24px,4vw,56px);row-gap:24px;border-top:1px solid var(--line);padding-top:32px;min-width:0; }
.estate .project-row-media { display:contents; }
.estate .project-row-heading { grid-area:heading;display:flex;flex-direction:column;gap:12px;min-width:0; }
.estate .project-row-media>figure { grid-area:photo;align-self:start;min-width:0;margin:0; }
.estate .project-row-media>figure img { width:100%;height:auto;object-fit:contain; }
.estate .project-row figcaption { margin-top:12px;font-size:var(--estate-font-size-core);line-height:1.5;color:var(--muted); }
.estate .project-row-body { grid-area:body;align-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0; }
.estate .project-row-heading>h3 { margin:0;font:400 clamp(28px,2.8vw,40px)/1.25 var(--serif); }
.estate[data-lang=ko] .project-row-heading>h3 { font-family:var(--estate-font-serif-ko); }
.estate .project-row-body>p,.estate .project-row-heading>p { margin:0;font-size:var(--estate-font-size-core);line-height:1.8; }
.estate .project-row-location,.estate .project-row-type { color:var(--muted); }
.estate .project-row-scope { min-width:0; }
.estate .project-row-scope ul { margin:12px 0 0;padding-left:24px; }
.estate .project-row-scope li { font-size:var(--estate-font-size-core);line-height:1.8;margin-top:8px; }
.estate .project-row-body>.text-link { min-height:44px;font-size:var(--estate-font-size-core); }
.estate .project-row-text { grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "body";max-width:76ch; }
@media(max-width:760px) {
 .estate .project-row-list { gap:32px; }
 .estate .project-row { grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "photo" "body";gap:24px;padding-top:24px; }
 .estate .project-row-text { grid-template-areas:"heading" "body"; }
}

/* Text-section icon language; decorative assets never replace visible labels. */
.estate .estate-icon { display:block;width:var(--estate-icon-size,48px);height:var(--estate-icon-size,48px);object-fit:contain;flex:none; }
.estate .credential-item { display:grid;grid-template-columns:48px minmax(0,1fr);gap:24px;align-items:start;border-top:1px solid var(--line);padding-top:28px; }
.estate .credential-item p { margin:0; }
@media(max-width:760px) { .estate .credential-item { gap:20px; } }
