@font-face{font-family:SourceSans;src:url('/assets/fonts/source-sans-3-latin-wght-normal.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/fonts/cormorant-garamond-latin-wght-normal.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/fonts/cormorant-garamond-latin-wght-italic.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}
:root{
  --paper:#142b32;--ink:#e9eddf;--muted:#b3c6c8;--accent:#dbb58e;
  --rule:#3e5a61;--edge:#5c7880;--surface:#1c353d;--frame:#263f45;
  --sea-line:#7ea4ad;--body:SourceSans,Arial,sans-serif;
  color-scheme:dark;color:var(--ink);background:var(--paper);font-family:var(--body);
  font-synthesis:none;-webkit-font-smoothing:antialiased;
}
:root[data-mode=personal]{
  --paper:#e9eee6;--ink:#213a3b;--muted:#4f6361;--accent:#765330;
  --rule:#b4c5bd;--edge:#768f87;--surface:#e0e7de;--frame:#d6dfd6;
  --sea-line:#688d89;color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
p,h1,h2,h3,figure{margin:0}
img,svg{display:block;max-width:100%}
.ui-arrow{display:inline-block;width:18px;height:18px;max-width:none;flex-shrink:0;vertical-align:middle}
.ui-arrow.arrow-left{transform:rotate(180deg)}
.ui-arrow.arrow-up{transform:rotate(-90deg)}
.back-link>.ui-arrow{margin-right:8px}
h1,h2,h3{font-weight:450}
p{font-size:18px;line-height:1.75}
[hidden]{display:none!important}
.shell{max-width:1320px;margin-inline:auto;width:calc(100% - 112px)}
.maker-mark{width:36px;flex-shrink:0;color:var(--accent)}
.eyebrow{font-size:11px;font-weight:550;letter-spacing:.16em;line-height:1.6;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;padding:14px 22px;background:var(--paper);border:1px solid var(--accent);z-index:30;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.site-header{min-height:128px;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--rule)}
.home-link{display:flex;align-items:center;gap:13px;min-height:48px;margin-right:auto;white-space:nowrap}
.home-name{font-family:Cormorant,Georgia,serif;font-size:28px;letter-spacing:-.035em;line-height:1}
.home-caption{display:block;font-family:SourceSans,Arial,sans-serif;font-size:8px;letter-spacing:.17em;line-height:1.7;margin-top:8px;color:var(--muted)}
/* A signature and a folded house plan replace the conventional navigation bar. */
.room-signature{position:absolute;z-index:5;top:max(34px,env(safe-area-inset-top,0px));left:max(56px,env(safe-area-inset-left,0px));color:#f1edde;--accent:#dfbc90;--muted:#d4d8cf}
.room-signature .home-link{min-height:48px;margin:0}.room-signature .maker-mark{width:32px}
.home-plan-trigger.house-map-control{position:absolute;z-index:5;top:max(28px,env(safe-area-inset-top,0px));right:max(56px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:104px;min-height:98px;padding:10px 12px;color:#403123;background:linear-gradient(118deg,transparent 46%,#fff3d940 49%,#8b622617 51%,transparent 54%),#dfcda6;border:1px solid #ad936b;border-radius:1px 1px 10px 1px;box-shadow:0 8px 24px #0003;font-size:12px;line-height:1.25;transform:rotate(1.2deg);transition:transform .25s,background .25s}
.home-plan-trigger.house-map-control::after{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;background:linear-gradient(135deg,#b29c73 49%,#ecddbe 51%);border-top:1px solid #b29c73;border-left:1px solid #b29c73;border-radius:0 0 9px 0;pointer-events:none}
.home-plan-trigger.house-map-control svg{width:66px;height:44px;color:#403123}.home-plan-trigger.house-map-control span{display:block}
.home-plan-trigger.house-map-control:hover{transform:rotate(0deg) translateY(-2px);background-color:#ead9b6}
.home-plan-trigger.house-map-control:focus-visible{outline:2px solid #f1edde;outline-offset:5px;transform:rotate(0deg)}
@media(max-width:600px){.room-signature{top:max(24px,env(safe-area-inset-top,0px));left:max(20px,env(safe-area-inset-left,0px))}.room-signature .home-name{font-size:26px}.room-signature .home-caption{font-size:7px}.room-signature .maker-mark{width:28px}.home-plan-trigger.house-map-control{top:max(20px,env(safe-area-inset-top,0px));right:max(20px,env(safe-area-inset-right,0px));width:84px;min-height:82px;padding:8px 10px;font-size:11px}.home-plan-trigger.house-map-control svg{width:54px;height:36px}}
@media(max-height:650px) and (min-width:601px){.room-signature{top:max(17px,env(safe-area-inset-top,0px));left:max(28px,env(safe-area-inset-left,0px))}.room-signature .home-name{font-size:24px}.room-signature .home-caption{font-size:6px;margin-top:5px}.room-signature .maker-mark{width:28px}.home-plan-trigger.house-map-control{top:max(14px,env(safe-area-inset-top,0px));right:max(28px,env(safe-area-inset-right,0px));width:126px;min-height:54px;flex-direction:row;gap:8px;padding:8px 10px;font-size:11px}.home-plan-trigger.house-map-control svg{width:42px;height:30px}}
@media(prefers-reduced-motion:reduce){.home-plan-trigger.house-map-control{transition:none}}
.main-nav{display:flex;align-items:center;gap:28px;font-size:14px}
.main-nav a{display:inline-flex;align-items:center;gap:9px;min-height:44px;position:relative}
.main-nav a:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav a:hover:after{transform:scaleX(1)}
.main-nav span{color:var(--accent)}
.mode-nav{width:248px;flex-shrink:0}
.mode-caption{font-size:9px;line-height:1.4;letter-spacing:.11em;color:var(--muted);margin-bottom:4px}
.mode-control{display:flex;align-items:center;justify-content:space-between;gap:15px}
.mode-control a{position:relative;display:flex;align-items:center;gap:9px;min-height:44px;padding-block:4px;font-size:12px;color:var(--muted);transition:color .25s}
.mode-control a:after{content:'';position:absolute;bottom:1px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.mode-control a[aria-current],.mode-control a:hover{color:var(--ink)}
.mode-control a[aria-current]:after{transform:scaleX(1)}
.mode-door{position:relative;display:block;width:12px;height:19px;border:1px solid var(--edge);flex-shrink:0;perspective:40px}
.mode-door>span{position:absolute;inset:1px;border:1px solid currentColor;transform-origin:left center}
.mode-door-open>span{transform:rotateY(-48deg)}
.mode-control a[aria-current] .mode-door{color:var(--accent);border-color:var(--accent)}
.mode-divider{height:20px;width:1px;background:var(--rule);flex-shrink:0}
.hero{min-height:670px;position:relative;padding-top:83px;padding-bottom:64px;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 206px;column-gap:82px;align-items:start}
.hero-copy{position:relative;z-index:2;width:100%;min-width:0}
.hero .eyebrow{display:flex;gap:12px;align-items:center;color:var(--accent)}
.small-rule{width:22px;height:1px;background:currentColor;flex-shrink:0}
.hero h1{font-size:clamp(68px,8vw,116px);font-weight:450;letter-spacing:-.068em;line-height:1; margin:32px 0 31px}
.hero h1 em{font-family:Cormorant,Georgia,serif;font-weight:500;font-style:italic;letter-spacing:-.052em}
.hero-intro{font-size:20px;line-height:1.65;color:var(--muted);max-width:360px}
.hero-link,.contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:43px;min-height:44px;font-size:15px;border-bottom:1px solid var(--accent);padding-block:8px}
.hero-link{margin-top:30px}
.hero-link span,.contact-link span{color:var(--accent);transition:transform .25s}
.hero-link:hover span{transform:translateY(3px)}
.contact-link:hover span{transform:translate(3px,-3px)}
[data-mode=personal] .hero h1{font-size:clamp(62px,7.3vw,105px)}
[data-mode=personal] .hero-copy{max-width:100%}
.sea-art{position:absolute;inset:0 -56px;height:100%;z-index:0;pointer-events:none;color:var(--sea-line)}
.sea-contours,.sea-art canvas{position:absolute;inset:0;width:100%;height:100%;mask-image:linear-gradient(90deg,transparent 30%,#000 82%)}
.sea-art.has-sea-canvas .sea-contours{opacity:0}
.horizon-rule{border-top:1px solid var(--rule);position:relative}
.horizon-rule>span{display:block;width:36px;height:1px;background:var(--accent);position:absolute;top:-1px}
.projects-section{padding-block:81px 82px}
.section-heading{margin-bottom:42px}
.section-heading .eyebrow{color:var(--accent);margin-bottom:14px}
.section-heading h2,.writing-section h2{font-family:Cormorant,Georgia,serif;font-size:52px;line-height:1.1;letter-spacing:-.025em;font-weight:500}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 36px}
.project-card{display:flex;flex-direction:column;min-width:0;position:relative;border-bottom:1px solid var(--rule);padding-bottom:27px}
.project-card:hover .card-arrow,.project-card:focus-visible .card-arrow{color:var(--accent);transform:translate(3px,-3px)}
.project-card:hover .project-art img{transform:scale(1.012)}
.project-art{height:300px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--frame);color:var(--ink);padding:24px; border:1px solid var(--rule)}
.project-art img{width:100%;height:100%;object-fit:contain;transition:transform .65s cubic-bezier(.2,.7,.3,1);border:1px solid #ffffff12}
.card-copy{padding-top:22px;flex:1}
.card-copy .project-kind{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;line-height:1.6}
.card-copy h3{font-size:29px;font-weight:450;line-height:1.3;letter-spacing:-.035em;display:flex;align-items:baseline;justify-content:space-between;gap:15px}
.card-arrow{font-family:SourceSans,Arial,sans-serif;font-size:21px;color:var(--muted);transition:transform .25s,color .25s;font-weight:400}
.card-copy>p:not(.project-kind){color:var(--muted);font-size:18px;line-height:1.65;margin:11px 0 20px;max-width:460px}
.status{display:block;max-width:100%;font-size:12px;line-height:1.6;color:var(--muted)}
.featured-project{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1.3fr;gap:74px;align-items:center;padding-bottom:46px}
.featured-project .project-art{grid-column:2;grid-row:1;height:auto;aspect-ratio:1.44;padding:26px;order:2}
.featured-project .card-copy{grid-column:1;grid-row:1;padding:0}
.featured-project h3{font-size:68px;letter-spacing:-.055em;line-height:1.1;margin:17px 0 21px}
.featured-project .card-arrow{display:none}
.featured-project .card-copy>p:not(.project-kind){font-size:21px;max-width:315px;margin-block:0 22px}
.featured-project .status{font-size:11px}
.project-discover{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:44px;font-size:14px;margin-top:21px;border-bottom:1px solid var(--accent);padding-block:8px}
.project-discover span{color:var(--accent);transition:transform .25s}
.featured-project:hover .project-discover span{transform:translate(3px,-3px)}
.project-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:46px}
.note-card{border-top:1px solid var(--rule);padding-top:25px;gap:17px}
.note-glyph{font-family:Cormorant,Georgia,serif;font-size:36px;line-height:1;width:56px;height:63px;border:1px solid var(--edge);display:grid;place-items:center;color:var(--accent)}
.note-card .card-copy{padding-top:0}
.note-card h3{font-size:25px}
.note-card .card-copy>p:not(.project-kind){font-size:16px;line-height:1.65;margin-block:12px 17px}
.note-card .status{font-size:11px}
[data-mode=personal] .project-notes{margin-top:0}
.about-section{border-block:1px solid var(--rule);padding-block:48px;display:grid;grid-template-columns:.7fr 1.3fr;gap:74px;align-items:center}
.identity{display:flex;align-items:center;gap:23px}
.identity h2{font-family:Cormorant,Georgia,serif;font-size:36px;font-weight:500;letter-spacing:-.025em;line-height:1.15;margin-top:8px}
.identity .eyebrow{font-size:9px}
.hero-portrait{position:relative;z-index:2;margin-top:0;width:100%}
.portrait-button{display:block;position:relative;background:none;border:0;padding:0;width:100%;touch-action:manipulation;text-align:left}
.door-stage{display:block;position:relative;width:100%;aspect-ratio:808/1495;perspective:950px;perspective-origin:50% 46%}
.door-jamb{position:absolute;inset:-5px;border:5px solid #4a4035;background:linear-gradient(110deg,#182624,#101a19 75%);box-shadow:inset 6px 0 15px #0008,0 9px 20px #0002}
.portrait-face{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden}
.portrait-front{left:13.8%;top:6.6%;width:73.4%;height:43.9%;background:var(--surface);opacity:1}
.portrait-back{inset:0;color:#dbb58e;opacity:0;background:radial-gradient(ellipse at 50% 42%,#253933 0%,#172623 62%,#101a19 100%)}
[data-mode=personal] .portrait-front{opacity:0;pointer-events:none}
[data-mode=personal] .portrait-back{opacity:1}
.door-leaf{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transform:rotateY(0deg);will-change:auto}
[data-door-mode=personal] .door-leaf{transform:rotateY(-100deg)}
[data-door-moving] .door-leaf{will-change:transform}
.door-material{position:absolute;left:-13.2426%;top:-1.2709%;width:126.7327%;height:102.7425%;max-width:none;pointer-events:none}
.door-makers-mark{position:absolute;left:45%;top:73%;width:19%;opacity:.58;color:#c6b094;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.door-makers-mark .maker-mark{width:100%;color:inherit}
.door-sill{position:absolute;bottom:-5px;left:-5px;right:-5px;height:5px;background:#6b5a46;box-shadow:0 4px 7px #0003;pointer-events:none}
.portrait-face img{width:100%;height:100%;object-fit:cover}
.portrait-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden;pointer-events:none}
.portrait-face.has-video-frame .portrait-video{visibility:visible}
.portrait-monogram{font-family:Cormorant,Georgia,serif;font-size:142px;font-weight:450;line-height:1}
.portrait-action{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5;color:var(--muted);padding-block:12px;min-height:44px}
.portrait-action>span:last-child{font-size:17px;color:var(--accent);transition:transform .35s}
.portrait-button:hover .portrait-action>span:last-child{transform:translateX(3px)}
.portrait-placeholder{position:absolute;bottom:8px;font-size:8px}
.about-copy p{font-size:18px;line-height:1.8;max-width:625px}
.contact-section{padding-block:96px 88px;position:relative}
.contact-section>.eyebrow{color:var(--accent)}
.contact-section h2{font-family:Cormorant,Georgia,serif;font-size:53px;line-height:1.15;letter-spacing:-.025em;max-width:850px;margin:24px 0 14px;font-weight:500}
.contact-invitation{font-size:16px;color:var(--muted);margin-bottom:24px}
.contact-mark{position:absolute;right:20px;bottom:116px;display:grid;place-items:center;width:82px;height:116px;border:1px solid var(--rule);border-left:3px solid var(--edge)}
.contact-mark .maker-mark{width:45px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px;border-top:1px solid var(--rule)}
.site-footer p{font-size:11px;line-height:1.5;color:var(--muted)}
.site-footer .maker-mark{width:25px}
.writing-section{padding-top:70px}
.writing-index{list-style:none;margin:28px 0 0;padding:0}
.writing-index li{display:flex;align-items:baseline;gap:24px;padding:15px 0;border-bottom:1px solid var(--rule)}
.writing-index a{font-size:22px;line-height:1.5;flex:1}
.writing-index a:hover{text-decoration:underline;text-underline-offset:5px}
.post-meta{display:flex;gap:24px;white-space:nowrap;color:var(--muted);font-size:12px}
/* Project pages share the sea palette, with a quieter field for long reading. */
.article-shell{max-width:1160px;width:calc(100% - 112px);margin:41px auto 85px}
[data-page="404"] .article-shell{margin-top:156px}
@media(max-width:600px){[data-page="404"] .article-shell{margin-top:144px}}
.back-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;color:var(--muted)}
.back-link span{color:var(--accent);transition:transform .25s}
.back-link:hover span{transform:translateX(-3px)}
.article-header{margin:47px 0 47px;max-width:865px}
.article-header .eyebrow{font-size:11px;letter-spacing:.1em}
.article-header h1{font-size:clamp(56px,7.4vw,96px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:22px 0 25px;overflow-wrap:anywhere}
.article-deck{font-family:Cormorant,Georgia,serif;font-size:33px;line-height:1.35;max-width:740px;letter-spacing:-.015em}
.attribution,.article-byline{font-size:13px;line-height:1.7;color:var(--muted);margin-top:18px}
.attribution a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);border-bottom:1px solid var(--accent)}
.article-byline{font-size:11px}
.project-figure{margin:0 0 55px}
.project-image-link{display:block;padding:25px;background:var(--frame);border:1px solid var(--rule)}
.project-art-large{height:340px;margin:0 0 50px;padding:0}
.project-art.project-art-large{aspect-ratio:auto;width:100%}
.project-art-large.has-image{height:auto;aspect-ratio:auto;border:0;background:none;display:block;margin:0;padding:0}
.project-art-large.has-image img{height:auto;object-fit:contain;border:0;transform:none;transition:none}
.project-figure figcaption,.project-quote figcaption{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px;max-width:820px}
.project-figure figcaption a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.art-caption{position:absolute;top:25px;left:28px;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.art-glyph{font-family:Cormorant,Georgia,serif;font-size:110px;font-weight:400;line-height:1;color:var(--accent)}
.art-frame{position:absolute;inset:65px 28px 65px;border-block:1px solid var(--rule)}
.art-placeholder{position:absolute;bottom:25px;font-size:11px;color:var(--muted)}
.article-body{max-width:710px;margin-inline:auto}
.article-body section+section{margin-top:57px}
.article-body h2{font-family:Cormorant,Georgia,serif;font-size:38px;font-weight:500;line-height:1.15;letter-spacing:-.025em;margin-bottom:23px}
.article-body p,.article-body li{font-size:19px;line-height:1.9;margin-bottom:24px}
.article-body ul{padding-left:25px;margin:0 0 26px}
.article-body li{padding-left:4px;margin-bottom:12px}
.article-body .project-image-link{padding:15px}
.article-body .project-figure{margin:35px 0 48px}
.project-quote{margin:32px 0 0}
.project-quote blockquote{margin:0;padding:22px 27px;border-left:2px solid var(--accent);background:var(--surface)}
.project-quote blockquote p{margin:0;font-size:20px}
.decision-note{padding:25px 28px;border-left:2px solid var(--accent);background:var(--surface);margin:45px 0}
.decision-note p:last-child{margin-bottom:0}
.article-back{border-top:1px solid var(--rule);padding-top:24px;display:flex;max-width:710px;margin:45px auto 0}
@media(max-width:1100px){
  .shell,.article-shell{width:calc(100% - 72px)}
  .site-header{gap:26px}.main-nav{gap:21px}.mode-nav{width:240px}
  .hero{padding-top:65px;min-height:600px;grid-template-columns:minmax(0,1fr) 180px;column-gap:60px}.hero h1{font-size:8.4vw}
  .sea-art{inset-inline:-36px}
  .featured-project,.about-section{gap:43px}.featured-project h3{font-size:59px}.featured-project .project-art{padding:20px}
  .project-art{height:265px;padding:20px}.project-notes{gap:25px}.contact-mark{width:75px;height:75px;right:14px}
  .contact-section h2{font-size:46px;max-width:750px}.contact-mark .maker-mark{width:40px}
}
@media(max-width:800px){
  .site-header{min-height:106px;gap:22px;flex-wrap:wrap;padding-block:22px}.home-name{font-size:26px}.main-nav{gap:18px;font-size:12px}.main-nav a:last-child{display:none}.mode-nav{width:230px}.mode-control a{font-size:11px}
  .hero{min-height:630px;padding-top:42px;grid-template-columns:minmax(0,1fr) 150px;column-gap:45px}.hero-copy{max-width:100%}.hero h1{font-size:9.1vw}.hero-intro{font-size:18px;max-width:310px}
  .hero .eyebrow{min-height:0}.hero-portrait{width:150px;margin:0}.portrait-action{font-size:10px;gap:4px;padding-block:8px}.portrait-monogram{font-size:110px}
  .projects-section{padding-block:60px}.section-heading h2{font-size:44px}.project-grid{gap:34px 24px}.project-art{height:220px;padding:16px}
  .featured-project{gap:32px;grid-template-columns:.8fr 1.2fr}.featured-project h3{font-size:53px}.featured-project .card-copy>p:not(.project-kind){font-size:18px}.featured-project .project-art{padding:16px}
  .card-copy h3{font-size:26px}.card-copy>p:not(.project-kind){font-size:16px}
  .project-notes{grid-template-columns:1fr;gap:0;margin-top:36px}.note-card{display:grid;grid-template-columns:63px 1fr;gap:22px;padding-block:25px;border-top:0}.note-card .card-copy>p:not(.project-kind){max-width:100%}.note-card h3{font-size:25px}.note-glyph{margin-top:3px}
  .about-section{grid-template-columns:1fr;gap:25px;padding-block:35px}.identity h2{font-size:35px}.about-copy p{max-width:100%}.contact-section{padding-block:64px}.contact-section h2{font-size:42px}.contact-mark{display:none}
  .article-shell{margin-top:27px}.article-header{margin-top:33px}.article-header h1{font-size:64px}.article-deck{font-size:29px}.project-image-link{padding:18px}.article-body{max-width:100%}.article-body h2{font-size:35px}.article-body p,.article-body li{font-size:18px}
}
@media(max-width:600px){
  .shell,.article-shell{width:calc(100% - 40px)}
  .site-header{gap:0;min-height:0;padding-block:20px 14px;align-items:center;justify-content:space-between}
  .home-link{gap:10px;min-height:44px;margin-right:0}.home-name{font-size:25px}.home-caption{font-size:7px;margin-top:6px}.home-link .maker-mark{width:27px}
  .mode-nav{width:100%;order:3;margin-top:12px}.mode-caption{font-size:9px;margin-bottom:1px}.mode-control{justify-content:flex-start;gap:22px}.mode-control a{font-size:12px;flex:1}.mode-divider{height:19px}
  .main-nav{gap:16px;justify-content:flex-end;margin-left:auto;font-size:12px}.main-nav a{min-height:44px}.main-nav a:last-child{display:none}.main-nav a:after{bottom:7px}
  .hero{display:block;padding-top:30px;padding-bottom:150px;min-height:690px;overflow:hidden}
  .hero-copy{width:100%;max-width:100%}.hero .eyebrow{font-size:9px;letter-spacing:.115em;gap:10px;min-height:29px;padding-right:155px;max-width:100%}
  .hero h1{font-size:clamp(37px,11.2vw,60px);max-width:calc(100% - 155px);min-height:210px;letter-spacing:-.06em;margin-block:22px 25px;line-height:1.04}
  .hero-portrait{position:absolute;right:5px;top:34px;width:110px}.portrait-monogram{font-size:88px}.portrait-action{font-size:10px;min-height:44px;line-height:1.35;gap:3px}.portrait-action>span:last-child{font-size:13px}
  .hero-intro{font-size:18px;line-height:1.7;max-width:290px}.hero-link{font-size:14px;margin-top:24px;gap:35px}
  [data-mode=personal] .hero h1{font-size:clamp(36px,10.7vw,58px)}
  [data-mode=personal] .hero-copy{max-width:100%}
  .sea-art{inset:0 -20px;height:100%}.sea-contours,.sea-art canvas{mask-image:linear-gradient(180deg,transparent 48%,#000 83%)}
  .projects-section{padding-block:48px 47px}.section-heading{margin-bottom:31px}.section-heading .eyebrow{font-size:9px;margin-bottom:11px}.section-heading h2{font-size:40px}
  .project-grid{display:flex;flex-direction:column;gap:33px}.project-card{padding-bottom:25px}
  .featured-project{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-bottom:28px}.featured-project .project-art{order:0;aspect-ratio:1.44;padding:15px}.featured-project .card-copy{padding-top:24px}.featured-project h3{font-size:43px;margin:9px 0 13px}.featured-project .card-copy>p:not(.project-kind){font-size:18px;max-width:100%;margin-bottom:16px}.featured-project .project-kind{font-size:9px}.featured-project .card-arrow{display:block;font-size:24px}.featured-project .project-discover{display:none}
  .project-art{height:auto;aspect-ratio:1.44;padding:15px}.card-copy{padding-top:20px}.card-copy h3{font-size:27px}.card-copy>p:not(.project-kind){font-size:17px;max-width:100%}.card-copy .project-kind{font-size:9px}.status{font-size:11px}
  .project-notes{margin-top:32px}.note-card{grid-template-columns:48px 1fr;gap:17px;padding-block:25px}.note-glyph{width:45px;height:53px;font-size:31px}.note-card h3{font-size:25px}.note-card .card-copy>p:not(.project-kind){font-size:16px}.note-card .card-copy{padding-top:0}
  .about-section{gap:24px}.identity{gap:18px}.identity h2{font-size:32px}.about-copy p{font-size:17px;line-height:1.85}
  .contact-section{padding-block:55px 58px}.contact-section h2{font-size:36px;margin-block:20px 14px}.contact-section>.eyebrow{font-size:9px}.desktop-break{display:none}.contact-invitation{font-size:15px}.contact-link{font-size:14px;gap:30px;max-width:100%;overflow-wrap:anywhere}
  .site-footer{min-height:88px;gap:12px;flex-wrap:wrap;padding-block:22px}.site-footer p{font-size:10px}.site-footer .maker-mark{width:22px;margin-left:auto}
  .article-shell{margin-top:23px;margin-bottom:58px}.back-link{font-size:12px;gap:9px}.article-header{margin:30px 0 34px}.article-header .eyebrow{font-size:9px;line-height:1.8}.article-header h1{font-size:clamp(42px,11.7vw,68px);margin-block:17px 21px}.article-deck{font-size:26px;line-height:1.4}.attribution,.article-byline{font-size:11px;margin-top:14px}
  .project-image-link{padding:12px}.project-figure{margin-bottom:38px}.project-figure figcaption,.project-quote figcaption{font-size:11px;margin-top:12px;line-height:1.75}.project-art-large{height:260px;margin-bottom:35px}.art-caption{font-size:10px;top:20px;left:20px}.art-frame{inset:52px 20px}.art-glyph{font-size:88px}.art-placeholder{font-size:10px;bottom:20px}
  .article-body h2{font-size:31px;margin-bottom:20px}.article-body p,.article-body li{font-size:17px;line-height:1.9;margin-bottom:21px}.article-body section+section{margin-top:43px}.article-body .project-image-link{padding:10px}.article-body .project-figure{margin-block:28px 33px}.project-quote blockquote{padding:18px 20px}.project-quote blockquote p{font-size:18px}.decision-note{padding:21px}
  .writing-section{padding-top:45px}.writing-index li{display:block}.post-meta{margin-top:8px;gap:18px;flex-wrap:wrap;white-space:normal}
}
@media(max-width:360px){
  .home-name{font-size:22px}.home-caption{font-size:6px}.home-link{gap:7px}.home-link .maker-mark{width:25px}.main-nav{gap:12px}.mode-control a{font-size:12px}
  .hero h1{font-size:11.6vw;max-width:calc(100% - 140px)}.hero .eyebrow{font-size:8px;padding-right:140px}.hero-portrait{width:100px}.hero-intro{font-size:17px}.hero{min-height:665px}.hero-link{font-size:13px}
  .section-heading h2{font-size:36px}.note-card{gap:13px}.note-card h3{font-size:23px}.identity h2{font-size:30px}.contact-section h2{font-size:33px}
}
@media(prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .project-card:hover .project-art img,.project-card:hover .card-arrow,.hero-link:hover span,.contact-link:hover span{transform:none}
  .portrait-video{display:none!important}
}
/* The house supplies the setting; the surrounding type stays quiet and readable. */
.mode-room-name{display:block;font-size:8px;line-height:1.4;letter-spacing:.045em;color:var(--muted);margin-top:3px}
.room-hero.hero{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:44px;padding-block:52px 70px;min-height:740px;align-items:start}
.hero-introduction{min-width:0;padding-top:12px}
.hero-identity{display:flex;gap:15px;align-items:center;margin-bottom:34px;position:relative;z-index:2}
.hero-identity .portrait-face{position:relative;inset:auto;display:grid;place-items:center;width:72px;height:78px;flex-shrink:0;opacity:1;background:var(--surface);border:1px solid var(--edge);color:var(--accent)}
.hero-identity .portrait-monogram{font-size:59px;line-height:1}
.greeting-copy p:first-child{font-size:18px;line-height:1.4;color:var(--ink)}
.greeting-copy p:last-child{font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}
.room-hero .hero-copy{width:100%;max-width:100%;transition:opacity .25s ease}
.room-hero .hero-copy .eyebrow{padding:0;min-height:0;font-size:10px;letter-spacing:.14em}
.room-hero h1,[data-mode=personal] .room-hero h1{font-size:clamp(66px,6.25vw,89px);max-width:100%;min-height:0;line-height:1.02;margin-block:25px 26px;letter-spacing:-.06em}
[data-mode=personal] .room-hero h1{font-size:clamp(60px,5.5vw,79px)}
.room-hero .hero-intro{max-width:320px;font-size:19px;line-height:1.7}
.room-hero .hero-link{margin-top:26px}
.room-scene{min-width:0;position:relative;margin:0}
.room-stage{position:relative;width:100%;height:570px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 55% 53%,#31484a45,transparent 72%)}
[data-mode=personal] .room-stage{background:radial-gradient(ellipse at 53% 52%,#8a6b4120,transparent 73%)}
.room-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;visibility:hidden;touch-action:pan-y}
.room-stage.has-room-canvas canvas{visibility:visible}
.room-poster{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.room-poster img{width:100%;height:100%;object-fit:contain}
.room-stage.has-room-canvas .room-poster{visibility:hidden}
.room-caption{display:grid;grid-template-columns:minmax(0,1fr) 50px auto;gap:20px;align-items:center;border-top:1px solid var(--rule);padding-block:17px 4px}
.room-location .eyebrow{font-size:8px;letter-spacing:.12em;color:var(--muted);margin-bottom:5px}
.room-location>p:last-child{font-size:12px;line-height:1.45;color:var(--ink)}
.room-plan{width:50px;stroke:var(--edge);stroke-width:1}
[data-mode=professional] .plan-professional,[data-mode=personal] .plan-personal{stroke:var(--accent);stroke-width:1.7}
.room-door-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;border-bottom:1px solid var(--accent);padding-block:5px;font-size:14px}
.room-door-link [data-room-link-subtitle]{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:3px}
.room-door-link>span:last-child{font-size:23px;line-height:1;color:var(--accent);transition:transform .25s}
.room-door-link:hover>span:last-child{transform:translateX(3px)}
.room-travel-label{position:absolute;z-index:3;top:18px;left:18px;padding:10px 15px;border-left:2px solid var(--accent);font-size:12px;line-height:1.4;background:var(--paper);color:var(--ink);opacity:0;visibility:hidden;pointer-events:none}
.room-stage[data-room-moving] .room-travel-label{opacity:1;visibility:visible}
.room-hero:has([data-room-moving]) .hero-copy{opacity:.22}
@media(max-width:1100px){
  .room-hero.hero{column-gap:30px;padding-top:42px;min-height:700px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .room-hero h1,[data-mode=personal] .room-hero h1{font-size:clamp(56px,6.5vw,74px)}
  .room-stage{height:535px}.room-caption{gap:12px;grid-template-columns:minmax(0,1fr) auto}.room-plan{display:none}
  .room-door-link{font-size:12px;gap:14px}.room-location>p:last-child{font-size:11px}
}
@media(max-width:800px){
  .room-hero.hero{display:flex;flex-direction:column;padding-block:30px 55px;min-height:0;gap:0}
  .hero-introduction{display:contents}.hero-identity{order:1;margin-bottom:22px;padding-top:0}.room-scene{order:2;width:100%;margin-bottom:34px}.room-hero .hero-copy{order:3}
  .room-stage{height:480px}.room-caption{grid-template-columns:minmax(0,1fr) 50px auto;gap:20px}.room-plan{display:block}
  .room-hero h1,[data-mode=personal] .room-hero h1{font-size:clamp(52px,8.5vw,74px);margin-block:20px 23px}
  .room-hero .hero-intro{max-width:450px}.room-location>p:last-child{font-size:12px}.room-door-link{font-size:14px}
}
@media(max-width:600px){
  .room-hero.hero{padding-block:24px 48px;overflow:visible}
  .hero-identity{gap:13px;margin-bottom:14px}.hero-identity .portrait-face{width:60px;height:65px}.hero-identity .portrait-monogram{font-size:50px}
  .greeting-copy p:first-child{font-size:17px}.greeting-copy p:last-child{font-size:11px}
  .room-stage{height:320px}.room-caption{grid-template-columns:minmax(0,1fr) auto;gap:15px;padding-top:13px}.room-plan{display:none}
  .room-location .eyebrow{font-size:7px}.room-location>p:last-child{font-size:10px;max-width:145px}.room-door-link{font-size:12px;gap:13px;min-height:52px}.room-door-link [data-room-link-subtitle]{font-size:9px}
  .room-hero h1,[data-mode=personal] .room-hero h1{font-size:clamp(47px,12.5vw,70px);max-width:100%;min-height:0;letter-spacing:-.055em;line-height:1.04}
  .room-hero .hero-copy .eyebrow{font-size:9px;padding:0;min-height:0}.room-hero .hero-intro{font-size:18px;max-width:320px}
  .room-hero .hero-link{margin-top:22px}.room-scene{margin-bottom:31px}.room-travel-label{font-size:10px;top:8px;left:8px;padding:8px 10px}
}
@media(max-width:360px){
  .room-stage{height:285px}.room-door-link{font-size:11px;gap:10px}.room-door-link>span:last-child{font-size:18px}.room-location>p:last-child{font-size:9px;max-width:120px}
  .room-hero h1,[data-mode=personal] .room-hero h1{font-size:45px}.room-hero .hero-intro{font-size:17px}
}

/* Direct section links and the shared architectural map. */
.home-navigation{margin-left:auto;display:flex;align-items:center;gap:30px}
.house-nav{display:flex;align-items:center;gap:22px;font-size:13px}
.house-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;position:relative}
.house-nav a:after{content:'';position:absolute;bottom:4px;inset-inline:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.house-nav a:hover:after,.house-nav a[aria-current]:after{transform:scaleX(1)}
.home-plan-trigger{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;border:1px solid var(--rule);font-size:12px;white-space:nowrap}
.home-plan-trigger svg{width:21px;height:21px;color:var(--accent)}
.home-plan-trigger:hover{border-color:var(--accent)}
@media(max-width:1100px){.home-navigation{gap:18px}.house-nav{gap:16px}.site-header{gap:24px}}
@media(max-width:800px){.home-navigation{gap:12px}.house-nav{gap:13px;font-size:12px}.home-plan-trigger{padding:9px}.home-plan-trigger span{display:none}.home-plan-trigger svg{width:24px;height:24px}}
@media(max-width:600px){.site-header .home-link{width:auto}.home-navigation{width:100%;margin-top:8px;gap:16px;justify-content:space-between}.house-nav{gap:22px;font-size:12px}.home-plan-trigger{padding:8px 10px}.home-plan-trigger span{display:inline;font-size:10px}.home-plan-trigger svg{width:17px;height:17px}}
@media(max-width:400px){.house-nav{gap:15px}.home-plan-trigger span{display:none}}
@media(prefers-reduced-motion:reduce){.house-nav a:after{transition:none}}

@media(max-width:600px){.site-header .home-plan-trigger{position:absolute;right:0;top:max(22px,env(safe-area-inset-top,0px));min-width:44px}.site-header .home-plan-trigger span{display:inline}.site-header .house-nav{width:100%;justify-content:space-between;gap:15px}.site-header .home-navigation{width:100%}}
@media(max-width:360px){.site-header .home-plan-trigger span{display:none}}
