/* Complete-site content: the approved frame/type palette, with editorial pages around the tools. */
.site-content-page{padding:24px 0 80px;min-height:60vh}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:16px;margin:0 0 16px;color:var(--ink-soft)}
.breadcrumbs a{color:var(--blue)}
.content-heading{max-width:920px;margin-bottom:24px}
.site-content-page .content-heading h1{font:500 clamp(40px,4vw,56px)/1.08 var(--display);letter-spacing:-.025em;max-width:24ch;margin:0}
.content-heading h1:focus{outline:none}
.content-lede{font-size:20px;max-width:68ch;line-height:1.65;margin:16px 0 0}
.site-content-page p,.site-content-page li{font-size:18px;line-height:1.7}
.site-content-page h2{font:500 clamp(30px,3vw,42px)/1.13 var(--display)}
.site-content-page h3{font:600 20px/1.35 var(--body);letter-spacing:0}
.site-content-page .eyebrow{font:700 14px/1.5 var(--body);letter-spacing:.08em;color:var(--sage)}
.content-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.content-card{padding:32px;background:var(--white);border:1px solid var(--line);border-radius:24px;display:flex;flex-direction:column;align-items:flex-start}
.content-card h2{margin-bottom:16px}.content-card .text-link{margin-top:auto}
.content-card h2 a:hover,.project-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.service-story-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:start;gap:48px}
.site-photo{overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--sage-light);border-radius:16px}
.site-photo img{width:100%;height:100%;object-fit:cover}
.site-photo.photo-half{aspect-ratio:1}
.site-photo.photo-half img{position:absolute;width:200%;max-width:none;height:100%;object-fit:fill;top:0}
.site-photo .half-before{left:0}.site-photo .half-after{left:-100%}
.service-photo{aspect-ratio:1}.service-fit{padding-top:16px}
.site-content-page ul{padding-left:24px}.site-content-page li{padding-left:4px;margin-bottom:8px;color:var(--ink-soft)}
.content-section{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}
.option-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.option-columns section{min-width:0}.option-columns h3{margin-bottom:12px}
.content-two-column{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.content-faq details{border-bottom:1px solid var(--line);padding:0}
.content-faq summary{font:600 18px/1.5 var(--body);padding:20px 28px 20px 0;cursor:pointer}
.content-faq p{padding-bottom:12px;max-width:70ch}
.content-next{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:center;background:var(--sage-light);padding:24px;border-radius:24px;margin-top:48px}
.content-next h2{margin:0}.about-priorities h2{font:600 20px/1.4 var(--body)}
.content-next p:last-child{margin:0}.content-next .content-actions{align-content:center}
.content-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.content-actions .share-project-status{flex-basis:100%;font-size:16px;margin:0}
.button-outline-dark{color:var(--blue);background:transparent}.button-outline-dark:hover{color:white}
.site-content-page .content-notice{font-size:16px;line-height:1.6;padding:16px 20px;background:var(--sage-light);border-left:3px solid var(--sage);margin-bottom:32px;max-width:90ch}
.content-notice a,.content-source a{text-decoration:underline;text-underline-offset:3px}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.project-card .site-photo{aspect-ratio:1}
.project-card-copy{padding:24px 0}.project-card-copy h2{margin:0 0 12px}
.project-card-copy p{margin-bottom:16px}
.project-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.project-filters button{min-height:44px;padding:8px 16px;border:1px solid var(--line);background:var(--white);border-radius:8px;font-size:16px;color:var(--ink)}
.project-filters button[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:white}
.project-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.project-comparison figure{margin:0}.project-comparison figcaption{padding-top:12px;font:600 16px/1.5 var(--body)}
.project-full-photo{aspect-ratio:16/9}.project-details{padding:32px;background:var(--white);border:1px solid var(--line);border-radius:24px;margin:40px 0}
.related-services{margin:40px 0}.related-services .text-link{margin-right:24px}
.project-process{list-style:none;padding:0!important;max-width:1000px}
.project-process li{display:grid;grid-template-columns:56px 1fr;gap:24px;margin-bottom:32px;border-bottom:1px solid var(--line);padding:0 0 24px}
.process-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--sage);border-radius:50%;color:var(--sage);font:600 20px var(--body)}
.content-source{margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.content-source summary{cursor:pointer;font-weight:600;min-height:44px}
.site-content-page .pricing-card h2{font:600 20px/1.35 var(--body)}
.contact-content-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px}
.contact-demo-note{padding:24px;background:var(--sage-light);border-radius:16px;margin-top:32px}
.contact-demo-note p{font-size:16px}.contact-demo-note a{overflow-wrap:anywhere;color:var(--blue);text-decoration:underline}
#inquiryForm{display:grid;gap:8px;align-content:start;padding:32px;border:1px solid var(--line);border-radius:24px;background:white}
#inquiryForm label{font:600 16px/1.5 var(--body);margin-top:12px}#inquiryForm label span{font-weight:400}
#inquiryForm input,#inquiryForm textarea,#inquiryForm select{width:100%;min-width:0;min-height:48px;border:1px solid #aeb8ae;border-radius:8px;padding:12px;color:var(--ink);background:white;font:400 16px/1.5 var(--body);box-sizing:border-box}
#inquiryForm .form-note{font-size:16px;margin:12px 0}#inquiryResult{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}#inquiryResult h3{margin-top:0}
#inquiryResult .content-actions{margin-top:16px}#inquiryResult p{font-size:16px;margin-top:16px}
.project-meta{display:flex;gap:24px;flex-wrap:wrap;margin:0 0 24px;font-size:16px;color:var(--ink-soft)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{padding:24px;background:white;border:1px solid var(--line);border-radius:16px}.review-card blockquote{margin:16px 0;font-size:18px;line-height:1.7}.review-stars{color:#8a5d00;letter-spacing:3px;font-size:20px}.review-card small{font-size:16px;line-height:1.5;color:var(--ink-soft)}
.history-list{border-left:2px solid var(--sage);padding-left:32px}.history-list h3{color:var(--sage)}
.owner-profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.owner-portrait{aspect-ratio:4/5;border-radius:24px;background:var(--sage-light);overflow:hidden}.owner-portrait img{width:100%;height:100%;object-fit:cover}
.site-guide-toggle{position:fixed;bottom:20px;right:max(20px,calc((100vw - 1440px)/2 + 20px));z-index:60;border:1px solid var(--sage);background:var(--ink);color:white;font:600 16px/1.4 var(--body);padding:12px 18px;border-radius:24px;min-height:48px;box-shadow:0 4px 16px #0002}
.site-guide{position:fixed;right:max(20px,calc((100vw - 1440px)/2 + 20px));bottom:80px;z-index:70;width:min(380px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 110px));display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px #0003;background:var(--white);overflow:hidden}
.guide-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.guide-header h2{font:600 20px var(--body);margin:0}.guide-header button{background:none;border:0;min-width:44px;min-height:44px;font-size:24px;color:var(--ink)}
.guide-body{padding:16px 20px;overflow:auto;overscroll-behavior:contain}.guide-body p{font:400 16px/1.5 var(--body);margin:0 0 12px}.guide-body a{font-size:16px;color:var(--blue);text-decoration:underline}.guide-question{padding:12px;background:var(--sage-light);border-radius:12px;margin:12px 0!important}.guide-answer{padding-bottom:16px;border-bottom:1px solid var(--line)}
.guide-prompts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.guide-prompts button{font:400 16px/1.4 var(--body);background:white;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px;color:var(--blue)}
.guide-form{display:flex;gap:8px;padding:16px;border-top:1px solid var(--line)}.guide-form input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:16px}.guide-form button{font:600 16px var(--body);padding:8px 12px;border:0;border-radius:8px;background:var(--blue);color:white}
@media(max-width:900px){.service-story-grid,.content-two-column,.content-next,.contact-content-grid,.owner-profile{grid-template-columns:1fr;gap:24px}.option-columns{grid-template-columns:1fr;gap:16px}.content-card-grid,.review-grid{grid-template-columns:1fr}.site-content-page{padding-bottom:48px}.content-heading{margin-bottom:24px}.content-section{margin-top:40px;padding-top:32px}.content-next{padding:24px;margin-top:40px}.service-photo{max-height:440px}.owner-portrait{max-height:440px;width:min(100%,360px)}.site-content-page .content-heading h1{font-size:44px}.content-lede{font-size:18px}.breadcrumbs{margin-bottom:24px}.content-card{padding:24px}.project-process li{grid-template-columns:40px 1fr;gap:16px}.process-number{width:36px;height:36px}.contact-demo-note{margin-top:24px}#inquiryForm{padding:24px}}
@media(max-width:560px){.project-gallery,.project-comparison{grid-template-columns:1fr}.project-details{padding:24px}.project-filters{gap:8px}.content-actions{align-items:stretch;flex-direction:column}.site-guide-toggle{bottom:12px;right:12px}.site-guide{right:12px;bottom:76px}.site-content-page .content-heading h1{font-size:40px}.project-meta{gap:8px 16px}.project-card-copy{padding:16px 0}.site-content-page{padding-top:16px}}
